Robust Database Design - End of the World Production, LLC.
"I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation." - Frederick P. Brooks, Jr.
This tutorial will describe concepts behind designing database schemas. It is most applicable to relational databases, but can just as easily be applied to object databases (which the author hasn't personally dealt with yet).
Over the course of this tutorial we will build a simple database that might be used in an online store - to track customer purchases.
Who should read it? There are quite a few assumptions: you know what a relational database is, how it works, and how to use it. This is NOT a "how to use a database" tutorial. If you already know SQL and/or worked with some relation database, but have problems putting together designs, then this tutorial might be of help.
Databases organize and store information. However, before they can do that, we, as in humans, need to provide them with the structure for that information. That is, we, as in humans, need to figure out the structure ourselves - and this is where we, as in humans, very often get stuck and/or make lots of wrong decisions.
You must have noticed my emphasis on humans in the last paragraphs. Most humans have a problem when it comes to organizing their own thoughts! Not to mention organizing their thoughts on how some abstract information should be organized. As you can imagine, the process is full of pitfalls (and usually lots of frustration).
In addition to the essential difficulty of using our brains, the database usually stores data in a rigid format, with rules, and structures, and whatnot. However, the information that's in the database comes from the real world, which might not abide by the same rules the database imposes on it.
It is hard to make a good conceptual design. It is even harder to make that design work with reality.
Database design (as well as any sort of design) starts with requirements. We need to know what we are building, what information we are dealing with, and how we are dealing with it.
This is not a document on requirements gathering (which is a surprisingly difficult activity in itself), so we'll just skip along and assume you know what you're building and what information you're dealing with (and what you need to do with that information). Anyway, the process of defining the database schema starts with objects.
Knowing the information your system will deal with, you can start on the process of identifying objects. These are similar, but not quite the same objects as in Object Oriented Programming. These objects are distinct entities that exist by themselves. Usually, if you can touch it, it's an object. If you can describe something without referring to anything else, then that's usually an object too. Objects tend to exist for extended periods of time.
Make a list of any objects you can think of. Be careful not to include things that cannot exist by themselves.
So, starting with the design of our online store database, a "CUSTOMER" might be an object; a "PRODUCT" might also be an object. But "PRICE" is not an object, because it cannot exist by itself - it needs to be a "PRICE" of something (and that something will very likely be an object).
CUSTOMER - The person who purchases something.
PRODUCT - The product a customer might want to buy.
This may be all there is, but as we move along, we might want to add something later on. Design is a recurring process, and all too often we need to go back and reexamine what we have and what we don't have.
One thing to note at this point is that we are not dealing with SQL, or any sort of implementation details. Once we are happy with the design, implementing it is easy - so leave off writing SQL until later.
Now that we have a list of objects we can start figuring out how they interact. What happens when a customer makes a purchase?
An event is an interaction between one or more objects at a particular time. Events cannot exist by themselves (otherwise they'd be objects). Events must record the time of their occurrence - to differentiate themselves from other similar events but at different times. Of course they can also record other information about the occurrence.
Extending our previous example, in an online store, a "PURCHASE" is an obvious event. There might be others, and if we think of something, we'll add it later.
If we are unsure whether something is an object or an event, you can see if it requires a time-stamp. If something occurs at some time, then it's very likely an event. This does not mean that you cannot have a timestamp on an object - objects might have a creation time.
Now that you have a list of all objects and events, let's move on to properties.
Properties are the details or characteristics of our objects and events. A customer objects might have a "FISTNAME" and "LASTNAME", just to name a few. Events also have properties: the time they occurred!
Obviously we can add more details (like product "color", etc.), but let's leave it at that (no need to overcomplicate the example). Notice that PURCHASE has the time of purchase, AND who made the purchase (the CUSTOMER) AND what they bought (a bunch of PRODUCTS).
Ok, now that that's over, here are a few rules: Every object and event MUST have a unique ID. Whenever we say a PURCHASE event "has" a CUSTOMER, what we mean is that PURCHASE has a CUSTOMERID that uniquely identifies a particular customer.
That's more like it. Now it's clearer that PURCHASE only has an ID of a CUSTOMER and not the actual CUSTOMER.
What probably bugged you (or should have bugged you) from the previous example is that we have this "PRODUCTS" property in PURCHASE table. No, we cannot store a number of products just like that. We need to break that up into separate tables.
Anytime we need to know which products were purchased we just look them up in PURCHASE_DETAIL table using PURCHASEID of the PURCHASE. Neat, isn't it?
We simply replace "PHONES" with HPHONE (for Home Phone), WPHONE (for Work Phone), MPHONE (for Mobile Phone), and FPHONE (for Fax). If a customer doesn't have one of those, we just set it to NULL. No big deal. A bit simpler to deal with than with a separate table - unfortunately we can't always do that as is illustrated in the PRODUCT_DETAIL example above.
The above illustrates some basic concepts that you will more than likely encounter on EVERY project you ever come across. The remainder of this tutorial will illustrate more contrived (and sometimes very useful) techniques to solving some less than common problems.
A somewhat rare, but very interesting requirement is the need to maintain the value history of a particular property. For example, our PRODUCT table has a PRICE. What if a product goes on SALE? Purchases made before the sale must be charged the non-sale price, similarly, the sale price must be applied to purchases made during a sale.
There are several ways of handling this requirement. We can maintain a copy of the sale price along with the PURCHASE_DETAIL for that PRODUCT. Then you just change the PRODUCT.PRICE at will, and have CUSTOMERs purchase at the current prices. This design, while workable, is a bit too tedious when you need to analyze price histories. In order to observe price history you need to sift through PURCHASEs.
What if you had a sale for some item, and nobody bought it; how do you know the price was even lowed? (and by how much?).
Notice that in addition to all the Repeating Properties things, we also added "START_TIME". This signifies the start of this price. So to find the current price, all we need to do is look for last PRICE_HISTORY item.
(Note that you can consider a price change as an event that might happen on the PRODUCT, and in the end, you'll end up with more or less the same table layout).
Another relatively common situation is when objects have relationships to other objects. Consider a database with people objects - where PERSON objects may have family relations to other PERSON objects.
These types of relationships are very similar to events - except they are long term. Events happen at some instant in time, and go away. Object relationships are also formed at some time (so you might have a start date), and may be destroyed at some future time (so you might have an end date).
Think of a "MARRIED" or "PARENTOF" relationships, etc.
Then when you want to find if "John" is married to "Jane" do you have "John" being PERSON1_ID, or PERSON2_ID? Do you have a two way relationship - have two entries of MARRIED, in effect saying Jane is MARRIED to John, and John is MARRIED to Jane). Either way, you are making tradeoffs. If only one way relationship, then you need application logic to handle the reverse case.
Another alternative that avoids this issue is to implement these Repeating Properties as a separate table (as opposed to just listing two PERSONIDs in the MARRIED table). Either way, you are making tradeoffs (in this case, speed of accessing an extra table).
Tip: A good approach is to go with the cleanest design that avoids data duplication. During design, don't worry about the number of tables you have.
Another important thing to realize is that Object-To-Object relationships cannot be required. An object can exist all by itself! If you find yourself needing required relationships, then you need to reconsider what you're treating as an object and what as properties of that object.
DO NOT START OPTIMIZING BEFORE YOU ARE HAPPY WITH THE DESIGN!
Relational databases are beautifully designed. Your design should work, and be just plain beautiful (at least to you). Most optimization tends to increase speed but at the expense of the beauty of design. If you prematurely start optimizing, you'll just end up with a poorly designed mess.
Some techniques: adding indexes in appropriate places, reducing number of tables, introducing redundancy (there are a few others, but mostly they all revolve around these three).
In improving performance, the thing to try first (before you go and break your design) is to add indexes. These can provide an enormous boost in performance.
(Indexes are special database files that contain column values in sorted order (B-Trees), allowing you to easily find a record in logarithmic time).
Just consider, how long would it take you to find a name in an unsorted phone book? Many times, databases are faced with just such a challenge. An index provides a sorted view of the data making data lookup a fairly trial disk access (as opposed to looking through millions of records, the database may only look at a few to find a record).
If your database is sluggish, adding indexes on appropriate fields will more than likely improve performance.
Now, what are these appropriate fields (or columns)? If at any time you are doing a search on the value of some field, then you've identified a good candidate for an index.
Most primary and foreign keys should also be indexed (and most databases will actually do that by default). If you ever do searching by dates, then index those too.
Adding an index that you don't need will not decrease SELECT performance - the speed at which you retrieve records, but may severely impact INSERT/UPDATE/DELETE performance, because indexes need to be inserted and deleted along with the record. Watch out for these tradeoffs.
Keeping that in mind, you should not go crazy and add indexes on everything without thoroughly understanding why you need it there. While indexes increase retrieval performance, they also waste space. Indexes can easily occupy 10% to 50% of the total space used by a database.
Which brings us to another issue: Add indexes on simple integer values (dates, etc.) first. Avoid indexing character strings - unless you really need them. And, when you do go and index them, make sure you don't index the entire string, but some small sized prefix of the string. Read the database documentation on how to setup such things.
Another approach to improve performance (if indexes don't help) is reducing number of tables - or to put it another way: To redesign your database to use less tables (some may call this step: Refactoring).
This step is extremely dangerous and has very little chance of significantly improving performance (unless your initial design was horrible). Don't get it wrong, redesigning things is VERY beneficial (you leaned something in the first design iteration - you can improve things the second time around). However, redesigning with an explicit goal to use fewer tables is very dangerous, and has more chances of reducing design clarity (and ultimately performance) than increasing it.
Also remember that reduction at this stage may require additional logic in application code that uses the database (you're just shifting the performance burden away from the database to your clients).
Object-To-Object relations, as described above, are implemented via a separate table (often called a "link" table). If the relationship is many-to-many, then that's the way to do it. If the relationship is one-to-many, then you can eliminate the table, and simply have an ID field in one table.
Farther still, if the relationship is one-to-one, you might be able to absorb one object into another completely. This is usually the case with Generalization (or Specialization) relationships.
For example, a database that has ANIMAL and MAMMAL (which is a specialization of ANIMAL) might merge all MAMMAL fields into ANIMAL table.
Also, if two tables are similar enough, you can merge them into one table: table DOG and table CAT may be merged into a PET table, which will have all fields of DOG and CAT and a TYPE field, which will let the application know what we are dealing with.
The possibilities are endless - just remember not to go overboard, and still maintain a good design.
In good design, having redundancy is a big no-no. You should strive to eliminate every little byte that appears in two or more places. There is a good reason for it too: redundant data causes inconsistencies! (big problems) No matter how you prepare for it or try to avoid it, sooner or later, you will get caught.
That being said, sometimes bending the rules a bit provides a fairly big payoff. (it can also make your good & flexible "more tables than you think you need" design practical).
You must NEVER update the redundant data!
Redundant data should be strictly read only. Updates should occur only on the source data. Editing source should update redundant data.
Each piece of redundant data MUST be documented. You must document what is the true and ultimate source of data - and what is just a copy of it. You NEVER update the copy.
When the true value changes, you simply refresh the redundant fields with the new value (nice place for stored procedures). You can also do such a refresh via batch processing (at the end of the day or week). In fact, you should run such a batch process just for good measure - to ensure that your redundant data is EXACTLY what your source data says it should be.
Let me repeat (and stress this point): Redundant data must be read-only! Redundant data must be documented! Procedure for update must be documented! Recovery procedures must also be documented!
Now, after following all the guidelines, you should still be prepared for inconsistency. This will happen no matter what (according to Murphy). Someone updates a value, but still sees the old value on the screen. Make sure that redundant data is not critical, and can handle being inconsistent for some periods of time.
Good candidates for redundancy are: totals, sums, averages, or any value the database (or your application) computes from the data already in the database.
As an example, let's consider our PRODUCT price dilemma. Most of the time we just want to see the price, but yet we also want to maintain the history of price changes. Previously we broke up the idea into two tables, saying that one of them will maintain the history of the PRICE field. That's all fine, except it takes an extra sub-query (and more complex application logic) to retrieve the current price.
Where PRODUCT.PRICE is a redundant field of the latest price derived from finding the last entry in PRICE_HISTORY table for that PRODUCTID. Now, on an average use, we never have to even know PRICE_HISTORY table is even there. We deal with PRODUCTs and their PRICEs.
However, when we need to modify the PRICE, we need to know (and it must be clearly documented) that we need to add the price to the PRICE_HISTORY table. At that point, either a batch process, or a stored procedure (or just our application logic) will re-compute the price for the PRODUCT table.
Hopefully you learned something from reading this tutorial.
Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Riverst. It is a rather large book, which not only covers all the common data structures, but most common algorithms as well. A really nice book to have as a reference.
Discrete Mathematics, Forth Edition, by Richard Johnsonbaugh. A very readable book on math as it relates to computers. Covers some typical data structures, including trees, while illustrating some interesting algorithms that use them. I like this book mostly for it's simple illustration of some algorithms. If all books seem too high level, this is the one to get.
Database System Concepts by Abraham Silberschatz, Henry F. Korth, S. Sudarshan. The usual database book. You'll need one of these, since in the real world, most companies require a whole lot of DB experience.
Java Database Development, by Martin Rinehart. A really cool book that shows you how to implement your own database, what algorithms and data structures are involved in databases.
Shalva S. Landy for some spelling/grammar corrections.
Alex Beylin for noting that adding indexes slows down insert/update/delete.
The only sure way to find me, is to use my e-mail @theparticle.com. Yep, it's my domain which will hopefully stay with me.


text:
TRANSLATE THIS PAGE into GERMAN | SPANISH | FRENCH | ITALIAN | PORTUGUESE
HOME | REGISTER | FORGOTTEN PASSWORD | SEARCH or BROWSE | RECOMMEND | EDIT | LINKS | MOST RECENT
2 tracks performed by The Shangri-Las have been recommended.
Past, Present & Future performed by The Shangri-Las 1966
Recommended by 4givemyNglish [profile]
Haunting melody inspired by the Beethoven's Moonlight Sonata.
Lyrics are truly depressing for a so called "girls band" and this song so unique has been qualified as one of the saddest ever made in the sixties. The Shangri-Las is a fascinating and under-rated band that deserves to be re-discovered. Quick list of recommended songs : Remember (Walkin' in the Sand) -yes they did this too!-, I Can Never Go Home Anymore, Give Us Your Blessing, Leader of the Pack, etc...
available on CD - The Best of the Shangri-Las (Polygram)
18 May 04 ·delicado: This song is utter genius. 'just don't try to touch me... because that will never happen again'. They are indeed under-rated. It's strange really. There are CD compilations out there, but they all seem to marketed in a budget kind of way.
18 May 04 ·jeanette: There's hot debate as to what this song means... I've read that it's about a rape survivor which kind of makes sense but I think it has too much mystery to it to define completely. George "Shadow" Morton surpasses even the greatest hopes for girl-group trash-drama. As to the compilations, there's a great one on RPM called "Myrmidons Of Melodrama". Strangely, its available in two different covers, with slightly altered tracklisting (a few songs on one not on the other and vice versa) but either one contains all their best tracks and some amusing "Radio Spots" with Mary Weiss (lead singer) giving tips on how to behave on a date. "Don't barge on ahead like a baby elephant" she advises; "you'll get attention all right, but it won't be favourable".
07 Jul 04 ·milhouse-paris: The two different versions of "Myrmidons of Melodrama" are quite different, not only because of the tracklisting, but also becouse the most recent one(2002, by RPM) has stereo versions of 5 songs. I'm not sure that these songs sound better in stereo than in mono...
27 Apr 05 ·delicado: I now have the newer 'Myrmidons' comp. So many great tracks. My favorite bit of this song is right at the end when she says "I'm all packed up and I'm on my way - and I'm going to fall in love ... but at the moment, it doesn't look good ... At the moment, it will never happen again."
Dressed In Black performed by The Shangri-Las 1966
Recommended by m.ace [profile]
"Dressed in black, he walks alone, a shadow in the night." The Shangri-Las death trip reached a powerful climax in this eerie song of loss and lingering. Funereal piano chords balanced by surging choruses and a closing spoken section that leaves you as weak as the sadly wounded narrator. If this one doesn't get to you, you ain't got a heart.
from the single Dressed In Black (Red Bird)
available on CD - The Best Of The Shangri-Las (Mercury)
Try a search:
Recommend your favorite tracks by The Shangri-Las
© zarmi 2000-2019

redpajama_set_name: RedPajamaCommonCrawl


text:
What the government shutdown means for employers
Ryan Golden for HR Dive
Katie Clarey @kclarey21
The partial government shutdown may not have shuttered every federal agency, but it has partially closed the U.S. Department of Justice (DOJ) and the U.S. Department of Homeland Security (DHS). Taking effect at 12 a.m. on Saturday, Dec. 22, the shutdown also affected the U.S. Equal Employment Opportunity Commission (EEOC).
The E-Verify system, which matches employee information with records from the Social Security Administration and DHS, has become unavailable. According to a message on its website, the site "will not be actively managed" due to "the lapse in federal funding." This means employers cannot access their E-Verify accounts to enroll in E-Verify; create an E-Verify case; view or take action on any case; add, delete or edit any user account; or edit company information or terminate accounts, among other actions, according to its website. The website clarifies that employers still generally need to complete Form I-9 no later than three business days after an employee begins work and comply with all other Form I-9 requirements outlined by the Handbook for Employers and on I-9 Central.
The EEOC is also closed due to the partial shutdown, according to its website. When the government shut down for 16 days in 2013, the EEOC received 3,100 charges of discrimination, according to a report from Fisher Phillips. EEOC's website encourages individuals to submit discrimination claims to honor statutes of limitation. "The time limits depend on where the employer is located or where the alleged discrimination took place," the website said. "Generally, charges have to be filed within 300 days of the incident... These time limits may not be extended because of the shut-down." Employers with questions about current or closed charges will not be able to procure information throughout the shutdown.
The partial shutdown does not translate to relaxed compliance standards for employers. As the E-Verify and EEOC websites specified, employers and employees will need to continue to meet their responsibilities as determined by both entities.
Employers must collect all Form I-9 information in a timely fashion, as the E-Verify website stipulated, but will not be able to create a case for each new hire in E-Verify until the system is available again. They will not be penalized for not doing so throughout the shutdown, according to a blog post by Dawn Lurie, senior counsel at Seyfarth Shaw LLP. Employers will need to do so after E-Verify is restored, Lurie wrote, adding that she expects DHS' U.S. Citizenship and Immigration Services "to issue guidance — as they have during prior shutdowns — suspending the 'three-day rule' which mandates creating a query within three day of starting work for pay, for any case affected cases. Historically, employees caught in the Tentative Nonconfirmation (TNC) process were also provided an extended period to resolve any issues; the same is expected this time."
Employers should also note that they may not take any adverse action against affected employees, Lurie said, even if an employee's status rests in the TNC process. "Employees should be allowed to begin or continue to work during this time, in spite of the E-Verify delays," she said.
Employers with charges pending at EEOC will want to note the backlog of charges growing with each passing day of partial shutdown. "The bottom line is that the backlog that existed at the EEOC will continue to grow because of this delay; mediations are going to get rescheduled and action is just going to take longer," Daniel Schwartz, partner at Shipman & Goodwin LLP, wrote in a blog post.
Follow Katie Clarey on Twitter
Filed Under: Legal


text:
Bank of England facts for kids
London, EC2
27 July 1694; 325 years ago (1694-07-27)
Central bank of
ISO 4217 Code GBP
£408 billion
Base borrowing rate
Base deposit rate
www.bankofengland.co.uk
The Bank of England, formally the Governor and Company of the Bank of England, is the central bank of the United Kingdom and the model on which most modern central banks have been based. Established in 1694, it is the second oldest central bank in the world, after the Sveriges Riksbank, and the world's 8th oldest bank. It was established to act as the English Government's banker and is still one of the bankers for the Government of the United Kingdom. The Bank was privately owned by stockholders from its foundation in 1694 until it was nationalised in 1946.
In 1998, it became an independent public organisation, wholly owned by the Treasury Solicitor on behalf of the government, with independence in setting monetary policy.
The Bank is one of eight banks authorised to issue banknotes in the United Kingdom, but it has a monopoly on the issue of banknotes in England and Wales and regulates the issue of banknotes by commercial banks in Scotland and Northern Ireland.
The Bank's Monetary Policy Committee has devolved responsibility for managing monetary policy. The Treasury has reserve powers to give orders to the committee "if they are required in the public interest and by extreme economic circumstances", but such orders must be endorsed by Parliament within 28 days. The Bank's Financial Policy Committee held its first meeting in June 2011 as a macro prudential regulator to oversee regulation of the UK's financial sector.
The Bank's headquarters have been in London's main financial district, the City of London, on Threadneedle Street, since 1734. It is sometimes known by the metonym The Old Lady of Threadneedle Street or The Old Lady, a name taken from the legend of Sarah Whitehead, whose ghost is said to haunt the Bank's garden. The busy road junction outside is known as Bank junction.
As a regulator and central bank, the Bank of England has not offered consumer banking services for many years, but it still does manage some public-facing services such as exchanging superseded bank notes. Until 2016, the bank provided personal banking services as a popular privilege for employees.
Functions of the Bank
Monetary stability
Asset purchase facility
Banknote issues
The sealing of the Bank of England Charter (1694)
England's crushing defeat by France, the dominant naval power, in naval engagements culminating in the 1690 Battle of Beachy Head, became the catalyst for England's rebuilding itself as a global power. England had no choice but to build a powerful navy. No public funds were available, and the credit of William III's government was so low in London that it was impossible for it to borrow the £1,200,000 (at 8% p.a.) that the government wanted.
To induce subscription to the loan, the subscribers were to be incorporated by the name of the Governor and Company of the Bank of England. The Bank was given exclusive possession of the government's balances, and was the only limited-liability corporation allowed to issue bank notes. The lenders would give the government cash (bullion) and issue notes against the government bonds, which can be lent again. The £1.2m was raised in 12 days; half of this was used to rebuild the navy.
As a side effect, the huge industrial effort needed, including establishing ironworks to make more nails and advances in agriculture feeding the quadrupled strength of the navy, started to transform the economy. This helped the new Kingdom of Great Britain – England and Scotland were formally united in 1707 – to become powerful. The power of the navy made Britain the dominant world power in the late 18th and early 19th centuries.
The establishment of the bank was devised by Charles Montagu, 1st Earl of Halifax, in 1694. The plan of 1691, which had been proposed by William Paterson three years before, had not then been acted upon. (It is worth noting though, that 28 years earlier, in 1636, Financier to the king Philip Burlamachi had proposed exactly the same idea in a letter addressed to Sir Francis Windebank.) He proposed a loan of £1.2m to the government; in return the subscribers would be incorporated as The Governor and Company of the Bank of England with long-term banking privileges including the issue of notes. The Royal Charter was granted on 27 July through the passage of the Tonnage Act 1694. Public finances were in so dire a condition at the time that the terms of the loan were that it was to be serviced at a rate of 8% per annum, and there was also a service charge of £4,000 per annum for the management of the loan. The first governor was Sir John Houblon, who is depicted in the £50 note issued in 1994. The charter was renewed in 1742, 1764, and 1781.
Satirical cartoon protesting against the introduction of paper money, by James Gillray, 1797. The "Old Lady of Threadneedle St" (the Bank personified) is ravished by William Pitt the Younger.
The Bank's original home was in Walbrook, a street in the City of London, where during reconstruction in 1954 archaeologists found the remains of a Roman temple of Mithras (Mithras is – rather fittingly – said to have been worshipped as, amongst other things, the God of Contracts); the Mithraeum ruins are perhaps the most famous of all 20th-century Roman discoveries in the City of London and can be viewed by the public.
The Bank moved to its current location in Threadneedle Street in 1734, and thereafter slowly acquired neighbouring land to create the edifice seen today. Sir Herbert Baker's rebuilding of the Bank, demolishing most of Sir John Soane's earlier building, was described by architectural historian Nikolaus Pevsner as "the greatest architectural crime, in the City of London, of the twentieth century".
When the idea and reality of the National Debt came about during the 18th century, this was also managed by the Bank. By the charter renewal in 1781 it was also the bankers' bank – keeping enough gold to pay its notes on demand until 26 February 1797 when war had so diminished gold reserves that - following an invasion scare caused by the Battle of Fishguard days earlier - the government prohibited the Bank from paying out in gold by the passing of the Bank Restriction Act 1797. This prohibition lasted until 1821.
The 1844 Bank Charter Act tied the issue of notes to the gold reserves and gave the Bank sole rights with regard to the issue of banknotes. Private banks that had previously had that right retained it, provided that their headquarters were outside London and that they deposited security against the notes that they issued. A few English banks continued to issue their own notes until the last of them was taken over in the 1930s. Scottish and Northern Irish private banks still have that right.
The bank acted as lender of last resort for the first time in the panic of 1866.
The last private bank in England to issue its own notes was Thomas Fox's Fox, Fowler and Company bank in Wellington, which rapidly expanded, until it merged with Lloyds Bank in 1927. They were legal tender until 1964. There are nine notes left in circulation; one is housed at Tone Dale House Wellington.
The main Bank of England façade, c. 1980
Britain remained on the gold standard until 1931 when the gold and foreign exchange reserves were transferred to the Treasury, but they continued to be managed by the Bank.
During the governorship of Montagu Norman, from 1920–44, the Bank made deliberate efforts to move away from commercial banking and become a central bank. In 1946, shortly after the end of Norman's tenure, the bank was nationalised by the Labour government.
After 1945 the Bank pursued the multiple goals of Keynesian economics, especially "easy money" and low interest rates to support aggregate demand. It tried to keep a fixed exchange rate, and attempted to deal with inflation and sterling weakness by credit and exchange controls.
In 1977, the Bank set up a wholly owned subsidiary called Bank of England Nominees Limited (BOEN), a private limited company, with two of its hundred £1 shares issued. According to its Memorandum & Articles of Association, its objectives are: "To act as Nominee or agent or attorney either solely or jointly with others, for any person or persons, partnership, company, corporation, government, state, organisation, sovereign, province, authority, or public body, or any group or association of them...." Bank of England Nominees Limited was granted an exemption by Edmund Dell, Secretary of State for Trade, from the disclosure requirements under Section 27(9) of the Companies Act 1976, because "it was considered undesirable that the disclosure requirements should apply to certain categories of shareholders." The Bank of England is also protected by its Royal Charter status, and the Official Secrets Act.
In 1981 the reserve requirement for banks to hold a minimum fixed proportion of their deposits as reserves at the Bank of England was abolished: see reserve requirement for more details. The contemporary transition from Keynesian economics to Chicago economics was analysed by Kaldor in The Scourge of Monetarism
On 6 May 1997, following the 1997 general election which brought a Labour government to power for the first time since 1979, it was announced by the Chancellor of the Exchequer, Gordon Brown, that the Bank would be granted operational independence over monetary policy. Under the terms of the Bank of England Act 1998 (which came into force on 1 June 1998), the Bank's Monetary Policy Committee was given sole responsibility for setting interest rates to meet the Government's Retail Prices Index (RPI) inflation target of 2.5%. The target has changed to 2% since the Consumer Price Index (CPI) replaced the Retail Prices Index as the Treasury's inflation index. If inflation overshoots or undershoots the target by more than 1%, the Governor has to write a letter to the Chancellor of the Exchequer explaining why, and how he will remedy the situation.
The success of inflation targeting in the United Kingdom has been attributed to the Bank's focus on transparency. The Bank of England has been a leader in producing innovative ways of communicating information to the public, especially through its Inflation Report, which have been emulated by many other central banks.
Independent central banks that adopt an inflation target are known as Friedmanite central banks. Inflation targets combined with central bank independence have been characterised as a "starve the beast" strategy creating a lack of money in the public sector. This change in Labour's politics was described by Sidelsky in The Return of the Master as a mistake and as an adoption of the Rational Expectations Hypothesis as promulgated by Walters
The handing over of monetary policy to the Bank had been a key plank of the Liberal Democrats' economic policy since the 1992 general election. Conservative MP Nicholas Budgen had also proposed this as a private member's bill in 1996, but the bill failed as it had the support of neither the government nor the opposition.
Mark Carney assumed the post of Governor of the Bank of England on 1 July 2013. He succeeded Mervyn King, who took over on 30 June 2003. Carney, a Canadian, will serve an initial five-year term rather than the typical eight, and will seek UK citizenship. He is the first non-British citizen to hold the post. As of January 2014, the Bank also has four Deputy Governors.
There are two main areas which are tackled by the Bank to ensure it carries out these functions efficiently:
Bank House, the Bank of England offices on King Street in Leeds.
NOTE: It is important to note that "monetary" and "financial" are synonyms.
Stable prices and confidence in the currency are the two main criteria for monetary stability. Stable prices are maintained by seeking to ensure that price increases meet the Government's inflation target. The Bank aims to meet this target by adjusting the base interest rate, which is decided by the Monetary Policy Committee, and through its communications strategy, such as publishing yield curves.
Maintaining financial stability involves protecting against threats to the whole financial system. Threats are detected by the Bank's surveillance and market intelligence functions. The threats are then dealt with through financial and other operations, both at home and abroad. In exceptional circumstances, the Bank may act as the lender of last resort by extending credit when no other institution will.
The Bank works together with other institutions to secure both monetary and financial stability, including:
HM Treasury, the Government department responsible for financial and economic policy; and
Other central banks and international organisations, with the aim of improving the international financial system.
The 1997 Memorandum of Understanding describes the terms under which the Bank, the Treasury and the FSA work toward the common aim of increased financial stability. In 2010 the incoming Chancellor announced his intention to merge the FSA back into the Bank. As of 2012, the current director for financial stability is Andy Haldane.
The Bank acts as the government's banker, and it maintains the government's Consolidated Fund account. It also manages the country's foreign exchange and gold reserves. The Bank also acts as the bankers' bank, especially in its capacity as a lender of last resort.
The Bank has a monopoly on the issue of banknotes in England and Wales. Scottish and Northern Irish banks retain the right to issue their own banknotes, but they must be backed one for one with deposits at the Bank, excepting a few million pounds representing the value of notes they had in circulation in 1845. The Bank decided to sell its banknote printing operations to De La Rue in December 2002, under the advice of Close Brothers Corporate Finance Ltd.
Since 1998, the Monetary Policy Committee (MPC) has had the responsibility for setting the official interest rate. However, with the decision to grant the Bank operational independence, responsibility for government debt management was transferred in 1998 to the new Debt Management Office, which also took over government cash management in 2000. Computershare took over as the registrar for UK Government bonds (gilt-edged securities or gilts) from the Bank at the end of 2004.
The Bank used to be responsible for the regulation and supervision of the banking and insurance industries. This responsibility was transferred to the Financial Services Authority in June 1998, but after the financial crises in 2008 new banking legislation transferred the responsibility for regulation and supervision of the banking and insurance industries back to the Bank.
In 2011 the interim Financial Policy Committee (FPC) was created as a mirror committee to the MPC to spearhead the Bank's new mandate on financial stability. The FPC is responsible for macro prudential regulation of all UK banks and insurance companies.
To help maintain economic stability, the Bank attempts to broaden understanding of its role, both through regular speeches and publications by senior Bank figures, a semiannual Financial Stability Report, and through a wider education strategy aimed at the general public. It maintains a free museum and runs the Target Two Point Zero competition for A-level students.
The Bank has operated, since January 2009, an Asset Purchase Facility (APF) to buy "high-quality assets financed by the issue of Treasury bills and the DMO's cash management operations" and thereby improve liquidity in the credit markets. It has, since March 2009, also provided the mechanism by which the Bank's policy of quantitative easing (QE) is achieved, under the auspices of the MPC. Along with the managing the £200 billion of QE funds, the APF continues to operate its corporate facilities. Both are undertaken by a subsidiary company of the Bank of England, the Bank of England Asset Purchase Facility Fund Limited (BEAPFF).
Main page: Bank of England note issues
The Bank has issued banknotes since 1694. Notes were originally hand-written; although they were partially printed from 1725 onwards, cashiers still had to sign each note and make them payable to someone. Notes were fully printed from 1855. Until 1928 all notes were "White Notes", printed in black and with a blank reverse. In the 18th and 19th centuries White Notes were issued in £1 and £2 denominations. During the 20th century White Notes were issued in denominations between £5 and £1000.
Until the mid-19th century, commercial banks were allowed to issue their own banknotes, and notes issued by provincial banking companies were commonly in circulation. The Bank Charter Act 1844 began the process of restricting note issue to the Bank; new banks were prohibited from issuing their own banknotes and existing note-issuing banks were not permitted to expand their issue. As provincial banking companies merged to form larger banks, they lost their right to issue notes, and the English private banknote eventually disappeared, leaving the Bank with a monopoly of note issue in England and Wales. The last private bank to issue its own banknotes in England and Wales was Fox, Fowler and Company in 1921. However, the limitations of the 1844 Act only affected banks in England and Wales, and today three commercial banks in Scotland and four in Northern Ireland continue to issue their own banknotes, regulated by the Bank.
At the start of the First World War, the Currency and Bank Notes Act 1914 was passed, which granted temporary powers to HM Treasury for issuing banknotes to the values of £1 and 10/- (ten shillings). Treasury notes had full legal tender status and were not convertible into gold through the Bank; they replaced the gold coin in circulation to prevent a run on sterling and to enable raw material purchases for armament production. These notes featured an image of King George V (Bank of England notes did not begin to display an image of the monarch until 1960). The wording on each note was:
UNITED KINGDOM OF GREAT BRITAIN AND IRELAND – Currency notes are Legal Tender for the payment of any amount – Issued by the Lords Commissioners of His Majesty's Treasury under the Authority of Act of Parliament (4 & 5 Geo. V c.14).
Treasury notes were issued until 1928, when the Currency and Bank Notes Act 1928 returned note-issuing powers to the banks. The Bank of England issued notes for ten shillings and one pound for the first time on 22 November 1928.
During the Second World War the German Operation Bernhard attempted to counterfeit denominations between £5 and £50, producing 500,000 notes each month in 1943. The original plan was to parachute the money into the UK in an attempt to destabilise the British economy, but it was found more useful to use the notes to pay German agents operating throughout Europe. Although most fell into Allied hands at the end of the war, forgeries frequently appeared for years afterwards, which led banknote denominations above £5 to be removed from circulation.
In 2006, over £53 million in banknotes belonging to the Bank was stolen from a depot in Tonbridge, Kent.
Modern banknotes are printed by contract with De La Rue Currency in Loughton, Essex.
The Bank is custodian to the official gold reserves of the United Kingdom and around 30 other countries. The vault, beneath the City of London, covers a floor space greater than that of the third-tallest building in the City, Tower 42, and needs keys that are three feet (90 cm) long to open. As of April 2016, the Bank held around 400,000 bars, which is equivalent to 5,134 tonnes of gold. These gold deposits were estimated in January 2017 to have a current market value of £161,000,000,000. These estimates suggest the vault could hold as much as 3% of the gold mined throughout human history.
Bank of England Facts for Kids. Kiddle Encyclopedia.


text:
Sports > High school sports
State football: Gonzaga Prep opens with tough test at fourth-seeded Graham Kapowsin
UPDATED: Wed., Nov. 13, 2019
Mead safety Liam Dyck tries to hold on as Gonzaga Prep running back Chase Becker picks up a first down in the first quarter Oct. 4, 2019, at G-Prep. (Colin Mulvany / The Spokesman-Review)
By Justin Reed The Spokesman-Review
After winning the Greater Spokane League 4A football title, the Gonzaga Prep Bullpups (7-2) handled Hanford last week 50-36 to secure a spot in the State 4A bracket.
G-Prep was given the 13th seed and a matchup at the fourth-seeded Graham-Kapowsin Eagles (10-0) on Saturday at 1 p.m.
The Bullpups are an extremely run-heavy team, featuring quarterback Ryan McKenna, who ran for 1,097 yards and nine touchdowns. Usually in the backfield with him are Jaden Ortega, 659 yards with eight touchdowns, and Robert Collier Jr., 448 yards with 12 touchdowns.
McKenna only has 40 pass attempts on the season.
As for the Eagles, they have more balance, averaging 165 yards through the air and 223 yards on the ground a game.
Mt. Spokane (8-2) vs. Peninsula (8-2), 7 p.m. Friday at Albi Stadium: The eighth-seeded Wildcats get to stay in Spokane as the ninth-seeded Seahawks travel across the state.
Mt. Spokane took care of Kamiakin last week, winning 49-20. Peninsula also had no problems last week as the Seahawks downed Arlington 35-0.
Expect the Wildcats to lean heavily on their all-purpose star running back Kannon Katzer.
Washougal (6-4) at Clarkston (9-1), 2 p.m. Saturday: The Clarkston Bantams boast Great Northern League co-offensive MVP Kaeden Frazier, co-defensive MVP Tru Allen and coach of year Brycen Bye.
Their first test after securing those honors will be the Panthers, who knocked off W.F. West 28-7 last week. The Bantams were a 48-27 winner over Toppenish.
Both teams have strong passing attacks, averaging over 220 yards a game, but Clarkston holds the edge on the ground by over 40 yards.
Zillah (8-1) at Deer Park (8-0), 6 p.m. Friday: Winners of the Northeast 1A league, the sixth-seeded Stags host the 11th-seeded Leopards.
For Deer Park, Matthew Jorgensen is the main back, averaging over 100 yards a game on the ground with seven touchdowns this year.
Both teams keep their opponents out of the end zone. Deer Park allows just over nine points a game while the Leopards allow 10 points.
Colville (7-2) at Omak (9-0), 1 p.m. Saturday: The ninth-seeded Colville Indians begin their trek toward a second consecutive state appearance against the eighth-seeded Pioneers. To attain that goal, they'll have to ride their two offensive juggernauts.
Receiver Paul Skirko and running back Grant Michaliszyn have combined for 1,571 rushing yards with 21 touchdowns and 967 receiving yards with 14 touchdowns.
The Pioneers have a rock-solid defense, allowing only 11 points a game. They beat Okanogan 41-13 to advance to the state tournament.
Toledo (7-3) at Colfax (7-2), noon Saturday: The seventh-seeded Bulldogs earned the opportunity to host a game against the 10th-seeded Indians, marking Colfax's first state appearance since 2013.
Colfax punched its ticket after beating Lind/Ritzville-Sprague 59-13 in a crossover.
Toledo defeated Raymond 47-9 to reach state.
The Indians were a state semifinalist last season before bowing out to Kalama.
Colfax had the better offense during the season, outscoring the Indians 303-283 and holding its opponents to 165 points compared to 186 for the Indians.
Davenport (6-4) at Adna (6-3), 1 p.m. Saturday: The 12th-seeded Davenport Gorillas travel to face the fifth-seeded Pirates in a battle of two different playing styles. Davenport sports a large physical offensive line, which paves the way for running back Gavin Boggs and Alex Plasensia.
Adna has more balance, funneling the offense through Braden Thomas and Cole Fay.
Davenport has scored 27.8 points while Adna sits at 16.3.
The Gorillas beat Liberty last week to advance to the tournament after losing to the Lancers at the beginning of October. Davenport has won four of its last five games.
The Pirates defeated Ocosta 54-14 in a crossover game last week.
Tri-Cities Prep (9-1) at Asotin (8-1), 6 p.m. Friday: In the battle of the eighth-seeded Asotin Tigers and ninth-seeded Jaguars, it will come down to Asotin's defense against TCP's offense.
The Jaguars scored 446 points in their 10 games, averaging over 44 points a game.
Asotin will lean on its running backs, Dylan Landrus and Brayden Barnea, who both have run for over 6 yards a carry and five and six touchdowns, respectively.
Published: Nov. 13, 2019, 7:45 p.m. Updated: Nov. 13, 2019, 9 p.m.
Tags: first round, football, gonzaga prep bullpups, high school sports, nwpreps, nwprepsnow, sports, state football
Top stories in High school sports
Pack the Palace: Emma Main, Tyson Degenhart lead Mt. Spokane to sweep over Mead
GSL girls: Tyler McCliment-Call scores 29 points, University beats Rogers …
GSL boys: Dylan Darling, Gavin Gilstrap help balanced Central Valley retain perfect league record …
Boys basketball: Tyrell Brown's 22 points enough for East Valley to top West Valley …
Girls basketball: Hailey Marlow's go-ahead basket with 10 seconds left gives West Valley win over East Valley …
Rubber Chicken: Spink siblings help Ferris boys and girls sweep Lewis and Clark …
Student's arrest at EWU protest prompts First Amendment arguments …
National Park Service, Upper Skagit Indian Tribe investigating site desecration …


California is now offering an Earned Income Tax Credit (EITC) for working low-income families and individuals. In addition to the federal EITC, the new state Earned Income Tax Credit will put more money in the pockets of those who need it most. For more information, visit http://caleitc4me.org/get-it/.
If you qualify for the CA EITC and the amount of the credit is greater than the tax you owe, you will receive a refund.
The state Earned Income Tax Credit is available to California households with adjusted gross incomes of less than $6,717 if there are no qualifying children, less than $10,087 if there is one qualifying child, or less than $14,161 if there are two or more qualifying children. See below for more qualifications.
You must file a state tax return, even if you do not owe any tax or are not otherwise required to file.
You, your spouse, and any qualifying children must each have a social security number issued by the Social Security Administration that is valid for employment.
You must file using the single, married/registered domestic partner (RDP) filing jointly, or head of household filing status. The "married/RDP filing separately" status may not be used.
Have an individual that meets all of the qualifying child rules for you or your spouse if you file a joint return.
Your principal residence must be in California for more than half the tax year.
Both your adjusted gross income and earned income (defined above) must be no more than: $6,717 if there are no qualifying children.
$10,087 if there is one qualifying child.
$14,161 if there are two or more qualifying children.
Your investment income, such as interest, dividends, royalties, and capital gains cannot exceed $3,471 for the entire tax year.


You can configure how traffic is routed out of the Smoothwall, including whether it is hidden behind an IP address that the Smoothwall "owns" (see Allocating IP Addresses to Interfaces ). This is source Network Address Translation (NAT).
Source NAT-ing is needed when accessing the Internet. It can either by done by the Smoothwall, or by another device between the Smoothwall and the Internet such as the gateway, or both. Typically, source NAT-ing is carried out by the gateway.
You can choose to have local traffic, that is, traffic for installed services such as Guardian (see About Guardian), or Anti-Spam (see About Anti-Spam), use a load balancing pool.
1. Go to Network > Configuration > Source NAT & LLB rules.
The Smoothwall provides a drop-down list for every service that can be load balanced.
Upon installation, the Smoothwall defines a rule for each gateway configured, and a "catch-all" rule for internal networks.
Note: If the Smoothwall is configured to use a single gateway, additional source NAT rules are not required beyond the predefined rules. If using an Secure Web Gateway Smoothwall and more than one gateway is used, you must ensure each gateway is assigned to a rule. Unified Threat Management Smoothwalls load balances traffic between all configured gateways.
3. New rules are Enabled by default. If required, clear the Status check box to create a disabled rule.
4. If required, select those Source IP addresses traffic is received from as identified in the network packet. Leave blank to source NAT traffic for all IP addresses.
Use either the Search facility at the top of the box, or use the scroll bar to locate the relevant address objects or object groups. A combination of both can be used in a rule.
Note that any address objects and object groups created here are also made available for use in future rules, or existing rule amendments.
• Click Cancel to exit from this rule creation.
Return to this page to configure a rule with the new address objects.
If an object was mistakenly added, click to remove the object.
5. If required, select those Destination IP addresses traffic is destined for. Leave blank to source NAT traffic to all IP addresses.
6. Select the Services relevant for this rule. Leave blank to include all services.
Use either the Search facility at the top of the box, or use the scroll bar to locate the relevant service objects or object groups. A combination of both can be used in a rule.
If no services are selected for this rule, Any is shown under Services in the Source NAT rules table, meaning all services received are source NAT-ed.
Select the relevant LLB pool from the Link Load Balancing pool or Local IP address drop-down.
Select the relevant Gateway to route traffic to. If you have more than one gateway configured, ensure you select a gateway; do not select Automatic.
8. If required, configure an optional Comment for this rule.
2. From the Source NAT policies table, highlight the rule.
4. Adjust the configuration as required. For a detailed description of each setting, see Adding Source NAT Rules.
Source NAT rules are applied in the top-down order they are listed in the Source NAT rules table. Once a match is found, no further searching is made.
A blue line wraps around the moved row, to indicate it has changed position.
Note: Once Save is clicked, you cannot undo the changes by clicking Cancel.
2. From the Source NAT rules table, highlight the relevant rule.


text:
Q: Bundling opencv as a static library gives thousands of undefined references I have a library that I am trying to link with openCV (and I think I did successfully) into one big dynamic library. I then try and add an executable and link everything together to test the library and I get 2000-3000 errors each saying
In function `________________`: undefined reference to `________`

some examples are:
/path/to/libs/libopencv_features2d.a(matchers.cpp.o): In function `cv::FlannBasedMatcher::read(cv::FileNode const&)':
matchers.cpp:(.text._ZN2cv17FlannBasedMatcher4readERKNS_8FileNodeE+0x227): undefined reference to `cv::flann::IndexParams::setAlgorithm(int)'

/path/to/libs/libopencv_videoio.a(cap_gstreamer.cpp.o)` In function `CvCapture_GStreamer::getProperty(int) const':
cap_gstreamer.cpp:(.text._ZNK19CvCapture_GStreamer11getPropertyEi+0x8b): undefined reference to `gst_element_query_position'

/path/to/lib/libopencv_core.a(stat.cpp.o): In function `cv::norm(cv::_InputArray const&, int, cv::_InputArray const&)':
stat.cpp:(.text._ZN2cv4normERKNS_11_InputArrayEiS2_+0x1d27): undefined reference to `ippicviNorm_L1_32f_C1MR'
stat.cpp:(.text._ZN2cv4normERKNS_11_InputArrayEiS2_+0x1dab): undefined reference to `ippicviNorm_L1_8u_C1MR'

My cmake file which runs:
project(SDK-build)
cmake_minimum_required(VERSION 2.8)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(MYLIB_SRC
    file1.cpp
    file2.cpp
    file3.cpp
)

add_library(gesture SHARED ${MYLIB_SRC})

cmake_policy(SET CMP0015 NEW)
link_directories(./opencvlib-wgstreamer)
set(OPENCV_LIBS
    libopencv_calib3d.a
    libopencv_core.a
    libopencv_features2d.a
    libopencv_highgui.a
    libopencv_imgcodecs.a
    libopencv_imgproc.a
    libopencv_ml.a
    libopencv_objdetect.a
    libopencv_photo.a
    libopencv_video.a
    libopencv_videoio.a
)

set(TEST_SRC
    test.cpp
)

add_executable(gesture_test ${TEST_SRC})

#build library
#target_link_libraries(gesture -Wl,-whole-archive ${OPENCV_LIBS} -Wl,--no-whole-archive)

#build library with executable
target_link_libraries(gesture_test gesture -Wl,-whole-archive ${OPENCV_LIBS} -Wl,--no-whole-archive)

When I use the first target_link_libraries, everything builds and make has no problem executing, but linking with the file with main() causes the massive confusion. Any suggestions I've been banging my head over this for  hours. I also tried several combinations of compiling opencv, using both WITH_IPP=ON, WITH_IPP=OFF, and WITH_GSTREAMER_ON

A: You have to specify the libraries in the correct order.
See here for more information.
Edit I see you are using -Wl-whole-archive which I believe is an other possible way to fix the problem, so maybe I'm wrong

redpajama_set_name: RedPajamaStackExchange


Pytest is a very complete test framework for Python. I like how you can write a basic unittest.TestCase and the py.test test runner command will inject all its magic at runtime, without you having to directly import anything: awesome separation of concerns.
This modularity comes at a cost though: py.test actually preprocess tests before running them, by parsing their AST tree and replacing assert calls by custom exceptions "manually "raised. The final compiled .pyc binaries are then cached in a __pycache__/ directory.
My curiosity got aroused by this blog post from 2011 : wouldn't that be nice to peek into this process and check what the modified code look like exactly ?
either decompile the cached .pyc files, but I couldn't feed them to uncompyle2 nor pycdc without raising bytecode format errors.
take a glance at Pytest code base and find a way to invoke its custom AST-parsing method, then "AST-unparse" the resulting AST tree instead of compiling it down to bytecode.
finally, I have a last minor complaint: when using pytest-xdist to parallelize tests, you cannot write to stdout. I guess it'd be difficult to collect the standard outputs of every process spawned by pytest-xdist, but it's still a PITA.


text:
News, Culture & Society
Contact Us Follow Us on Facebook
Browse Categories Business & Finance (1,242) CNN news (3) Entertainment (189) Health (16,219) Magazine (5,650) News (218,686) Science & Technology (2,607) ShowBiz & TV (758) Sports (5,656) Travel (1,859)
Doctors dismissed Spanish flu as being a 'minor infection' before the 1918 pandemic
ExpressDigest
8 months ago / 98 Views
Doctors in the early 1900s dismissed Spanish flu as a 'minor infection' just years before it killed 50million people, according to scientists.
Countless lives could have been saved if medics had taken it seriously and worked out how to stop the virus before the disastrous outbreak in 1918, researchers say.
A study has found there were investigations as early as 1915 into a mysterious illness which was killing World War I soldiers in France and England.
But doctors didn't notice it was a form of flu, according to research by a flu expert and military historian, and missed an opportunity to start a vaccination programme.
Some 500million people were infected with Spanish flu after the pandemic broke out in 1918 (Pictured: Patients on a hospital ward in Fort Collins, Colorado in 1918)
The global pandemic, which coincided with the First World War which helped it to spread around the world, would go on to kill more than 50million people (Pictured: Sick patients in a makeshift hospital in Oakland, California in 1918)
A medical group in Etaples, northern France, reported treating hundreds of people with an 'unusually fatal disease' causing 'complex' breathing problems in 1917.
And soldiers were being struck down with the virus across the Channel in Aldershot, England, in 1915 and 1916.
But doctors did not understand the severity of the illness nor predict the devastation it would go on to cause, according to research from Queen Mary University in London.
'We have identified long-neglected outbreaks of infection,' said Professor John Oxford, a leading virologist.
'Outbreaks which, judged as minor at the time, can now be seen as increasingly important, and a portent of the disaster to come.'
The 1918 Spanish flu pandemic was the worst in recent history and was triggered by a virus which originated in geese, ducks and swans.
Quickly spreading around the world, helped along by travelling soldiers fighting in the First World War, it infected an estimated 500million people in just two years.
Lives could have been saved if doctors had recognised the danger of Spanish flu when it first appeared a few years before the pandemic, experts say (Pictured: Australian Red Cross volunteers in Sydney during the flu outbreak in 1918)
WHAT WAS THE SPANISH FLU PANDEMIC?
The Spanish flu pandemic was a devastating outbreak of influenza which spread around the world in 1918 and 1919.
It affected around 500million people, about a third of the world's population at the time, and killed more than 50million.
Under-fives and over-65s were particularly badly affected, as well as 20 to 40-year-olds, likely because so many soldiers fighting in the First World War caught it.
The pandemic got its nickname because it first gained mass press attention in Spain, while reporting was restricted in the UK, US, France and Germany to avoid damaging wartime morale.
Experts think the outbreak was so deadly because there was so much international travel of the military, there were no vaccines, and no antibiotics to treat secondary infections triggered by the virus.
Flu can still be deadly but there are effective jabs and medicines to keep it under control in most patients.
This was a third of the world's population at the time. At least 50million people died, with deaths highest among under-fives, 20 to 40-year-olds and over-65s.
There were no vaccines at the time and no antibiotics to treat infections triggered by the flu, so doctors had no real way to treat it or keep the death toll down.
In a study of literature from the early 20th Century, Professor Oxford and his colleague Douglas Gill, a military historian, found records of the flu bubbling under the surface.
Some 60,000 soldiers were being admitted to British and French army hospitals in 1915 and 1916 with flu-like symptoms – and around half of them were dying.
But the virus quickly exploded and spread out of military bases and to people all over the world.
'In essence, the virus must have mutated,' said Professor Oxford. 'It lost a great deal of its virulence, but gained a marked ability to spread.
'Recent experiments with a pre-pandemic "bird flu" called H5N1, deliberately mutated in the laboratory, have shown that as few as five mutations could have permitted this change to take place.
'We appreciate today that a unique characteristic of a pre-pandemic virus lies in its inability to spread from person to person.
'The teams at Etaples and Aldershot, although strong in clinical diagnosis, were misled by the lack of spread of this infection. Accordingly, they failed to pinpoint influenza as the underlying cause.'
The research was published in the journal Human Vaccines & Immunotherapeutics.
Read more at DailyMail.co.uk
Best Discounts and Coupons here
Rotimatic – All in One Roti maker for Kitchen
San Antonio spends $315K to keep Chick-fil-A out of airport after the city faces two lawsuits
Written by ExpressDigest
A whole pile of trouble! How did TV¿s Ruth Watson stop this family¿s Cornish mansion from crumbling to pieces? With drastic action ¿ and some very tough love…
by ExpressDigest
Win Freixenet bubbly for a year!
Serial killer suspect 'murdered' prostitute with wife's tights
Intern makes incredible discovery of unknown papers written by Abraham Lincoln in 1844
Suicide by snake? Woman killed by African black mamba she kept in New York home
Woman arrested on her own property for filming traffic police making a bust outside her house
BORIS BECKER: It's hard to see anyone stopping Novak Djokovic at his favourite tournament
Prince Harry talks of 'great sadness' of leaving royal family
SARAH VINE and JAN MOIR detail their fears for Prince Harry and Meghan's future in Canada
Moment blizzard BURIES Newfoundland in 30 inches of snow as province asks help digging out island
Business & Finance (1,242)
CNN news (3)
Health (16,219)
Magazine (5,650)
News (218,686)
Science & Technology (2,607)
ShowBiz & TV (758)
Pediatrician gets DEATH THREATS after posting video on TikTok saying vaccines don't cause autism
ExpressDigest 2016-2018


When is the best time to book for flights from Perth to London?
Be a travel expert with Skyscanner tools to help you get the best prices for your flight ticket to London. Simple, quick, and easy.
Turn on your price alerts and we'll let you know the moment flight ticket prices from Perth to London is lower.
Which airlines provide the cheapest tickets from Perth to London.
Which airlines fly direct to London from Perth.
Find cheap travel deals for Perth to London flights 2019 on the Skyscanner app – available for Android and iOS. You can also track your own flights, create price alerts for your preferred travel dates, and explore new destinations. Setup is safe, quick and hassle-free.


Buffalo, NY- Thirty New York Army National Guard and Army Reserve Soldiers spent a day, and walked ten miles, collecting 2,000 pounds of food for Western New York food pantries on Saturday, Dec. 5.
Led by New York Army National Guard Sgt. Kevin Lange, a Depew resident and member of the 105th MP Company, the participants in the Heroes March Against Hunger marchers generated 13, 000 pounds of food, after a 11,000 pound donation from the Wegmann's supermarket chain was made.
The 2,000 pounds picked up at sites across Buffalo was more than double what was collected last year, said Mike Billoni, director of marketing for the Western New York Food Bank.
The Soldiers marched 10 miles across Buffalo, picking up food donations along the way and finishing up at Buffalo City Hall where they were greeted by Mayor Byron Brown.
"Not only are they men and women who provide great service to our Country: they are men and women who provide great service to our Community," Brown said.
Lang started this grass-roots movement he calls the Heroes' March Against Hunger, after Western New York's infamous October Snowstorm of '06.
They also checked up on the elderly, assisted in clean-up efforts and removed hazardous trees throughout their Community.
Now, members of the 105th MP Co., led by Lange, voluntarily take steps to make sure what happened in '06 never happens in their community again.
"This food will provide nourishment and energy so that they can change their predicament: children can perform better in school: get better grades: adults don't have to worry as much about where their next meal will come from," he said.
"The significant and lasting impact of extraordinary awareness-raising endeavors such as the Heroes' March Against Hunger extends beyond a grateful community, and reminds us of all the good that can be accomplished when we give of ourselves for the benefit of others," said Governor David A. Paterson in a statement.
Participants in the Heroes' March also included Soldiers from the Army Reserve's 401st Civil Affairs Battalion from Tonawanda and C Troop 2nd Battalion, 101st Cavalry from the Masten Avenue Armory in Buffalo.


REGINA — The Saskatchewan Roughriders hope that the air of familiarity surrounding their latest hires doesn't mean business as usual. Jeremy O'Day and Bob Dyce were officially introduced in their new roles on Tuesday, one day after Brendan Taman and Corey Chamblin were relieved of their duties.
Rob and Murray talk about what the firing of Head Coach Corey Chamblin and General Manager Brendan Taman means for the Roughriders.
REGINA — The Saskatchewan Roughriders hope that the air of familiarity surrounding their latest hires doesn't mean business as usual.
Jeremy O'Day and Bob Dyce were officially introduced in their new roles on Tuesday, one day after Brendan Taman and Corey Chamblin were relieved of their duties.
O'Day replaces Taman as the CFL team's vice-president of football operations and general manager. Dyce takes over as the head coach from Chamblin. O'Day and Dyce were both named to their respective positions on an interim basis. The Riders are to conduct a search for a general manager and head coach during the off-season.
The Riders looked within to replace Taman and Chamblin. O'Day was the assistant general manager and director of football operations while Dyce was the special-teams co-ordinator on a team that carries an 0-9 record into Sunday's Labour Day Classic against the visiting Winnipeg Blue Bombers.
Craig Reynolds, the Riders' first-year president and CEO, expects a turn-around on the field with Dyce and O'Day. What had transpired up to Monday's announcement just wasn't good enough for the franchise.
Sunday's 35-13 losses to the Ottawa Redblacks was the final straw in terms of Taman and Chamblin's time with the Riders. Chamblin incurred the wrath of Rider Nation after inexplicably yanking rookie quarterback Brett Smith midway through the second quarter of Sunday's loss. Except Reynolds said that wasn't the reason for firing Chamblin.
Chamblin's dismissal may have been expected considering the circumstances on the field. It was expected that Taman would survive the house cleaning and have a chance to rebuild the team. Reynolds cited concerns about the salary-cap management and Taman's leadership led to the GM being fired.
Dyce and O'Day were both to meet with the players before today's practice for the first time since taking over the new roles. The Riders had been off since Sunday's loss.
O'Day has been part of the Riders since 1999 as a player and member of football operations. He retired in 2011 after 12 seasons on the offensive line, primarily as a centre. He was initially hired as football operations co-ordinator in 2011 by Taman.
Dyce is in his sixth season with the Riders. He started as the receivers coach in 2010 and was promoted to offensive co-ordinator in 2012. He was then named the special-teams co-ordinator in 2013. Before joining the Riders, Dyce spent seven seasons as a receivers coach with the Blue Bombers.
Dyce feels his experience in different roles, especially as special-teams co-ordinator, has prepared him for the jump to being an interim head coach.


Price protection. The price to attend Flash MX Level 1 is set by the training provider. There is no added charge for our services.
Flexibility. FindaSeminar.com offers you three ways to register for Flash MX Level 1 seminar by New Horizons.
Write and read New Horizons reviews and reviews about the training seminar Flash MX Level 1 on the Seminar News Network and the Training News Network.
This course introduces you to the basics of creating objects and animating in Macromedia's Flash MX. You will explore the basics of Flash, including tools and features, create different types of animations, and publish material for the Web.


New York city is adding another electric hybrid to there fleet, the Chevy Volt. This is a portion of there 70 car order. This will save the city a lot of money in the long run when it comes to rising gas prices. The only problem I see happening is the cars 35 mile battery range and the New York stop and go traffic. This really doesn't give the car enough time to fire up the gasoline engine so I wonder what the real mileage range will be of these cars in the traffic conditions.
Along with the Volt the police departments diverse collection of cars includes, Ford Crown Victoria sedans to Nissan Altima hybrids to electric scooters and golf carts. The city already has 430 electric cars in the fleet and i'm sure that will be increasing as time moves on. This puts New York City on the map of having the largest electric car fleet in the nation. So if you live in New York watch out for these shiny new cars on the road.


text:
The Daily Transcript presents SourceBook 2015, featuring our database of San Diego's top companies.
Banks increase loans, business owners now optimistic
San Diego's economy continues to show signs of strength, with positive economic indicators for three out of the first four months of 2015. The unemployment rate is at its lowest point since the start of the Great Recession.
Chargers stadium drama, marijuana clinics dominate local news
After two years marked by a divisive election campaign, ballot referendums and power shifts, perhaps it's a sign of a return to normalcy that the chief issue that has captured the attention of San Diego politicians so far this year is how well they can work together to keep the Chargers football team in town. Although their effort may end up going nowhere, at least it has pulled city and county officials from both political parties into a united front. The following are how some of the top municipal issues played out during the first half of the year.
Biotech seeks partnerships; Tech sees consolidation
Large biotech and life sciences companies sought out partnerships for research and development, while acquisitions and consolidation have become the trend du jour in the semiconductor industry.
Ambitious projects planned around San Diego
The first half of 2015 brought news of high-profile public and private projects, and new state regulations for contractors.
New Secretary of Defense, SEALS move to Silver Strand
The first six months of 2015 were filled with tales of scandal and expansion for the national and San Diego defense communities. Budget woes aren't out of the picture yet either, as the 2016 deadline for round two of sequestration looms closer.
New degree programs, deans question bar exam scoring
Major headlines in the education sector so far in 2015 have been the state's pilot program for some community colleges to offer bachelor's degrees, new partnerships between universities and some financial news a locally based education company might rather forget.
New hospitals open, health insurance issues continue
The health care construction industry remains robust, while emergency room visits are on the rise despite the Affordable Care Act.
Industry loses local icon, new players invest in San Diego
2015 started out with the sad news that a beloved local restaurateur had passed. By summer, the number of San Diego's craft breweries and restaurant openings and closures dominated headlines.
Highlights in residential and commercial real estate
Home prices continued an upward trend in the first half of 2015 while inventory remained low. The first half of the year saw a merger and prominent commercial sales.
Review of police department, La Jolla Cove ruling among top legal stories
The San Diego Police Department, a North County country club and a ruling on whether it's the city's responsibility to clean up La Jolla Cove were some of the most talked about stories in the local legal community for the first half of 2015.
Utility choices
Many people are unaware that we are in the midst of the biggest transfer of money and power in the history of the United States. For the past 60-plus years, the electric utility industry has been monopolized by very few companies operating in very large service territories with a captured client base. That model is changing rapidly.
Sourcebook - 2014
The Daily Transcript present SourceBook 2013, featuring our database of San Diego's top companies.
The Daily Transcript present SourceBook 2012, featuring our database of San Diego's top companies and a total market breakdown.