When a bank's portfolio is full of short-term maturities, it makes it more vulnerable to panics, crashes, and liquidity squeezes. If the debt maturity issues of today were true in the summer of 2008, the bailout would have been much sooner and much larger.
When the debt matures it is likely that the banks will be looking to exchange the short-term debt for longer maturities, but that will come at a cost.
funding costs would increase from the mere fact of moving out on the yield curve, with the risk of funding costs being pushed up further by the rising tide of benchmark rates.
Which brings us back to the simple question of how easily the banks will be able to find enough investors to roll over the enormous amounts of debt saturating the system. Even Moody's is skeptical.
Investors have returned to the market in 2009, providing significant amounts of funds, but this should not be confused with a return to a normal operating environment. We believe that the "thawing" of debt and equity markets was largely driven by calculated, opportunistic risk-taking in the context of the extraordinary support provided by government programs and very low short-term interest rates. We would therefore not describe the investor resurrection as a return to strong financial fundamentals in the markets.
In fact, we expect that credit-related losses to continue to cause damage to banks' financials. In our view, losses are still on a rising trend, mainly because of the delay that exists between the end of a recession and a fall-off in provisions and actual charge-offs.
Of course a lot of money has been printed by the central banks of the world recently, so its likely that the banks can scrounge up $7 Trillion in the next three years. The problem is that the banks aren't the only ones that will need to be rolling over maturing debt.
In fact, with the coupon calendar currently in place, the average maturity of issuance now exceeds the average maturity of marketable debt outstanding. This suggests that the decline in the average maturity of debt outstanding that that we have witnessed over the past seven years – from a high of approximately 70 months in 2000 to a low of approximately 50 months earlier this year should be arrested and begin to slowly lengthen going forward.
In the space of two years, the portion of America's debt that matures within a year has jumped from 30% to 40%. Consider the possible problems.
Considers two scenarios if the US has a currency crisis, a solvency crisis, or some other financial stroke.
(1) We've borrowed $14T, one year's national income, but financed it all with 30 year bonds. The interest bill would be large, at 6% equivalent to roughly 1/3 of the Federal government's revenue. But only 3% must be rolled over every year. In a crisis we might lose the ability to borrow (painful), but the debt remains manageable. Also increases in interest rates affect us slowly, as the 3% of the debt rolls over annually.
(2) We've borrowed $14T financed with 1 year bonds. The interest bill would be far less, but any crisis threatens the government's solvency: bankruptcy, hyperinflation, and revolution would be our choices. Also, a rise in rates immediately increases the interest cost. Even if we manage to roll the debt in a crisis, the rise in rates alone might prove catastrophic.
With an average maturity of only 49 months, and almost half due in the next year, we are far too close to the second scenario.
Yet another area of the economy that will need to roll over massive amounts of debt in the coming few years is commercial real estate.
Unlike the residential real estate industry, with its 15 to 30 year mortgages, the $6.5 Trillion commercial real estate market typically involves five to seven year mortgages. Fitch estimates that losses on commercial real estate will dramatically rise next year.
There have already been attempts to roll over some European loans due for refinancing, with one investor summarising the position in an increasingly used phrase, "a rolling loan gathers no loss".
It makes one wonder exactly where all this credit is going to come from, and when America becomes classified as a deadbeat?
I'm about to jump out of my skin with the refusal of Congress to do their job instead of corporate lobbyists jobs and start rebuilding this economy with trade, economic incentives, jobs programs and frankly it looks strongly that our entire education system needs reform....seemingly administrators have picked up on the same tricks as executives and are seriously lining their pockets.
Glad to see this post, midtowng. You hadn't posted for a few days and I was worried we lost our best writer!
Hence Marc Faber's target for the future value of the dollar: $0. Faber is given to melodramatics, but he has a point.
With Ambac threatening bankruptcy and Jim Chanos recommending going short municipal bonds we may be seeing the early signs of the real debt bubble collapse. Geithner and Bernanke have their fingers in the dike, but the water is lapping over the top. They're hoping to raise the height of the dike through inflation, but dollar revulsion may come first.
As a middle-aged saver, I see myself losing either way.
IMHO, Prof. Steve Keen has it right - debt and deflation. The question is what do we do? MASSIVE DEBT FORGIVENESS OF PRIVATE SECTOR DEBT - DEBT JUBILEE. Kill the parasites in the financial sector. Press re-set on financial sector and start over.
Sadly the train has left the station for debt forgiveness in the private sector. That needed to start en masse about a year ago, when our government was faced with a choice - bail out the people or bail out the very gangsters that caused the mess, and our government chose the banksters over the people.
Which is the moral hazard that undercurrents the whole situation. Not discussed as much, but it will be the moral implications of all this that will tear our nation apart in the years to come. When that time comes, no charts will be needed for the average American to understand what happened.
They'll understand that the situation midowng so ably presents was willful. It was the financial elites stubbornly refusing to let the people off the hook, when they could have done so. The people are the last ones in to a giant ponzi scheme. And our government willfully decided to pour whatever it can conjure into the top of ponzi scheme to keep it going.
The crisis is not economic, it's moral. Bernanke and co. are amoral men, Destroyers willing to sink a nation to protect it's elite. The people haven't figured it out yet in large numbers, but hopefully they will.
But our current state of purgatory will not change without some significant shifts in policy. Banks will not provide credit to businesses because they are insolvent but are being propped up by the Fed and Treasury.
did you read that COP report?
I wrote up in a blog post. I was fairly surprised TARP is projected to turn a slight profit.
Frankly I think it's all ill gotten gains, but it could be worse, they could have lost that money.
It's really dense and that's because of the insane amount of programs out there, I concluded it was meant to baffle, so the report you must track each mnemonic to each program and then to the money outlays of it.
But, it appears Citigroup is a black hole which has fallen off of the public radar screen.
On the Economy, we need major structural change. Not only do we need major financial reforms, the entire economy, these policy makers refuse to deal with globalization.
I was fairly surprised TARP is projected to turn a slight profit.
The money that has been paid back has been from the solvent companies. The losses from loans to insolvent companies hasn't been booked yet. If you keep loaning a hopelessly bankrupt company money, then you never have to acknowledge that you've wasted the it.
It's just more wishful thinking as far as I'm concerned. They are sensitive to the public outrage, and this is just one way for them to deflect it.
But.....COP as well as SIGTARP have been trying very hard, so for them to explicitly state this, I have to give it some credibility.
I don't think they can buy or silence Elizabeth Warren.
In their report, they have a series of charts, spreadsheets which show the outlays vs. the revenues.
But! The black hole is Citigroup, with the largest amount of funds received.
So, if the losses aren't booked yet, I'm wondering why COP doesn't really point to it, but they sure do point to Citigroup and how information is not forthcoming.
If it doesn't make sense, then chances are it is bullsh*t.
(Bloomberg) -- Neil Barofsky, the federal watchdog for the $700 billion financial industry bailout, said the program will "almost certainly" result in a loss to U.S. taxpayers.
I managed to confuse myself (not good when I'm reading these reports and writing blog posts on them!) between the guarantees program vs. the "cash" TARP.
Fortunately the error is just in the comments and not the actual blog post and I also put up another one on TARP with the actual projected losses.
Currently the projected losses from the $700 Billion are $200 Billion.
But! While Citigroup passed the lastest stress test, it's really unclear exactly how and they have the largest amount of funds.
GMAC failed the stress tests. It's in the post on using TARP to "pay down" the deficit....but I don't understand how that works since the TARP itself is borrowed money.
Seems like some accounting trickery that I'm unsure hits the taxpayer more? Unclear.
Also, I'm seeing some noise about GS manipulating the oil commodities futures markets. On this post which is making the "links" rounds.
Also included are our main TARP recipients.
Finally, I find it very interesting that the derivatives market is basically controlled by these 4 major players AND we cannot get meaningful reforms.
Anywho, to be clear, the guarantees program is projected to come up with a slight profit, abet I frankly don't trust much coming from the OMB. Hopefully SIGTARP will weigh in on that.
I'm digging around more into it and finding CBO last report was in June, SIGTARP, 10/09.
But frankly I trust OMB like I trust Enron for giving objective data.
SIGTARP says we've lost $50B for the home program and odds are the auto companies won't be able to pay back their loans.
But unless I read something incorrectly that slight profit was total principle.
I wonder why they did that and not use the SIGTARP report.
It's a time to deleverage.
The formula, in my view, would have been to let every major bank and casino house fold in 2008. Then take 1/2 of the Fed-gotten-goodies we produced out of thin air, and push that over to the base of the pyramid in the form of a social safety net, to deal with the depression that would have resulted.
At the same time do a society-wide revaluation of assets and commensurate consumer debt forgiveness.
Instead of that, we pour tens of trillions into the top of the pyramid, only to keep the old ponzi scheme going, while inventing brand new ones to get lost in. And then we just hand over the cash to boot, with no lending requirements.
You're right, we're stuck now. Banks won't lend and consumers won't borrow. But that won't change, it's too late for that now. All we have from now on is government gimmicks, bubbles, and an ocean of public and private debt, until the whole thing folds in on itself.
You might consider creating an account since you are commenting often.
I also have no idea what "Ben belongs with Bernie" means.
I should do that on the account, thanks for the tip.
"Ben belongs with Bernie" was rhetoric, a bit of hyperbole. As in Ben Bernanke belongs in the same jail cell with Bernie Madoff.
Obviously this isn't true in a literal sense. But for running a legal ponzi scheme 1,000 times larger than Bernie's illegal one, Ben belongs somewhere not as Chairman of the Federal Reserve.
I blame Greenspan and then I blame the structure of the Federal Reserve itself.
I wrote up a 1st pass review of Dobbs bill and he has some structural changes but separating the Federal Reserve from commercial/financial banking industry to me is critical.
About the only thing I can blame Ben for in all seriousness is the stonewalling on who received the $2 trillion dollars.
I blame Hank Paulson much more.
I'll look for your account info. (each must be approved).
You are one of those 'doom and gloom' negative guys that Bonddad and New Deal Democrat are always talking about. Wake up and smell the 'green shoots!' is what they say.
Seriously, what I'm wondering (just wondering) if there are two variables that if factored in may mitigate if not solve the debt problem: (1) massive inflation via Central Banks (plural) operations and (2) the massive wealth of Gulf States that have a vested interest in keeping the US a super military power which entail keeping the US economy healthy. Gulf states may have enough money to cover a significant portion of the debt as it comes due –just a thought.
A quote from James Fuchs & Timothy Bosch of the St. Louis Fed in a paper on on "Why Are Banks Failing?"
	poor management of risks"
Is there any incentive to correct their mistakes? Will Uncle Ben always be there to bail them out?
The word you are looking for is Chreosonomy.
"Rolling risk in America's Chreosonomy"


It was our fundraising dinner and I was trying to explain to a packed Dartington Great Hall, that LandWorks is a team, a great team, not just staff, volunteers and supporters but the guys themselves. We often become a sort of family… important to one another.
Nick Hardwick (HMP Chief Inspector) had just wooed the crowd as he eloquently explained just what LandWorks is all about… "Discovering treasure". Building relationships, individual personal relationships.
I could hear myself speaking but part of me wasn't there… an earlier phone conversation from HMP had detailed a new Prison Order that, in effect, immediately removed three prisoners from LandWorks. I am sure you can understand, part of me was with them.
The fundraiser has been months of careful planning, producing a most fantastic evening.
Then gone, overnight, gone. Ripped away, a sudden change in the rules from the MoJ, a sanction that decreed risk levels too high. A decision made with no knowledge about those it will affect, a potential massive set back to a carefully planned resettlement.
There is a real sense of loss, certainly emotion and grief.
The dinner raised a truly staggering £14,000. There was a great atmosphere that night, many people coming together to support us but also bringing new people to learn about LandWorks. Genuine interest, concern and I felt people wanted information to be able to form an opinion on how we all deal with resettlement – a good community.
Nick Hardwick, during his speech, brilliantly conjured up images of life inside prison, prisoners moved indiscriminately around the system. We've seen it happen before at LandWorks and I am sure we will see it happen again. But bloody hell it's hard.
They are good men and we all have lost. I have now managed to talk to them and two men will come back to finish their resettlement once released. New trainees will now join our remaining gang.
If we had needed a story to reinforce both the Chief Inspector's and Judge Cottle's speeches on prison difficulties and resettlement, this was it… at the time, played out behind the scenes.
The same guys who made some of the raffle prizes were now gone; one a beautiful enormous wooden spoon that fittingly and with no possible knowledge of the unfolding HMP events…had became the star auction prize.


Sitting in Singapore, when Vinoth Ranganathan, co-founder of OnlineRTI, was trying to gather some information regarding his father's pension in 2012, he realized how tedious the process of filing a Right to Information(RTI) application could get in India. Following this incident Vinoth, with fellow techie Pradeep Bhatt established OnlineRTI in February 2014.
OnlineRTI is a for-profit social enterprise, which simplifies the process of applying for RTI application, for any government in India.
When we wanted to file an RTI few years back it was very difficult. The information was scattered, different states had different rules, it was not online, Pradeep said. That's when we realised that the inconvenience of this process is stopping people from using this facility on a mass scale. People were not using it to keep a check on the government, to solve their personal problems and hence we decided to implement technology to improve governance in India.
The duo admitted that to make people believe that filing an online RTI application could take barely few minutes was not that difficult, as people were already used websites to buy things and booking services online by that time. However, they said that assuring them of their credibility was a difficult. "If you are not a popular website people don't find it credible as we take money upfront, so that was one challenge," Vinoth said. OnlineRTI takes the application and after a series of cross-checking and verification of details, the company's team verifies the draft from the applicant and post that it is sent to the concerned department by the start-up's logistics team.
Initially, the company was under the impression that online RTIs would benefit only non-residents of India, who do not have access to country's information. To their surprise, 99 percent of their traffic came from India as compared to other countries. " It was not the NRIs who were facing problems because they rarely interact with the government, it's the people in India who had government related issues," Vinoth said.
People in general were very unaware of the various issues that could be solved using RTI. People are scared to an extent that they would be killed if they ask for certain basic information.The team has now decided to change their approach in dealing with this concept. Till now the company spoke about the process RTI but now they've decided to talk about issues that matter to people the most like tax, pension refund, and provident funds to make this concept more relatable to the common masses. We have decided that we won't talk about RTIs, we will talk about the problems that RTIs solve.
The company makes sure that they eliminate frivolous RTIs, data about private companies and voluminous data asking for information over five years. The team has had days when people filed RTIs for questions such as why Mahatma Gandhi was called Mahatma, queries about marriageable age by a 19-year old boy; completely unaware of the value of this service.
The duo recalled an incident where a man driving via a toll gate was suddenly charged five rupees extra in Bangalore. On filing a RTI on the same, the highway authorities were unaware of this increased fee. On further investigation, the toll operator was penalized for 1.8 crores by the government and the original tax was restored.
The duo said that response from the government varies from region to region. OnlineRTI wants to be the interface between the common man and the government. The company also understands problems the government goes through when people ask for voluminous data and file convoluted and erratic requests. "Expressing yourself is the challenging part and when people don't express themselves properly the person providing information also finds it difficult," Pradeep said.
OnlineRTI Bangalore and have raised the angel round from a group of angel investors as well as LetsVenture and plan to utilize these funds to increase awareness and localize their product so that more people use.


We're really excited to be sharing another personal project from Steve Hoskins with you.
He's always been fascinated by traditional Japanese art motifs particularly the paintings of graceful birds and koi carp. He started researching the variety of koi breeds and got really inspired by their iridescent scales and patterned markings. He had to get some in the studio!
When you bring any creatures in to the studio, particularly aquatics, you've always got to allow room in the ideas for the unknown, those chance twists in the water. On this shoot it was the ripples on the surface that gave them the added bit of magic. As soon as they saw it on screen and the painterly effect it was giving them, they knew they had struck on a shoot to be really proud of.
'Koi' is the latest creative collaboration between Steve and Emma Taylor. Huge thanks also to esteemed animal handler, and friend Mark Amey for bringing such beautiful Koi along to the studio.


At The 99 Power Washing, we are proud of furnishing especially complete and hassle-free pressure cleaning treatments to individuals all over the North Fort Myers community. Any time people are thinking about patio power cleaning, or sidewalk power washing, to essentially provide their property a new appearance, or a completely new starting point an expert water blasting North Fort Myers service is many times the best option possible. Simply look at the way the experts at The 99 Power Washing operate and realize how a hassle-free external house pressure cleaning job may enhance your home's appearance and worth.
The Finest Power Cleaning North Fort Myers Offers!
Whenever your home within North Fort Myers might use some help to appear its greatest, an external home water blasting servicing is possibly the greatest choice possible. Your sidewalk power cleaning is going to be conveniently and expertly executed by experts of your vicinity, releasing you from tons of frustrating work cleaning and renewing your property. What's more, with the high quality workers you'll be connected with via The 99 Power Washing's pressure cleaning North Fort Myers, FL network, you should be certain that your residence shall be dealt with properly and without any problems. Our team of power washing North Fort Myers specialists possess many years of practice and training, which means your property will be well secured as numerous years of dust, debris, and grime are cleaned away . This service is executed using the productiveness that can only be had using a specialist and will make your residence look greater following one brief treatment.
If you're prepared to give your household a beautiful new appearance but wouldn't want to purchase new house siding, and do not wish to expose your household to inexperienced pressure washing which might ruin a great deal of your items, work such as exterior walls pressure washing and trim-gutters and doors pressure washing from our contractors are right for your household necessities.
How does the equipment of The 99 Power Washing's specialized washing agency function?
Pressure cleaners combine highly pressurized clean water along with cleansing liquids to blast soil and debris off areas such as patios and roofs. Our workers are absolutely licensed and educated to deliver the results securely, efficiently, and thoroughly. Remember to go to this blog to see more facts concerning pressure washer.
What might a power washing in North Fort Myers, FL cost?
Regretfully it's tough to identify without at least seeing the residence and the scale of service which is requested. A lot of pressure cleaning service providers publicize a lone price for their treatments but then ask more in response to especially tricky areas. To avoid any sort of surprise fees The 99 Power Washing can't offer estimates until the home is seen by the specialists who will wash it.
What's an estimate for exterior walls pressure cleaning in North Fort Myers cost?
All estimates of assignments from our power cleaning North Fort Myers, FL technicians are absolutely complimentary and no commitment is positioned on the homeowner. If you're interested in setting up a totally free quote with a power washing North Fort Myers, FL specialist, call The 99 Power Washing to get more info.


text:
Rohingya refugee shelters 'washed away' in Bangladesh monsoon rains: UN agency
IOM 2018
Flash flooding has damaged key infrastructure including this bridge in Balukhali camp.
Two days of heavy monsoon rains have caused severe structural damage to camps in Bangladesh hosting one million Rohingya refugees from Myanmar, the International Organization for Migration (IOM) reported on Monday
So far, more than 9,000 have been affected and the number is expected to rise as the rains continue.
Meanwhile, more than 30,000 camp residents are still living in areas considered to be at high risk of deadly flooding and landslides.
"The situation in the camps is growing more desperate with every drop of rain that falls," said Manuel Pereira, IOM's Emergency Coordinator in Cox's Bazar, the district in south-east Bangladesh where the refugees have settled.
The situation in the camps is growing more desperate with every drop of rain that falls -Manuel Pereira (IOM)
"You have close to one million people living on hilly, muddy terrain with no trees or shrubs left to hold the ground in place. People and their makeshift shelters are being washed away in the rains."
For months now, UN agencies and their partners have been warning of the threat posed by the monsoon season, which runs from June to September.
The rains began on Saturday and within 24 hours incidents including landslides, water logging, extreme wind and lightning strikes were recorded.
IOM said it is "working against the clock" to secure road access and drainage, and to improve preparations for more heavy rain to come.
The UN agency and its partners are also ensuring the refugees will continue to receive assistance such as access to water, sanitation and health.
However, it warned that risks remain huge, given the vast size and the nature of the makeshift camps.
The Rohingya are a Muslim minority community in Myanmar, where most citizens are Buddhist.
The majority of those in Bangladesh began arriving in the wake of violence in Myanmar's Rakhine state which began last August.
An agreement signed last week between the Myanmar government and UN agencies is expected to pave the way for scores of Rohingya to return to home, once their safety and rights are guaranteed.
It will also allow the UN refugee agency (UNHCR) and the UN Development Programme (UNDP) to access Rakhine state.
Rohingya Refugee Crisis|monsoon rains
LISTEN TO UN RADIO
UN migration chief urges more support for Rohingyas fleeing Myanmar or 'thousands will suffer'
Rohingya crisis: UNICEF issues 'Child Alert,' outlines urgent action to save lives
Conditions in Myanmar not yet suitable for Rohingya refugees to return safely – UN agency
Early rains expose risks for Rohingya refugees in Bangladesh, but worst 'yet to come,' warns UN agency
The arrival of pre-monsoon rains in southern Bangladesh has revealed an alarming level of risks for Rohingya refugees, United Nations humanitarian agencies said on Friday, warning that they do not have the funds needed to protect hundreds of thousands of desperate people once the rainy season begins in earnest.

redpajama_set_name: RedPajamaCommonCrawl


text:
@class WUSSecondaryTileVisualElements, WUSSecondaryTile, WUSVisualElementsRequestedEventArgs, WUSVisualElementsRequest,
    WUSVisualElementsRequestDeferral;
@protocol WUSISecondaryTile
, WUSISecondaryTile2, WUSISecondaryTileVisualElements, WUSISecondaryTileVisualElements2, WUSISecondaryTileVisualElements3,
    WUSISecondaryTileFactory, WUSISecondaryTileFactory2, WUSISecondaryTileStatics, WUSIVisualElementsRequestedEventArgs,
    WUSIVisualElementsRequest, WUSIVisualElementsRequestDeferral;

// Windows.UI.StartScreen.TileOptions
enum _WUSTileOptions {
    WUSTileOptionsNone = 0,
    WUSTileOptionsShowNameOnLogo = 1,
    WUSTileOptionsShowNameOnWideLogo = 2,
    WUSTileOptionsCopyOnDeployment = 4,
};
typedef unsigned WUSTileOptions;

// Windows.UI.StartScreen.TileSize
enum _WUSTileSize {
    WUSTileSizeDefault = 0,
    WUSTileSizeSquare30x30 = 1,
    WUSTileSizeSquare70x70 = 2,
    WUSTileSizeSquare150x150 = 3,
    WUSTileSizeWide310x150 = 4,
    WUSTileSizeSquare310x310 = 5,
    WUSTileSizeSquare71x71 = 6,
    WUSTileSizeSquare44x44 = 7,
};
typedef unsigned WUSTileSize;

// Windows.UI.StartScreen.ForegroundText
enum _WUSForegroundText {
    WUSForegroundTextDark = 0,
    WUSForegroundTextLight = 1,
};
typedef unsigned WUSForegroundText;

#include "WindowsUIPopups.h"
#include "WindowsFoundation.h"
#include "WindowsUI.h"
#include "WindowsFoundationCollections.h"

#import <Foundation/Foundation.h>

// Windows.UI.StartScreen.SecondaryTileVisualElements
#ifndef __WUSSecondaryTileVisualElements_DEFINED__
#define __WUSSecondaryTileVisualElements_DEFINED__

WINRT_EXPORT
@interface WUSSecondaryTileVisualElements : RTObject
@property (copy) WFUri* square150x150Logo;
@property BOOL showNameOnWide310x150Logo;
@property BOOL showNameOnSquare310x310Logo;
@property BOOL showNameOnSquare150x150Logo;
@property WUSForegroundText foregroundText;
@property (copy) WUColor* backgroundColor;
@property (copy) WFUri* wide310x150Logo;
@property (copy) WFUri* square70x70Logo;
@property (copy) WFUri* square310x310Logo;
@property (copy) WFUri* square30x30Logo;
@property (copy) WFUri* square71x71Logo;
@property (copy) WFUri* square44x44Logo;
@end

#endif // __WUSSecondaryTileVisualElements_DEFINED__

// Windows.UI.StartScreen.SecondaryTile
#ifndef __WUSSecondaryTile_DEFINED__
#define __WUSSecondaryTile_DEFINED__

WINRT_EXPORT
@interface WUSSecondaryTile : RTObject
+ (BOOL)exists:(NSString*)tileId;
+ (void)findAllAsyncWithSuccess:(void (^)(NSArray*))success failure:(void (^)(NSError*))failure;
+ (void)findAllForApplicationAsync:(NSString*)applicationId success:(void (^)(NSArray*))success failure:(void (^)(NSError*))failure;
+ (void)findAllForPackageAsyncWithSuccess:(void (^)(NSArray*))success failure:(void (^)(NSError*))failure;
+ (WUSSecondaryTile*)createMinimalTile:(NSString*)tileId
                           displayName:(NSString*)displayName
                             arguments:(NSString*)arguments
                     square150x150Logo:(WFUri*)square150x150Logo
                           desiredSize:(WUSTileSize)desiredSize ACTIVATOR;
+ (WUSSecondaryTile*)createTile:(NSString*)tileId
                      shortName:(NSString*)shortName
                    displayName:(NSString*)displayName
                      arguments:(NSString*)arguments
                    tileOptions:(WUSTileOptions)tileOptions
                  logoReference:(WFUri*)logoReference ACTIVATOR;
+ (WUSSecondaryTile*)createWideTile:(NSString*)tileId
                          shortName:(NSString*)shortName
                        displayName:(NSString*)displayName
                          arguments:(NSString*)arguments
                        tileOptions:(WUSTileOptions)tileOptions
                      logoReference:(WFUri*)logoReference
                  wideLogoReference:(WFUri*)wideLogoReference ACTIVATOR;
+ (WUSSecondaryTile*)createWithId:(NSString*)tileId ACTIVATOR;
+ (instancetype)create ACTIVATOR;
@property (copy) NSString* shortName;
@property (copy) WFUri* logo;
@property (copy) NSString* tileId;
@property BOOL lockScreenDisplayBadgeAndTileText;
@property (copy) WFUri* lockScreenBadgeLogo;
@property (copy) NSString* arguments;
@property WUSForegroundText foregroundText;
@property (copy) NSString* displayName;
@property (copy) WUColor* backgroundColor;
@property (copy) WFUri* wideLogo;
@property WUSTileOptions tileOptions;
@property (copy) WFUri* smallLogo;
@property BOOL roamingEnabled;
@property (copy) NSString* phoneticName;
@property (readonly) WUSSecondaryTileVisualElements* visualElements;
- (EventRegistrationToken)addVisualElementsRequestedEvent:(void (^)(WUSSecondaryTile*, WUSVisualElementsRequestedEventArgs*))del;
- (void)removeVisualElementsRequestedEvent:(EventRegistrationToken)tok;
- (void)requestCreateAsyncWithSuccess:(void (^)(BOOL))success failure:(void (^)(NSError*))failure;
- (void)requestCreateAsyncWithPoint:(WFPoint*)invocationPoint success:(void (^)(BOOL))success failure:(void (^)(NSError*))failure;
- (void)requestCreateAsyncWithRect:(WFRect*)selection success:(void (^)(BOOL))success failure:(void (^)(NSError*))failure;
- (void)requestCreateAsyncWithRectAndPlacement:(WFRect*)selection
                            preferredPlacement:(WUPPlacement)preferredPlacement
                                       success:(void (^)(BOOL))success
                                       failure:(void (^)(NSError*))failure;
- (void)requestDeleteAsyncWithSuccess:(void (^)(BOOL))success failure:(void (^)(NSError*))failure;
- (void)requestDeleteAsyncWithPoint:(WFPoint*)invocationPoint success:(void (^)(BOOL))success failure:(void (^)(NSError*))failure;
- (void)requestDeleteAsyncWithRect:(WFRect*)selection success:(void (^)(BOOL))success failure:(void (^)(NSError*))failure;
- (void)requestDeleteAsyncWithRectAndPlacement:(WFRect*)selection
                            preferredPlacement:(WUPPlacement)preferredPlacement
                                       success:(void (^)(BOOL))success
                                       failure:(void (^)(NSError*))failure;
- (void)updateAsyncWithSuccess:(void (^)(BOOL))success failure:(void (^)(NSError*))failure;
@end

#endif // __WUSSecondaryTile_DEFINED__

// Windows.UI.StartScreen.VisualElementsRequestedEventArgs
#ifndef __WUSVisualElementsRequestedEventArgs_DEFINED__
#define __WUSVisualElementsRequestedEventArgs_DEFINED__

WINRT_EXPORT
@interface WUSVisualElementsRequestedEventArgs : RTObject
@property (readonly) WUSVisualElementsRequest* request;
@end

#endif // __WUSVisualElementsRequestedEventArgs_DEFINED__

// Windows.UI.StartScreen.VisualElementsRequest
#ifndef __WUSVisualElementsRequest_DEFINED__
#define __WUSVisualElementsRequest_DEFINED__

WINRT_EXPORT
@interface WUSVisualElementsRequest : RTObject
@property (readonly) NSArray* alternateVisualElements;
@property (readonly) WFDateTime* deadline;
@property (readonly) WUSSecondaryTileVisualElements* visualElements;
- (WUSVisualElementsRequestDeferral*)getDeferral;
@end

#endif // __WUSVisualElementsRequest_DEFINED__

// Windows.UI.StartScreen.VisualElementsRequestDeferral
#ifndef __WUSVisualElementsRequestDeferral_DEFINED__
#define __WUSVisualElementsRequestDeferral_DEFINED__

WINRT_EXPORT
@interface WUSVisualElementsRequestDeferral : RTObject
- (void)complete;
@end

#endif // __WUSVisualElementsRequestDeferral_DEFINED__

redpajama_set_name: RedPajamaGithub


The really wealthy projects administration experiences and a person to just one assistance model make the higher importance of company communication and our easy understanding of your expectations for Elegant Beach Bags , Clear Beach Bags , Best Beach Bags , we sincerely welcome consumers from at your home and abroad to cooperate with us provide you greatest services!
"Our primary goal is always to offer you our customers a serious and responsible company relationship, providing personalized attention to all of them for Elegant Beach Bags , Clear Beach Bags , Best Beach Bags , The company has numbers of foreign trade platforms which are AlibabaGlobalsourcesGlobal MarketMade-in-china. "XinGuangYang" HID brand products and solutions sell very well in Europe America Middle East and other regions more than 30 countries.


Nablus, looking for two refugee boys. Lusaka, at an illusory national celebration. Mazar-e-Sharif, at the Buzkashi field. In his essayistic documentary, director Stefan Gieren writes three cinematic postcards with very personal observations about the people of these places.
Stefan Gieren graduated from Hamburg Media School as a producer in 2011 with the short film RAJU, which earned him an Oscar® nomination as well as more than 80 international awards. With Fiction 2.0, his network of filmmakers and journalists, he develops and produces fiction and documentary films, including the microbudget KUNDUZ (2012) and the thriller ON AIR (2013). He also co-founded an educational TV station in Afghanistan.


text:
The CBCDG uses cookies in order to safeguard its services. By continuing to browse this website, you agree to the use of cookies. More information can be found in our Privacy policy.
FAQ News
Currency ₺ TRY - Turkish lira
AZN - Azerbaijan manat
KGS - Kyrgyz som
KRW - Korean won
XPF - IEOM franc
List of all countries (A-Z)
List of all countries (A-Z)AfricaAntarcticaAsiaEuropeNorth AmericaOceaniaSouth America
Wallis-and-Futuna
Official bank or department
Central Bank of the Republic of Turkey
Istiklal Cad. 10
Ulus
06100 Ankara
The Reproduction and publication of pictures and images of banknotes
Low dpi banknote images
General information about the reproduction of banknotes
www.tcmb.gov.tr
Reproduction in printed media
A banknote may be reproduced if at least one of the following criteria is met:
One-sided reproductions are less than 75% or more than 125% of the size of the original banknote.
Double-sided reproductions are less than 50% or more than 200% of the size of the original banknote.
The reproduction is printed on a material other than paper (e.g. metal).
Reproduction in electronic media
For publicly accessible digital images, a reproduction of a banknote must meet both of the following criteria:
The resolution of the image is 72 dpi or less.
The wording "ÖRNEKTİR GEÇMEZ" or "SPECIMEN" is printed diagonally across the reproduction in Arial (or similar) font, with the length of that wording at least 75% of the length of the reproduction and the height of the wording at least 15% of the height of the reproduction. Further information is available via the link "Reproduction and publication of pictures and images of banknotes".
The Central Bank Counterfeit Deterrence Group (CBCDG) is a group of 32 central banks and note printing authorities organized at the request of the Governors of the G10 central banks. Its mission is to investigate the common emerging threats to the security of banknotes, and to propose solutions for implementation by issuing authorities.
List of currencies List of countries
About CBCDG Privacy policy Contact Us


text:
Q: Refresh only a div from the same page, no external source Im trying to refresh a div tag with jquery but it is not working..
i need to refresh a div so the php code gets executed and a text updated..
first i load jquery then the file that contains function i need to execute, and then refresh script, all on header:

  <?php
     require "codes.php";
  ?>

finally the div i want refreshed:

         Your IP address is

            <?php
                echo getip();
            ?>

A: The problem is your php echo will run once when page is opened. As the name of PHP which is abbr of (Hypertext Preprocessor ... bla bla bla) forgot ... so your php code will finally turn into just static html content on your page. Your js setInterval() and jQuery .load() is actually running but the $('#ip') content is still the same.
To be able to get data dynamicaly, you (must) need an external php file which will process the request of echo getip(); again and again.
So like this:
loadip.php
echo getip();

JS
$(document).ready(function() {
    setInterval(loadip,1000);
});

function loadip() {
    $("#ip").load("loadip.php");
}

Or ...
$(document).ready(function() {
    setInterval(function() {
        $("#ip").load("loadip.php");
    },1000);
});

Hope this help. Good luck!

redpajama_set_name: RedPajamaStackExchange


text:
Q: Cookies not being sent by Fetch API I have implemented a login system with Node.js which places a cookie in the client browser after a successful authentication. This cookie contains a username of client that is needed later for fetching client info from database, I'm trying to send that cookie to my Node server with Fetch API request and then read the username on the server-side, but this returns undefined. Here is my login system:
var cookie_parser = require('cookie-parser');
app.use(cookie_parser('mysecretkey'));
app.post('/login', function(req, res) {
  var loginCredentials = {
    Email: req.body.email,
    Password: req.body.password,
  }
  loginCredentials.Password = hashPassword(loginCredentials.Password);
  console.log(loginCredentials);
  CheckPassword(loginCredentials, returnResult);
  // Function used by login API method to fetch password hash by email address from database
  function CheckPassword(loginCredentials, callback) {
    con.query("SELECT Password FROM Customers WHERE Email =?", loginCredentials.Email, function(err, result) {
      if (!err) {
        callback(false, result);
      } else {
        callback(true, err);
      }
    })
  }
  // Function for returning the login result
  // if login is successful, redirect user to front page
  function returnResult(error, result) {
    if (error) {
      res.send(`Database error: ${result}`);
    } else {
      if (result.length > 0 && loginCredentials.Password == result[0].Password) {
        res.cookie('user', loginCredentials.Email, {signed: true});
        res.redirect("http://localhost:3000/");
      } else {
        res.send("Login failed: incorrect email or password");
      }
    }
  }
});

Then I'm trying to read username from that cookie:
app.get('/getCustomerInfo', function (req, res) {
  var username = req.signedCookies.user;
  console.log(username); // prints undefined
  if (username == undefined) {
    res.send('You are not logged in. Log in to place the order');
  } else {
    con.query("SELECT FirstName, LastName, Address, Email, Phone FROM Customers WHERE Email =?", username, function(err, result) {
      if (!err) {
        console.log(result);
        res.send(result);
      } else {
        console.log(err);
      }
    });
  }
});

Here is my Fetch API request:
function GetCustomerInfo() {
  fetch(`http://127.0.0.1:5000/getCustomerInfo`, {
    method: 'GET',
    credentials: 'include'
  })
      .then((response) => response.json())
      .then((response) => {
        setCustomerInfo(response);
      })
      .catch((error) => {
        console.error(error);
      });
      return (

            {customerInfo}

      );
}

What am I doing wrong? Any advice would be highly appreciated.


The objective of this game is for the dog to do all three of the numbered sequences shown on the course map. The sequences can be taken in any order, and in either direction. The dog starts on the table and must begin with the pipe tunnel (the Puppy Cannon) and return to the pipe tunnel after the performance of each of the three sequences.
There is no time limit. The game is judge time plus faults. Any faults are added to the dog's score. A dropped bar, wrong course, or missed contact add 5 fault points; leaving out an obstacle (failure to perform) add 10 fault points.
After the performance of the final pipe tunnel, the dog must be directed back to the table to stop time.
Puppy Cannon is a training game intended for dogs and handlers in the Advanced Beginners program. Mostly we want our students to understand that the pipe tunnel is a cannon. The dog is likely to fire out like being shot out of a cannon. If the course turns the handler must learn how to give the dog information about which direction to go and as quickly as possible.
Our mantra is this: A dog comes out of a tunnel blind, not knowing precisely where he is going. At the instant the dog emerges the handler should show or demonstrate the correct path. An exercise like this allows us to teach an important discipline in handling, to give the dog exiting the tunnel good information as quickly as possible.
Puppy Cannon also builds a rather basic problem solving skill. Since the handler can choose the order of performance of the three working sets, he must tie the three together in a logical flow. This is a skill that is important in games like Snooker and Gamblers, to create flow that wasn't spoon-fed by the judge or course designer.
This could easily turn into a rear crossing exercise, particularly in the transition from #3 to #4 and from #7 to #8. In both cases the rear cross on the approach to the jump should be followed by a front cross on the dismount.
The value of exercises like this is to teach the novice student basic problem solving skills. The questions are always: where does the handler need to be, and how does he manage to get there.
This is an anagram for three things of a type. If you haven't lost yours, tell us what they are.
About three months ago I contacted this group, who'd been doing some strong email spam marketing of their service… to do some website development for me. I pictured (being an optimist) a young, creative and energetic development staff that could transform my best imaginings into a clever, clean and crisp web site presence.
I promptly shelled out something like $700 for what I presumed to be an introductory development project (I have lots of projects on the imagining board).
Sometimes there's a downside to being an optimist. After two months of back and forth communications with the developer, he did one bit for me and managed to get my instructions exactly backwards; while offering up this bland and unimaginative boiler-plate presentation. I spoke to him on the phone one day. He told me he had 150 projects on his desk. Really?
Finally I decided to pull the plug on the project (for non-performance). I called them to give the news. I got a run-around… basically they decided that I had committed to pay them for work they never did and wouldn't do very well if and when they did do it. I just consider it stealing. I have ethics from another century, to be sure.
I spent another month trying to get in touch with their account manager. I got a number of promises that she'd get back to me promptly. But it was all a lie.
The bottom line on UltimatePetWebsites: Save your money… go to a talented high school kid to do your web development. I'm happy to provide a solid review of UltimatePetWebsites for every search engine in cyberspace.
Note1: This group appears to be a subsidiary of AmazingPetExpos.com; another bit for search engines.
Note2: Their web site purports them to the official web designers of the Karen Pryor Academy Certified Training Partners website. Good on Karen. I just wanted to make sure anybody doing a web search on Karen Pryor also reads my review of her web developers. Sorry Karen.
It seems nearly fruitless to design a challenge that maybe 5 guys in the whole world have the equipment to repeat. But if you don't happen to have a tunnel crossover… you can use your old four-legged crossover contact obstacle. Now, we're up to 12 guys in the whole world.
This is intended to be run as a Minuet (when done, repeating from the beginning, over and over until the end of time). The short sequence gives the dog practice making nearly perpendicular entries into the weave poles.
For most of us, the more problematic entry is from the entry side (nearly perpendicular, you'll recall). When making the approach from the off-side most dogs will have the sense to wrap the first pole. But when making the approach from the entry side many dogs will be inclined to find a couple different options for the entry.
This is an excellent opportunity to do some dog training, rewarding the dog for a complete job. In our own classes we'll be inclined to put wire between poles #2 and #4 to reinforce the correct entry; at least with the more novice dogs.
In the 16th century European military forces used an interesting bomb that was a bell-shaped thing filled with gunpowder that was to be attached to a wall or gate and then exploded. What is special expression reserved for someone who gets blown up while setting it up? Also, what is the meaning of the French word from which it is derived?
An "option" in agility, most simply defined, is a course that makes more sense to the dog than the one the judge actually numbered. It is a favorite plaything of many course designers whether by ham-handed kludge/unnumbered dummy jump, or something more subtle and inconspicuous.
This figure-of-eight exercise seems simple enough, even gently flowing. I've left the Clean Run Course Designer-drawn dog's path on the map to enhance the illusion.
The savvy handler will immediately see the option created by the straight line as the dog's path approaches the central jump #2/6. In the opening the dog has a direct view of the wrong course jump. And is the handler's job to convince the dog into the turn to jump #3.
In the turn from jump #6 to #7 the #1 jump is again presented as an opportunity for a wrong course.
The minuet is a game typically played for 50 seconds. The idea is to do the sequence over and over until the expiration of time. A quick dog might do this sequence three times in 50 seconds. What I've found about the Minuet over the years is that it will expose fundamental flaws in handling. The handler might get away with a thing once; and might get away with it twice; but he will not continue to "get away with it" in the minuet.
What is the name of this rig? When fishing with a plastic worm, run the hook through ¼" from the front end; then flip the hook around and draw through the body until the barb barely protrudes (for a weedless cast).
By the way, would you use a sliding sinker, a fixed sinker, or no sinker at all on this rig?
We are programmed to move in a path parallel to the dog's path.
This is a simple and rational approach to handling. It is one of the "Laws of a Dog in Motion": The dog tends to work in a path parallel to the handler's path.
When the handler isn't moving he is upon no path. Consequently the dog has no path to parallel. When the handler is standing still things begin to unravel, if he doesn't understand what direction he should face.
In our advanced "around the clock" work the handler practices: a) not moving, and b) facing in the direction and towards the obstacle that the dog is to perform. You'll note in this set of obstacles the handler's position is equidistant between the obstacles; about 20 feet, give or take.
When doing around the clock training with a dog the handler should understand that the size of the clock-face increases as the dog becomes more skilled; and should be smaller for the more novice dog.
The handler will make his presentation of the obstacles simply by facing the desired/intended obstacle as the dog works. Remember to have the lead hand up (in obstacle focus); and don't be shy to take a small step to apply pressure.
In this sequence the handler initially faces jump #1 (with dog & handler at the 6 O'clock position; then, as the dog wraps around in the turn, the handler will face the next obstacle (with handler at 3 O'clock and dog more at 2 O'clock.
Note that the dog most likely will turn to the side that the handler was working when making the send. But if the dog turns the opposite direction the handler/dog trainer shouldn't be too mental about the event and should still support the dog's approach to the next obstacle.
We should practice turning and giving distance pressure from both directions.
The escalation of the exercise will incorporate more elaborate sequencing. Remember that the handler is not moving and has only the direction he is facing (and verbal cues) to direct the dog. In this sequence there's a real possibility that the handler's ambiguous pressure could put the dog back into the #1 pipe tunnel as it is so near to the #2 jump as to constitute a discrimination.
Many handlers give a lot of practice to handling the serpentine from one side. They should shine in this exercise. Note that it may be good dog training; but it is not always good handling.
Okay, this one will be hard. The handler will need a good absolute directional after jump #4 to sell the turn to the weave poles.
FB has a default setting that that will show only posts from friends who've recently commented on one of your posts (within about a month) or you've commented on one of theirs. All others will be invisible, as though you aren't their friend at all.
If you want to change the setting ~ Go to your homepage; In the drop down next to "Most Recent" in the upper-right corner select "Edit Options", that'll spawn a dialog box to edit your news feed options; select the "Show Posts From" drop down; then choose "All Of Your Friends and Pages". Now you've unleashed the torrent of all your friends' daily dialog doings.
Shakespeare misquoted: "A coward dies a thousand deaths… " Please cite the (entire) correct quotation.
You'll recognize in the layout of the floor that equipment is set to practice the "No Handling" contacts training described in the web log yesterday (http://wp.me/pmSZZ-L7). In fact I have mirror image of the drill on either side of the room. We got a very good workout on the contacts while exploring a variety of contact-related topics.
The set of the floor provides a variety of sequencing opportunities and distance challenges. In the course-work shown here some of us practiced layering to the opposite side of the A-frame while the dog goes away for #6 and #7. This fits neatly with the "No Handling" contact drills as it challenges the team to make a neat turn from the dogwalk into the pipe tunnel at #8 with the handler at a healthy lateral distance.
This is a simple game. The handler must remain with at least one foot in the containment area while sending the dog away to perform a single obstacle; and may be sent away to do another different obstacle only after coming back to the handler. Jumps are worth 1 point; tunnels, the tire, and weave poles are worth 3 points; Contact obstacles are worth 5 points.
The handler may surrender at any time. If the dog repeats an obstacle, then we assume that the team has surrendered.
The handler may direct the dog to perform multiple obstacles on each send and may continue to earn points so long as no obstacle is repeated.
This artwork was featured in a Julia Roberts movie. What was the movie? What is the name of the painting? Who is the artist?
The purpose of this training is to develop a set of directional cues for a dog dismounting a contact obstacle. You must recognize that this will be very different for a dog that finishes the contact in an unambiguous stop; compared to the dog doing a contact-in-motion.
For the dog assuming a 2o/2o there should be a palpable moment of hesitation in the moment before release. For the dog with a running contact the dismount is complicated by the simple inertia of movement.
Like all dog training missions, this isn't something you would do in a single session and then decide that you "own it" or "it doesn't work for my dog". Again I subscribe to the Rule of 5000. It is an ongoing program applied with careful consistency as though we were developing precise syntax for language. That is exactly what we're doing. Training and proofing are applied both in daily workout with the dog and in competition.
I am approaching this training with a "no handling" criteria mostly to insure my dog's raw understanding of the verbal cue. Any handling assistance the dog gets will be from the handler's posture ~ from a stationary position.
A. To the "A" pipe tunnel ~ "Left! Tunnel!" command. The handler rotates toward the dog pushing with pressure on the outside shoulder.
B. To the "B" straight-ahead jump ~ "Go on! Jump!" command. The handler simply faces and points forward, taking a single accelerating step.
C. To the "C" right-side jump ~ "Right! Jump!" command. The handler turns simply toward the jump.
D. To the "D" blind-approach pipe tunnel ~ "Right! Close! Right! Tunnel!" command sequence (though it's unlikely there is time to get out that many words). The handler rotates toward the dog with pulling pressure on the inside shoulder.
Certainly these easy transitions can be managed with the handler moving in a way to suggest the proper course and direction on the dismount. I'm contemplating the inevitability that the handler might not achieve a control position and so should own a well-trained and well-proofed dialog for verbal directive.
A running contact is a slightly different problem as the dog will dismount with inertia that simply does not exist with a dog in a full stop in a 2o/2o. For the contact-in-motion the handler must find the correct timing for the verbal directional cue so that the dog understands his mission before he's entirely off the ramp. If the handler is tardy in his directions then both inertia and guessing (on the dog's part) conspire against a successful outcome.
Managed contacts "handling initiative" are successful mostly when the handler can achieve a control position on the dismount or, when working at a distance, by crossing one's fingers. The handler will basically tap the brakes as the dog dismounts and give the directional cue when the dog touches yellow.
Since I showed my boy Kory the turn-away into the tunnel (which we can do with me 50 feet away, at least) he's developed a bit of a smart-aleck attitude about it and will as often as not make an assumption about the tunnel tucked under the contact ramp as he comes down. What that means is that he'll predispose himself to fold off the ramp into the tunnel. Let's face it guys… it's a powerful tool if that's the next correct obstacle… but it's just a wrong course if it is not. So it's vital to my training program that I leave him guessing and frankly waiting for my cue as to direction on the dismount of a contact.
We've gone to a series of focused topics for our monthly mini-clinics here at Country Dream Dog Agility. Today the topic is "Contacts". This will not be a simple matter of the dismount (whether the dog is on 2o/2o, running, or handling initiative). We also need to address issues of speed, focus, performance at a distance, and discrimination.
Over the next few days I'll share elements of the lesson plan with you and, as much as possible, a bit or two that I learn in the presentation. (Yes, I always learn when I teach).
What is the model of radio teletype machine on which the Japanese Declaration of War was received immediately after the attack on Pearl Harbor?
I wrote this obviously in advance of my seminar in Peoria. By the time I publish it'll be a done deal. Maybe I'll have some good footnotes to attend. It is inescapable that the course designer will have objectives from his own studies to insinuate and those he trains, and thereby torture them with.
I endeavor to create challenges that are subtle but challenging none-the-less while giving the dog a smooth and easy flow. Well smooth yes, but easy only if the dog is well-directed in a timely manner.
These days I'm working a pretty fast dog. But I will say that I equally understand the slow dog and the pure-for-motion dog. As an instructor I must be able to answer to each.
For a moment, since I haven't subjected my Peoria seminar students with this exercise I'm visualizing only my own selfish interests with my faster dog. In this drawing I've added the handler's position (and relative attitude) on the landing side of jump 3 while the dog makes his dismount from the A-frame.
Once the handler recognizes the control position he has to solve the riddle that goes "how the heck do I get there". In this race the handler cannot take the time to micro-manage the approach to the A-frame, or the dismount from it. After sending to jump #1 the handler will cut a neat line to the landing side of jump #3 rotating into the pre-cue posture as the dog is released from the jump.
I should not here that one of the things that works against a good pre-cue is a flat-footed presentation. "Flat-footed" to me means the feet aren't moving at all. So even while the handler is facing contrary to the dog's movement he still supports with his movement… albeit leading with the caboose.
In the transition from Jump #8 to #9 the handler again should have a bold position forward of the dog both to pre-cue the turn to jump #10 and to be on the inside of the curve to the pipe tunnel at #11.
This is a bit of a delicate tactic as the handler must release the dog from his finish position on the A-frame without being so mired in the dismount performance that he can't gain the control position on the landing side of jump #9. So the handler needs to be back, as the dog comes down the A-frame, while reserving a good step to keep pressure out to jump #8.
Okay, the Ohio State Buckeyes were expelled early from the NCAA tournament. And the Arizona Wildcats were as well. Pakistan lost their Cricket match with India. At the same time the myopic USDAA BOD rejected the Top Dog venue opting instead to launch a sub-novice titling program.
Medicare was passed in the early 1960s so that older folks who would be (and were) denied insurance coverage would have access to health care services. Today the Republicans (specifically the Tea-party folks) are working hard to do away with Medicare altogether and repeal (what they call) Obama Care which would require insurance companies to offer coverage to senior citizens.
So, when they're done with this: a) How will senior citizens have access to affordable health care coverage? B) Should we just require them to die, and quit bothering the rest of us?
Questions comments & impassioned speeches to Bud Houston: BudHouston@hughes.net. My web store is up and running: www.dogagility.org/newstore.
This talk of dropped bars has me wanting to explain that Kory has never jumped 26″ until a couple days before his USDAA debut. He's actually a very athletic and smooth working jumper. But raising the jump-height appeals to a task-oriented muscle memory and should be addressed in training.
A couple days before I took off for Barto I set up in the soggy lower field this simple jumping sequence. I made sure to include a spread-hurdle at jump #2 and the broad-jump at #3 (because we were entered in the Steeplechase).
As the sequence is so simple I added my own interesting twist. Basically staying behind (where you see the little man icon in the drawing) I would give Kory "Jump Right!" commands so that he would turn out of the curve and come back towards me. While this had him doing the broad-jump in the wrong direction and (frankly) the spread hurdle as well I got the satisfaction of working on a more advanced training agenda while getting our jump-height warm-up.
By the way, I probably will have to build or buy a USDAA broad jump. Kory put a foot right in the middle of it in the Steeplechase. You do have to understand that the USDAA obstacle is very unlike the AKC obstacle and apparently requires training on that unique construction. Because of the extreme slant of the boards facing the approach the dog can't really tell that it's a hurdle. It looks for all the world like a little ramp squatting on the ground. I'll probably just build the darned thing if I can find the specs on the USDAA web-site.
The Forty-Yard Dash is a simple game developed by Sharon Thompson, from Lenexa, Kansas. The game is an adaptation of a simpler (if that's possible) game developed by Matt Skogan of the Overland Park, KS Police K-9 unit for their Dog Olympics, held every year. The Dog Olympics raise funding for the pet adoption side of the kennel that Matt Skogan and Bob Valencia own and operate. Bob is a detective and Matt is a K9 officer. The game serves as a simple training opportunity to teach simple matters of motivation and speed, body posture and movement. And for all that this game is a simple foot race, it might also teach some people to relax and have fun with their dogs.
All dogs will run a simple straightaway race in a lane (much like a bowling alley lane), beginning on the table and ending with a single hurdle at the end of the 40 yards.
The lane will measure 35 yards from the table to the hurdle, and 5 yards from the hurdle to the Finish Line.
The Forty-Yard Dash is a timed event. The handler can be anywhere in the lane, and may use food, a toy or ball, or just about anything to lure or encourage the dog. The dog can be held by a third person at the start line if the handler desires.
Time begins as the dog's feet hit the ground on the dismount from the table. Time ends when the dog hits the finish line.
The Forty Yard Dash is scored time only. The fastest time wins.
A dog that drops the jump bar is eliminated.
Why was the Roaring Twenties so named?
Questions comments & impassioned speeches to Bud Houston: BudHouston@hughes.net. OMG! My web store is up and running: www.dogagility.org/newstore. I still have a lot of work to do there. I've closed down the eJunkie store.
I finished the day Saturday with another Q and 1st place finish in Pairs. I paired Kory with another BC run by a pleasant young lady who is apparently also a pretty good dog trainer. I went to my hotel figuring that nothing could go wrong for the weekend no matter how things turned out on Sunday. As it would turn out, it was a good thing that I was content. I'm not going to share the blow-by-blow with you. But I will say that I had that very technical Starters Snooker course nailed… but Kory dropped a bar in the #4 combination.
I barely got any sleep on Saturday night. Chucking a couple tons of firewood had inflamed my shoulder so that I was treated through the night with a searing pain that prevented me from actually sleeping. I guess I'm just a woos when it comes to searing pain.
OBTW in the pairs class Kory missed the down contact of the dogwalk. The game is scored Time+Faults so it really made very little difference except that I would prefer that he assume and hold his 2o2o until released.
This is a dream sequence that I will probably incorporate into course work. It keeps drawing itself in my head… and it won't go away until I put it on paper. So there.
This is a sequence that was pressed into my hand by a seminar student. She noted the difficulty of holding the gently curving sequence after the #11 pipe tunnel. I understand that problem, especially if the handler must micro-manage the turn into the tunnel off the A-frame. On Saturday I did set up a similar turn (front contact to tunnel) in the seminar in Peoria just to talk about the technical Tandem.
What most fascinated me about the course map was trying to guess what venue it must represent. I'm still guessing.
Well, maybe I only talked to Peter. 1 Peter 5:5 God opposes the proud but gives grace to the humble.
I was thinking about my disappointment-induced refusal in the Grand Prix qualifier on Saturday. This was a moment of prideful petulance which was immediately punished by a higher power (judge Scott Chamberlain in this case). Kory pushed out of his 2o2o before I actually released him. So as I flat-footed the approach to the final jump in childish pique, Kory spun in front of the jump and earned a refusal.
Let me share a little "humble" thinking with you. It is not my habit to visit rage or scorn on my dog for performance issues. I'll typically accept what happens in competition as information and take that back to my training program for whatever remediation is necessary.
To tell you the truth, something else occurs to me now. I have this longer range vision that I will fade the 2o2o to a running contact (or contact-in-motion in any case). As "dog trainer" I find a terrible contradiction if I correct my dog in any fashion right now for a performance or behavior that I'll set as my criteria for performance later on. Do you follow this logic?
Whether it's a matter of me behaving terribly bad by telling my dog "no" or yelling at him, or picking him up and dragging him off the course… or even if I simply have a moment of childish pique; all of that works against my longer term training and performance ambitions.
Okay cheater… don't you dare Google this! God is watching for sure.
Questions comments & impassioned speeches to Bud Houston: BudHouston@hughes.net. OMG! My web store is up and running. I still have a lot of work to do there. I'll be closing down the eJunkie presentation; and we'll be doing business again with the CFWebstore.
You are currently browsing the Bud Houston's Blog blog archives for April, 2011.


text:
/**
 * Controllers are the glue that binds an application together. All they really do is listen for events (usually from
 * views) and take some action. Here's how we might create a Controller to manage Users:
 *
 *     Ext.define('MyApp.controller.Users', {
 *         extend: 'Ext.app.Controller',
 *
 *         init: function() {
 *             console.log('Initialized Users! This happens before the Application launch function is called');
 *         }
 *     });
 *
 * The init function is a special method that is called when your application boots. It is called before the
 * {@link Ext.app.Application Application}'s launch function is executed so gives a hook point to run any code before
 * your Viewport is created.
 *
 * The init function is a great place to set up how your controller interacts with the view, and is usually used in
 * conjunction with another Controller function - {@link Ext.app.Controller#control control}. The control function
 * makes it easy to listen to events on your view classes and take some action with a handler function. Let's update
 * our Users controller to tell us when the panel is rendered:
 *
 *     Ext.define('MyApp.controller.Users', {
 *         extend: 'Ext.app.Controller',
 *
 *         init: function() {
 *             this.control({
 *                 'viewport > panel': {
 *                     render: this.onPanelRendered
 *                 }
 *             });
 *         },
 *
 *         onPanelRendered: function() {
 *             console.log('The panel was rendered');
 *         }
 *     });
 *
 * We've updated the init function to use this.control to set up listeners on views in our application. The control
 * function uses the new ComponentQuery engine to quickly and easily get references to components on the page. If you
 * are not familiar with ComponentQuery yet, be sure to check out the {@link Ext.ComponentQuery documentation}. In brief though,
 * it allows us to pass a CSS-like selector that will find every matching component on the page.
 *
 * In our init function above we supplied 'viewport > panel', which translates to "find me every Panel that is a direct
 * child of a Viewport". We then supplied an object that maps event names (just 'render' in this case) to handler
 * functions. The overall effect is that whenever any component that matches our selector fires a 'render' event, our
 * onPanelRendered function is called.
 *
 * ## Using refs
 *
 * One of the most useful parts of Controllers is the new ref system. These use the new {@link Ext.ComponentQuery} to
 * make it really easy to get references to Views on your page. Let's look at an example of this now:
 *
 *     Ext.define('MyApp.controller.Users', {
 *         extend: 'Ext.app.Controller',
 *
 *         refs: [
 *             {
 *                 ref: 'list',
 *                 selector: 'grid'
 *             }
 *         ],
 *
 *         init: function() {
 *             this.control({
 *                 'button': {
 *                     click: this.refreshGrid
 *                 }
 *             });
 *         },
 *
 *         refreshGrid: function() {
 *             this.getList().store.load();
 *         }
 *     });
 *
 * This example assumes the existence of a {@link Ext.grid.Panel Grid} on the page, which contains a single button to
 * refresh the Grid when clicked. In our refs array, we set up a reference to the grid. There are two parts to this -
 * the 'selector', which is a {@link Ext.ComponentQuery ComponentQuery} selector which finds any grid on the page and
 * assigns it to the reference 'list'.
 *
 * By giving the reference a name, we get a number of things for free. The first is the getList function that we use in
 * the refreshGrid method above. This is generated automatically by the Controller based on the name of our ref, which
 * was capitalized and prepended with get to go from 'list' to 'getList'.
 *
 * The way this works is that the first time getList is called by your code, the ComponentQuery selector is run and the
 * first component that matches the selector ('grid' in this case) will be returned. All future calls to getList will
 * use a cached reference to that grid. Usually it is advised to use a specific ComponentQuery selector that will only
 * match a single View in your application (in the case above our selector will match any grid on the page).
 *
 * Bringing it all together, our init function is called when the application boots, at which time we call this.control
 * to listen to any click on a {@link Ext.button.Button button} and call our refreshGrid function (again, this will
 * match any button on the page so we advise a more specific selector than just 'button', but have left it this way for
 * simplicity). When the button is clicked we use out getList function to refresh the grid.
 *
 * You can create any number of refs and control any number of components this way, simply adding more functions to
 * your Controller as you go. For an example of real-world usage of Controllers see the Feed Viewer example in the
 * examples/app/feed-viewer folder in the SDK download.
 *
 * ## Generated getter methods
 *
 * Refs aren't the only thing that generate convenient getter methods. Controllers often have to deal with Models and
 * Stores so the framework offers a couple of easy ways to get access to those too. Let's look at another example:
 *
 *     Ext.define('MyApp.controller.Users', {
 *         extend: 'Ext.app.Controller',
 *
 *         models: ['User'],
 *         stores: ['AllUsers', 'AdminUsers'],
 *
 *         init: function() {
 *             var User = this.getUserModel(),
 *                 allUsers = this.getAllUsersStore();
 *
 *             var ed = new User({name: 'Ed'});
 *             allUsers.add(ed);
 *         }
 *     });
 *
 * By specifying Models and Stores that the Controller cares about, it again dynamically loads them from the appropriate
 * locations (app/model/User.js, app/store/AllUsers.js and app/store/AdminUsers.js in this case) and creates getter
 * functions for them all. The example above will create a new User model instance and add it to the AllUsers Store.
 * Of course, you could do anything in this function but in this case we just did something simple to demonstrate the
 * functionality.
 *
 * ## Further Reading
 *
 * For more information about writing Ext JS 4 applications, please see the
 * [application architecture guide](#/guide/application_architecture). Also see the {@link Ext.app.Application} documentation.
 *
 * @docauthor Ed Spencer
 */
Ext.define('Ext.app.Controller', {

    mixins: {
        observable: 'Ext.util.Observable'
    },

    /**
     * @cfg {String} id The id of this controller. You can use this id when dispatching.
     */

    /**
     * @cfg {String[]} models
     * Array of models to require from AppName.model namespace. For example:
     *
     *     Ext.define("MyApp.controller.Foo", {
     *         extend: "Ext.app.Controller",
     *         models: ['User', 'Vehicle']
     *     });
     *
     * This is equivalent of:
     *
     *     Ext.define("MyApp.controller.Foo", {
     *         extend: "Ext.app.Controller",
     *         requires: ['MyApp.model.User', 'MyApp.model.Vehicle'],
     *         getUserModel: function() {
     *             return this.getModel("User");
     *         },
     *         getVehicleModel: function() {
     *             return this.getModel("Vehicle");
     *         }
     *     });
     *
     */

    /**
     * @cfg {String[]} views
     * Array of views to require from AppName.view namespace and to generate getter methods for.
     * For example:
     *
     *     Ext.define("MyApp.controller.Foo", {
     *         extend: "Ext.app.Controller",
     *         views: ['List', 'Detail']
     *     });
     *
     * This is equivalent of:
     *
     *     Ext.define("MyApp.controller.Foo", {
     *         extend: "Ext.app.Controller",
     *         requires: ['MyApp.view.List', 'MyApp.view.Detail'],
     *         getListView: function() {
     *             return this.getView("List");
     *         },
     *         getDetailView: function() {
     *             return this.getView("Detail");
     *         }
     *     });
     *
     */

    /**
     * @cfg {String[]} stores
     * Array of stores to require from AppName.store namespace and to generate getter methods for.
     * For example:
     *
     *     Ext.define("MyApp.controller.Foo", {
     *         extend: "Ext.app.Controller",
     *         stores: ['Users', 'Vehicles']
     *     });
     *
     * This is equivalent of:
     *
     *     Ext.define("MyApp.controller.Foo", {
     *         extend: "Ext.app.Controller",
     *         requires: ['MyApp.store.Users', 'MyApp.store.Vehicles']
     *         getUsersStore: function() {
     *             return this.getView("Users");
     *         },
     *         getVehiclesStore: function() {
     *             return this.getView("Vehicles");
     *         }
     *     });
     *
     */

    /**
     * @cfg {Object[]} refs
     * Array of configs to build up references to views on page. For example:
     *
     *     Ext.define("MyApp.controller.Foo", {
     *         extend: "Ext.app.Controller",
     *         refs: [
     *             {
     *                 ref: 'list',
     *                 selector: 'grid'
     *             }
     *         ],
     *     });
     *
     * This will add method `getList` to the controller which will internally use
     * Ext.ComponentQuery to reference the grid component on page.
     *
     * The following fields can be used in ref definition:
     *
     * - `ref` - name of the reference.
     * - `selector` - Ext.ComponentQuery selector to access the component.
     * - `autoCreate` - True to create the component automatically if not found on page.
     * - `forceCreate` - Forces the creation of the component every time reference is accessed
     *   (when `get<REFNAME>` is called).
     */

    onClassExtended: function(cls, data, hooks) {
        var className = Ext.getClassName(cls),
            match = className.match(/^(.*)\.controller\./),
            namespace,
            onBeforeClassCreated,
            requires,
            modules,
            namespaceAndModule;

        if (match !== null) {
            namespace = Ext.Loader.getPrefix(className) || match[1];
            onBeforeClassCreated = hooks.onBeforeCreated;
            requires = [];
            modules = ['model', 'view', 'store'];

            hooks.onBeforeCreated = function(cls, data) {
                var i, ln, module,
                    items, j, subLn, item;

                for (i = 0,ln = modules.length; i < ln; i++) {
                    module = modules[i];
                    namespaceAndModule = namespace + '.' + module + '.';

                    items = Ext.Array.from(data[module + 's']);

                    for (j = 0,subLn = items.length; j < subLn; j++) {
                        item = items[j];
                        // Deciding if a class name must be qualified:
                        // 1 - if the name doesn't contains at least one dot, we must definitely qualify it
                        // 2 - the name may be a qualified name of a known class, but:
                        // 2.1 - in runtime, the loader may not know the class - specially in production - so we must check the class manager
                        // 2.2 - in build time, the class manager may not know the class, but the loader does, so we check the second one
                        //       (the loader check assures it's really a class, and not a namespace, so we can have 'Books.controller.Books',
                        //       and requesting a controller called Books will not be underqualified)
                        if (item.indexOf('.') !== -1 && (Ext.ClassManager.isCreated(item) || Ext.Loader.isAClassNameWithAKnownPrefix(item))) {
                            requires.push(item);
                        } else {
                            requires.push(namespaceAndModule + item);
                        }
                    }
                }

                Ext.require(requires, Ext.Function.pass(onBeforeClassCreated, arguments, this));
            };
        }
    },

    /**
     * Creates new Controller.
     * @param {Object} config (optional) Config object.
     */
    constructor: function(config) {
        this.mixins.observable.constructor.call(this, config);

        Ext.apply(this, config || {});
        this.createGetters('model', this.models);
        this.createGetters('store', this.stores);
        this.createGetters('view', this.views);

        if (this.refs) {
            this.ref(this.refs);
        }
    },

    /**
     * A template method that is called when your application boots. It is called before the
     * {@link Ext.app.Application Application}'s launch function is executed so gives a hook point to run any code before
     * your Viewport is created.
     *
     * @param {Ext.app.Application} application
     * @template
     */
    init: Ext.emptyFn,

    /**
     * A template method like {@link #init}, but called after the viewport is created.
     * This is called after the {@link Ext.app.Application#launch launch} method of Application is executed.
     *
     * @param {Ext.app.Application} application
     * @template
     */
    onLaunch: Ext.emptyFn,

    createGetters: function(type, refs) {
        type = Ext.String.capitalize(type);

        var i      = 0,
            length = (refs) ? refs.length : 0,
            fn, ref, parts, x, numParts;

        for (; i < length; i++) {
            fn    = 'get';
            ref   = refs[i];
            parts = ref.split('.');
            numParts = parts.length;

            // Handle namespaced class names. E.g. feed.Add becomes getFeedAddView etc.
            for (x = 0 ; x < numParts; x++) {
                fn += Ext.String.capitalize(parts[x]);
            }

            fn += type;

            if (!this[fn]) {
                this[fn] = Ext.Function.pass(this['get' + type], [ref], this);
            }
            // Execute it right away
            this[fn](ref);
        }
    },

    ref: function(refs) {
        refs = Ext.Array.from(refs);

        var me = this,
            i = 0,
            length = refs.length,
            info, ref, fn;

        me.references = me.references || [];

        for (; i < length; i++) {
            info = refs[i];
            ref  = info.ref;
            fn   = 'get' + Ext.String.capitalize(ref);

            if (!me[fn]) {
                me[fn] = Ext.Function.pass(me.getRef, [ref, info], me);
            }
            me.references.push(ref.toLowerCase());
        }
    },

    /**
     * Registers a {@link #refs reference}.
     * @param {Object} ref
     */
    addRef: function(ref) {
        return this.ref([ref]);
    },

    getRef: function(ref, info, config) {
        this.refCache = this.refCache || {};
        info = info || {};
        config = config || {};

        Ext.apply(info, config);

        if (info.forceCreate) {
            return Ext.ComponentManager.create(info, 'component');
        }

        var me = this,
            cached = me.refCache[ref];

        if (!cached) {
            me.refCache[ref] = cached = Ext.ComponentQuery.query(info.selector)[0];
            if (!cached && info.autoCreate) {
                me.refCache[ref] = cached = Ext.ComponentManager.create(info, 'component');
            }
            if (cached) {
                cached.on('beforedestroy', function() {
                    me.refCache[ref] = null;
                });
            }
        }

        return cached;
    },

    /**
     * Returns true if a {@link #refs reference} is registered.
     * @return {Boolean}
     */
    hasRef: function(ref) {
        return this.references && this.references.indexOf(ref.toLowerCase()) !== -1;
    },

    /**
     * Adds listeners to components selected via {@link Ext.ComponentQuery}. Accepts an
     * object containing component paths mapped to a hash of listener functions.
     *
     * In the following example the `updateUser` function is mapped to to the `click`
     * event on a button component, which is a child of the `useredit` component.
     *
     *     Ext.define('AM.controller.Users', {
     *         init: function() {
     *             this.control({
     *                 'useredit button[action=save]': {
     *                     click: this.updateUser
     *                 }
     *             });
     *         },
     *
     *         updateUser: function(button) {
     *             console.log('clicked the Save button');
     *         }
     *     });
     *
     * See {@link Ext.ComponentQuery} for more information on component selectors.
     *
     * @param {String/Object} selectors If a String, the second argument is used as the
     * listeners, otherwise an object of selectors -> listeners is assumed
     * @param {Object} listeners
     */
    control: function(selectors, listeners) {
        this.application.control(selectors, listeners, this);
    },

    /**
     * Returns instance of a {@link Ext.app.Controller controller} with the given name.
     * When controller doesn't exist yet, it's created.
     * @param {String} name
     * @return {Ext.app.Controller} a controller instance.
     */
    getController: function(name) {
        return this.application.getController(name);
    },

    /**
     * Returns instance of a {@link Ext.data.Store Store} with the given name.
     * When store doesn't exist yet, it's created.
     * @param {String} name
     * @return {Ext.data.Store} a store instance.
     */
    getStore: function(name) {
        return this.application.getStore(name);
    },

    /**
     * Returns a {@link Ext.data.Model Model} class with the given name.
     * A shorthand for using {@link Ext.ModelManager#getModel}.
     * @param {String} name
     * @return {Ext.data.Model} a model class.
     */
    getModel: function(model) {
        return this.application.getModel(model);
    },

    /**
     * Returns a View class with the given name.  To create an instance of the view,
     * you can use it like it's used by Application to create the Viewport:
     *
     *     this.getView('Viewport').create();
     *
     * @param {String} name
     * @return {Ext.Base} a view class.
     */
    getView: function(view) {
        return this.application.getView(view);
    }
});