text:
There is a large overlap between the content about Memory Management and that of Caching and Freshness. Both should be read to fully understand how caching and memory management should play a part in your application design.
One of the most frequently asked, and hard to figure out, questions related to WebObjects is: "My application keeps using old values from the database. How do I ensure it gets fresh data?"
Caveats and Warnings
Until someone else wants to write a chapter on exactly what's going on, and what the Enterprise Objects Framework is doing, that will remain unsaid on this site. But do understand that EOF is attempting to be efficient and not go to the database more often than neccesary — since a db transaction is relatively expensive. Every choice you make in this area is really a trade off between efficiency of your app and 'freshness' of your db values. Depending on the requirements of your app, different choices may be called for.
Some of these methods may also effect 'optimistic locking' behavior, depending on what optimistic locking behavior is neccesary. A chapter on OptimisticLockingTechniques in WO/EOF would be welcome, because effectively using optimistic locking (taking account both of values changed by other app instance, and other sessions in the same instance) can be trickier than one would think.
Note: Some people have suggested that using EOFetchSpecification.setRefreshesRefetchedObjects and EOEditingContext.setDefaultFetchTimestampLag together will result in "unable to decrement snapshot" exceptions. Unfortunately, we really don't know anything more about this at this time.
But here are some ways to ensure 'freshness' of database values:
- In your Application constructor, call:
|Code Block
This means that every EOEditingContext, when created, will insist on getting data fresh from the database that's no more than two seconds older than the EOEditingContext itself. If the EOEditingContext was created at 1:23:00, and there are snapshots on record from BEFORE 1:22:58, those snapshots won't be used, instead a new fetch to the db will be done.
The argument '2' up there is the number of seconds prior to the creation of the EOEditingContext, that that EOEditingContext is willing to accept data from. You can use whatever value you want. Thinking about it, you'll realize that setting it to '0' as you might initially want to, your app will potentially make very many more db transactions when under very heavy load, without gaining much in 'freshness' of data, so a non-zero value is probably preferable.
[WO:Oops, depending on which documentation you believe for which version, the argument may be in milliseconds instead of seconds. Beware].
[WO:in WO5.2.3 the default is 3600000 so obviously is milliseconds]
[From the WO 5.3 documentation: public static void setDefaultFetchTimestampLag(long lag)
Sets the default timestamp lag for newly instantiated editing contexts to lag.
The default lag is 3,600,000 milliseconds (one hour). When a new editing context is initialized, it is assigned a fetch timestamp equal to the current time less the default timestamp lag.
Setting the lag to a large number might cause every new editing context to accept very old cached data. Setting the lag to too low a value might degrade performance due to excessive fetching. A negative lag value is treated as 0.]
Just to make this clear: the lag constitutes a fixed time, not a rolling time window. So it ONLY makes sure that any data in your newly created EC is not older than the time of creation minus the lag.
- For some (or all!) EOFetchSpecifications, call setRefreshesRefetchedObjects(true) on it. This will mean that when you actually execute this fetch spec, and it goes and makes a transaction with the db, the values returned by the db will actually be used! Counter-intuitively, with the default value of refreshesRefetchedObjects==false, WO/EOF will sometimes ignore new values returned from the db in favor of older values in cached snapshots.
Note that combining both methods (setDefaultFetchTimestampLag and setRefreshesRefetchedObjects) is buggy. It is NOT RECOMMENDED. You will see decrementSnapshotCountForGlobalID errors if you do.
Note that if you use setPrefetchingRelationshipKeyPaths on the EOFetchSpecification, the relationships mentioned will be followed and their destinations fetched with this EOFetchSpecification as well, and the setRefreshesRefetchedObjects directive will apply to those destination objects too.
Not Sure Whether to Recommend
- Some people use various methods to invalidate and/or refault their Enterprise Objects to ensure that the next access of those objects will result in fresh data. I am somewhat cautious of these methods, as the documentation is confusing and in some cases actually recommends against using them. Nonetheless, some people say they use them to good effect. I would recommend using other methods if you can. Maybe someone else wants to contribute more information?
Not Recommended
- I would NOT recommend trying to use the databaseContextShouldUpdateCurrentSnapshot EODatabaseContext delegate method. The documentation implies you can implement this delegate method such that you will always get fresh data---sort of the effect of setRefreshesRefetchecObjects(true) on every single fetch spec without needing to do that on every single fetch spec. But in my own experience, attempting to do this caused various problems for EOF and various cryptic exceptions would occur. So I don't recommend it.
What Various Developers Actually Do
Jonathan Rochkind
In my own highly interactive and collaborative applications, I place a high value on freshness of data, over efficiency of my app. Implementing the setDefaultTimestampLag with a very low value, and calling setRefreshesRefetchedObjects(true) on the majority of fetches has resulted in acceptable and reasonably fresh data in my applications. I do not really think that the efficiency has suffered much either, but I haven't investigated it fully and I am not concerned with maximizing the number of requests-per-time-period that can be dispatched.
Michael Johnston
When an eo absolutely has to be fresh (example 1, choosing an hourly winner in a game that had > 500,000 games played per day at it's peak; example two an asynchronous event processor that receives events both over the wire and from internal threads) I use two step fetch-save with a lock column, with a polling loop with a random, increasing sleep time. This is multi-instance, multi-app-server safe but doesn't ever lock up a thread for more than .8 of a second running against oracle. So far. I tried using database locking, but it resulted in several-second lockups.
Jesse Barnum
I use this code on the detail view of my enterprise objects when I want to make sure that they are up-to-date. I'm not explicitly doing a fetch, I just invalidate the particular object plus it's related objects, and they will automatically be refaulted and fetched when the page is displayed. As shown in the code sample, you must explicitly invalidate related objects. If you can count on your users knowing when information is stale, then a nifty technique is to trigger this code if a user hits reload in their browser.
|Code Block
EOEditingContext ec = object.editingContext(); NSMutableArray ids = new NSMutableArray(); // Invalidate the object ids.addObject(ec.globalIDForObject(object)); // Invalidate a to-one related item ids.addObject(ec.globalIDForObject((EOEnterpriseObject)object.valueForKey("adreq"))); // Invalidate a to-many relationship Enumeration en = ((NSArray)object.valueForKey("correspondences")).objectEnumerator(); while(en.hasMoreElements()) ids.addObject(ec.globalIDForObject((EOEnterpriseObject)en.nextElement())); ec.invalidateObjectsWithGlobalIDs(ids);
Refreshing Many-to-Many Relationships
Chuck Hill
The freshness methods described above are limited in that they only refresh the attributes and the to-one relationships (in other words, the data directly in the row). They do not refresh to-many relationships to show changes in which objects are in the relationship. This means that if objects are added to the relationship by another process (or in another Object Store) your code will not see them as being related. Conversely, if objects are removed from the relationship in another object store they will still appear in the relationship. I don't know why this is, perhaps it is simply a shortcoming of EOF. Refreshing to-many relationships is unfortunately expensive and laborious.
One solution is to invalidate the objects that you need to refresh to-many relationships for. While this works, it can be expensive in terms of processing and have unintended side effects if the invalidated objects had unsaved changes.
There is another option that I've used but which I'm still not 100% convinced has no bad side effects when edits are in progress. This method of refreshing to-many relationships works by setting the snapshot for the to-many relationship to null. It only works for one object and one relationship at a time so refreshing many objects can be a little annoying. The implementation is slightly convoluted as we need to get down to the EODatabase level.
Here is gist of the code which refreshes relationshipName on sourceObject:
|Code Block
sourceEditingContext = sourceObject.editingContext(); EOEntity sourceObjectEntity = EOUtilities.entityForObject(sourceEditingContext, sourceObject); EOModel sourceObjectModel = sourceObjectEntity.model(); EOGlobalID sourceGlobalID = sourceEditingContext.globalIDForObject(sourceObject); EODatabaseContext dbContext = EODatabaseContext.registeredDatabaseContextForModel(sourceObjectModel, sourceEditingContext); EODatabase database = dbContext.database(); database.recordSnapshotForSourceGlobalID(null, sourceGlobalID, relationshipName);
Anjo Krank
While the method above will get fresh data the next time an EO is created you will have to perform an additional step to see the new data in an existing object:
|Code Block
Object o = eo.storedValueForKey(relationshipName); if(o instanceof EOFaulting) { EOFaulting toManyArray = (EOFaulting)o; if (!toManyArray.isFault()) { EOFaulting tmpToManyArray = (EOFaulting)((EOObjectStoreCoordinator)ec.rootObjectStore()) .arrayFaultWithSourceGlobalID(gid, relationshipName, ec); toManyArray.turnIntoFault(tmpToManyArray.faultHandler()); } } else { // we should check if the existing object is an array, too EOFaulting tmpToManyArray = (EOFaulting)((EOObjectStoreCoordinator)ec.rootObjectStore()) .arrayFaultWithSourceGlobalID(gid, relationshipName, ec); eo.takeStoredValueForKey(tmpToManyArray, relationshipName); }
EOEntity's Cache-In-Memory Setting
When you set Cache In Memory to true for an EOEntity, it tells EOF that you want it to try to always use an in-memory cache to store all instances of this entity. The first time that you fetch an object of the entity marked Cache In Memory, ALL instances of that entity will be fetched into memory. This is very useful for relatively static data (like enumerated type EO's, or other similar types of data that are infrequently modified in your application). Note that this is completely independent of EOF's normal snapshot caching, which will be in use regardless of the value of this setting. This setting is only used to determine if the ENTIRE dataset of your entity should be cached AT ALL TIMES. There are some very important implementation details that you should be aware of when you use this setting.
All behaviors described below MAY change from WO release to WO release and are not intrinsic requirements of the Cache In Memory feature, but are important considerations for anyone using the feature. All of these were verified to be true as of WebObjects 5.3:
The first is that Cache in Memory bypasses snapshot reference counting. Cache In Memory objects WILL NOT be released by EOF. In the end, this should not matter much, because you should not be using this flag on entities that have very large numbers of objects anyway.
On the performance front, be aware that Cache In Memory objects are indexed ONLY by EOGlobalID (primary key). If you are using an EOQualifier to find your objects (as opposed to traversing a to-one or to-many relationship that CONTAINS the object, which uses a primary key lookup), you will be doing a "full table scan" of your objects in memory. This is further reason to only use cache in memory on small cardinality entities. If you cache your 2 million row entity, it may likely be SLOWER to fetch EO's with an EOQualifier than if you just let the database take care of its business if the first place.
Another major performance detail of Cache In Memory is that if you make a change to ANY EO of the cached entity's type, ALL EO's of that type will be flushed from the cache and reloaded on the next access. This further supports the best practice of not using Cache In Memory for mutable EO's. If you have a Person EO set to cache-in-memory and you change the name of one Person, your entire cache will be dumped. The next time you fetch any person, the entire Person table will be reloaded. This can be catastrophic on a large series of changes (you can end up trashing the cache - you save one EO, cache flushes, it then reloads the entire cache, you save the next one, the cache flushes, etc etc).
Lastly, there is a quirk of Cache In Memory EO's where the cache will not be used unless your EOFetchSpecification has setDeep(true) on it. If isDeep is false on your fetch specification, a normal database fetch will occur (negating the usefulness of your cache). This is also true of EOUtilities methods that use EOFetchSpecifications internally. Project Wonder provides alternative implementations of several of the common EOUtilities fetch methods that setDeep(true).
invalidateAllObjects BAD!
First, and most importantly, the concept of invalidation in EOF is about cache coherency with the database, NOT memory management.
Now, invalidation does have some side effects which can have positive influences on Java memory usage, but using it for this purpose is akin to using a 50# sledge hammer to drive those miniature picture hanging nails into the wall.
I strongly recommend you only use invalidation when you as the application programmer have external information which is inaccessible to EOF regarding changes in the state of the database. i.e. You just executed an arbitrary stored procedure which had side effects all over your table. Or you got an RMI message from another process saying it updated a row. Or it's Monday, 3am, and on Monday, 2am, your DBA's cron job always deletes everything in a "temp" table. Or you've found a bug in EOF (alas, it happens), and this is the only workaround.
As others have noted, invalidation forcefully nukes the snapshot in the EODatabase cache. The increases the cache miss rate, reducing the performance of your application. Depending on your pattern of firing faults, 10,000 rows which took only 1 fetch to retrieve initially might take 10,000 fetches to restore into the cache. BAD. Prefetching and batch faulting can ameliorate this a little bit. They're a lot better than naive faulting, actually, but nothing can replace doing the right fetch the first time. Nothing by several orders of magnitude.
Nuking the snapshot has a number of other deleterious consequences. This cache is a shared resource used by all the ECs in your application. When one EC annihilates the resource all the other ECs are depending on ... So, EOF posts notifications about invalidation. Whenever something is invalidated, all the ECs in the application are affected, and must process the notification. In a large web application with many concurrent sessions, this can be a lot of unnecessary chatter. Invalidation and its ensuing notifications are very stressful on concurrently operating threads. Invalidations are propagated throughout the entire application, even if they were initiated from a nested EC.
[More technically precise: throughout the entire EOF stack centered around the EOObjectStoreCoordinator. In 5.1, it is theoretically possible to have several of these stacks, each with their own cache and EOObjectStoreCoordinator. Most EOF notifications are not passed between ECs using different OSCs. In practice, for 5.1, this is the entire application.]
Refaulting is much kinder and gentler. It only affects the EC it is invoked upon, so it won't interfere with ECs for other users. It will decrement the reference count on the snapshot (which may or may not release the snapshot). It will break outbound references within that EC. And if the current snapshot in the cache is "fresh enough" as defined by that EC's fetchTimestamp, firing the fault will use the cache instead of generating another fetch. Refaulting does not post notifications (although if the snapshot is not fresh, firing the fault will cause a fetch which will post)
Okay, so all of that had to do with databases. This thread is really about memory management with EOF in Java, so back to the point.
What does ec.dispose() do?
EOEditingContext does a lot of work. It has relationships to a number of other objects (including registering itself to receive notifications) and it is primarily responsible for maintaining a very large cyclic graph of objects (EOs). dispose() tells the EC that it will never be used again, and it should perform as much clean up work as possible. This decrements snapshot reference counts, unregisters for various things, and breaks references. Depending on your JVM, this may or may not help the GC reclaim memory faster. If you don't invoke dispose(), the EC's finalizer will. Most applications do not need to directly invoke dispose(), but your mileage may vary.
dispose() does not invoke any invalidate method.
For batch style EOF operations, the undo functionality is frequently overlooked as a source of problems (strong references). By default, EOF uses an unlimited undo/redo stack. If you are not going to use undo/redo, then you should seriously consider either setting the EC's undo manager to null, or performing removeAllActions on the EC's undo manager at logical checkpoints (like after saveChanges). The only downside to setting the EC's undo manager to null is that you will not be able to recover from validation exceptions. Depending on your batch operations, that may not be an issue. For a robust application, I would leave the undo manager, but use setLevelsOfUndo() to keep the stack small, and invoke removeAllActions() regularly.
For applications using EOF outside of an WebObjects application, some processing is left until the end of the current event. You may need to manually invoke eventEnded() on the NSDelayedCallbackCenter. Inside a WebObjects application, this is done for you at the end of a request.
In WO 5.1, EOEditingContexts have strong references to all their registered EOs, and EOs have NO reference to their editing context. The implications for GC should be fairly obvious.
invalidate does not clear away the EO objects themselves. It will force the memory for the database cache to go away, but the EOs will still be in memory and retained by their EC ...
Raw Rows
Raw Row results are never cached. If your application is using raw rows for its batch operations and is still having memory problems, then you need to evaluate your code. OptimizeIt or JProbe is definitely worth having. That's true even if you aren't doing raw row work.
Freshness Explorer
At WOWODC 2009 East, Mark Ritchie managed to dig up an old XCode project called Freshness Explorer for his demo. It appears the copy has been updated to work with WOLips and is currently located here (svn site) or it can be downloaded from here. That project has dependency on the MySQL database, which is great if you're using MySQL. If you are not using MySQL, you can use WO:this patch to remove the dependency and use Wonder's memory adaptor instead.


text:
RSBS Presents: Being Thankful for Detroit
The dream is over. The Tigers have been eliminated and it happened in ghastly fashion with a straight-up mauling at the hands of the Rangers on Saturday night. It's not a fun way to end a season but it could be worse. So much worse. Ultimately, Detroit has a lot to be thankful for. And we have a lot for which we should thank Detroit. That's why RSBS Presents: Being Thankful for Detroit.
This Girl:
You have to admit, that's a pretty compelling argument.
This guy:
Abandoned buildings, freezing temperatures, elevator shafts and homeless people? Where else could this happen? Detroit is the perfect storm.
This service:
And what it contains:
Sure, it may be illegal but when a guy like Kwame Kilpatrick could probably still win back the mayor's seat, that's not saying much.
So yeah, I'm bummed the Tigers didn't make it to the Series. It would have been great to see them come back and keep the run going for Michigan sports teams. But I'm not going to get too down. After all, life is still pretty good, right Louis?

subset: commoncrawl


text:
✌ Your personal information is not stored and not shared with others
Sms Verification For MoneyLion Chile
To verify your MoneyLion Chile account easily upload a balance on our site then choose a number and receive an SMS code and confirm your account with in seconds.
Choose one of our mobile phone numbers for MoneyLion Chile and use the sms verification service and protect your privacy against advertisements.
For MoneyLion Chile you will automatically be directed to the activation page after the phone number buy action. Enter your phone number in the MoneyLion Chile profile that you have opened and enter the verification code section. You should enter your phone number on the your MoneyLion Chile acount in enter the verification section. And then you must click to the send verification code.
Your MoneyLion Chile verification code will come to the activation page again. You must enter the code to your MoneyLion Chile acount and you must complete your MoneyLion Chile mobile approval process.


text:
NEW YORK (AP) ? Investors set aside housing market doldrums and rushed to grab shares of real estate website Zillow on Wednesday, valuing the company at as much as $1.6 billion.
Zillow Inc., which has never made a profit, is yet another beneficiary of strong investor demand for the latest crop of Internet stocks. Many of the recent market debutantes provide social networking, online games or search. Zillow's shares tripled in their trading debut on the Nasdaq stock market. Zillow had set a price of $20 for its stock late Tuesday. The shares rose as high as $60 before settling back to close at to $35.77, valuing the Seattle-based company at about $950 million.
The weak housing market did not hurt Zillow's IPO. Figures released Wednesday show that Americans are buying homes at the weakest pace in 14 years.
Zillow's initial public offering follows filings by high-profile Internet companies ranging from daily deals site Groupon Inc., the professional networking service LinkedIn Corp., along with Zynga Inc. best known for the online game "FarmVille." Though these Internet-based companies are generating a lot of IPO euphoria, but the attention they receive on their initial day of trading has not guaranteed success. Pandora Inc., the online radio service, has seen it shares fluctuate wildly since going public on June 14. Pandora's shares are now trading at $17.60, 10 percent above their offer price.
"Investors are very keyed up on business models that integrate the Internet into their main platform and have mobile apps," said David Menlow, the founder and president of research company IPOfinancial. He added that there is also a lot of pent-up demand for promising companies in what's been a stodgy overall market.
Founded in 2004, Zillow provides online listings for more than 100 million homes that are either for sale or for rent. A feature called "Zestimate" helps estimate property values, so that people can see how much homes in their neighborhood_or desired neighborhood? are worth.
The Zestimate has drawn criticism from homeowners across the country who suddenly had the value of their homes ? as well as what they bought it for ? easily accessible by anyone with an Internet connection. Zillow calculates the figure by taking available data, most of it public, and entering it into a formula that takes into account hundreds of such details as how many bathrooms or bedrooms a home has or where it is located. The site also offers personalized mortgage rates and housing advice. The company has never made a profit, though it grew its revenue 74 percent in 2010, to $30.5 million.
Zillow makes money from advertising, by real estate professionals as well as mortgage companies and brands such as phone or insurance companies. Spencer Rascoff, Zillow's 35-year-old CEO, said the volatile housing market has actually helped the company grow its ad revenue. That's because it accelerated companies' migration to online advertising from higher-priced offline ads in newspapers and elsewhere.
In the first quarter of this year, Zillow's loss narrowed to $826,000 from $2.8 million in the same period a year earlier and revenue doubled to $11.3 million. The company reported a loss of $6.8 million last year.
Though investors are betting on yet-unprofitable companies such as Zillow, experts say the current fever for Web stocks is hardly the bubble of the late 1990s and early 2000s. There are far fewer companies going public, and the ones that do have been around longer and have established business models. That wasn't always the case in the '90s. Menlow said, back then, investors didn't even look at the companies they were snapping up, and only asked "how many shares can I get?". He noted that investors are being more careful these days.
Like LinkedIn, Groupon and Zynga, Zillow is reaping the benefits of being the first to the market, as far as IPOs go, in its niche. This, said Menlow, usually assures a big market share, even if the company's business model isn't all that unique and could be duplicated by a competitor. Internet IPOs are hitting the sweet spot for investors, Menlow said, adding that while he would like to differentiate between the companies, "I don't know if investors are willing to do that at this point."
Whether the company's business model warrants the billion-dollar valuation is another question.
"At this point investors feel they know better than the analysts," Menlow said.
Including a private stock sale of 275,000 shares, Zillow raised $74.7 million in the IPO. That the company offered relatively few shares is another likely reason for its strong market debut.
Also on Wednesday, SkullCandy Inc., the maker of trendy headphones for iPhones and other gadgets, also went public. The company priced its shares at $20. Wednesday afternoon, the stock was trading slightly higher at $20.12 after earlier hitting $23.40.
AP Business Writer Tali Arbel in New York contributed to this story.


text:
When the average person visits a website for the first time, their eyes follow an F-pattern.
When I visit a website for the first time, I look at something else. In less than a second, I have a decent idea of how much traffic that website gets which helps me decide whether or not to stay.
Knowing how much traffic a website gets helps you validate the website's content and lets you know how much traffic you need to get to see similar results.
Here are ten little-known techniques for figuring out how much traffic someone else's website gets.
By the way, SEMRush is my favorite tool.
The Alexa Ranking isn't exactly "little-known," but it is the best-known metric for ranking websites. This is the first thing I look at when I visit a site:
Alexa tracks stats for everyone who has the Alexa toolbar installed on their browser, which accounts for less than 1% of internet users. So it's not very accurate, but it'll give you a rough idea of the website's popularity.
Alexa's reliability is shaky – some argue that it's worthless – so it's important to consider other metrics.
Compete.com is like Alexa, except they pull their stats from multiple sources and it's only based on U.S. traffic.
Based on checking my sites and Income Diary, the "Unique Visitors" stat that it generates is much lower than the actual traffic.
SimilarWeb is another website traffic checker that's similar to Alexa and Compete, except, it's got a lot more detail put into it, so it's more accurate!
The main takeaway is that it gives you a line graph with values for the number of daily unique visitors and the sources. You can see the countries that your traffic comes from, top referring sites, the top destination sites (sites people visit after yours), display ads, audience interests, and up to 10 organic keywords with the free version.
Feed Compare is a neat tool that lets you see how many RSS subscribers a website has as long as they use FeedBurner.
Step 1: Find the FeedBurner ID for a blog you'd like to check:
Most sites should link directly to their RSS feed on FeedBurner. Look for the orange icon.
Step 2: Put the FeedBurner ID into Feed Compare's tool.
As you can see, Seth Godin has over 500,000 subscribers and it grew 1,500 in one day.
My favorite tool for website-based keyword research is SEMRush.com. Here's a screenshot when you search IncomeDiary.com:
As you see, Michael ranks 1st for "internet businesses," 4th for "how to make money blogging," and 6th for "how to make money online." Those are highly competitive keywords that are collectively searched over 20,000 times per month.
As you go down the list, you can start to estimate how much traffic he gets for each keyword based on the position and search volume.
If a website has a YouTube or Vimeo video embedded on the homepage, click to "Watch on YouTube."
If the video is public, both YouTube and Vimeo will show the view counts. Also check the upload date to estimate how many people view it per month.
Just because the homepage Dollar Shave Club video has almost 4 million views doesn't mean that their site had 4 million views. But it gives you some idea of how much traffic they got in their first month.
Another way to gauge the popularity of a blog is to look at how many comments it gets per post.
With my sites, I've found that an average of 1 out of every 200 readers leaves a comment. So a post with 20 non-Nicholas comments was viewed about 4,000 times. This changes with every post and every blog, but again, it gives you a general idea.
Immediately after you comment on a WordPress blog, your browser redirects you to where your comment will show up. If you look at the URL, you'll see something that looks like this:
The second half of the URL tells you that you left the 108,656th comment on IncomeDiary.com. This number includes spam comments. Assume that 75-90% of the comments are spam and you can get an idea of how many comments a site has had since day one.
In the beginning, lots of bloggers share all of their stats about how much traffic their site is getting and where this traffic is coming from. As the blog grows, this information becomes more and more valuable so most bloggers stop sharing it.
If you peruse through the archived articles on a blog, there's a good chance you'll stumble upon a "blog in review" or "traffic report" post. With those stats, you can start to figure out how much traffic the site is getting today.
A few sites, like ThinkTraffic.net, choose to publish traffic reports every month because those stats are very relevant to their audiences.
By far, the most accurate way to figure out how much traffic a website gets is to go to their Advertising page.
If a blog is trying to sell advertising space, they need to tell you exactly how many unique views and impressions your ad is going to get every month.
If you sell advertising space on BuySellAds, you need to share your monthly unique and monthly impressions.


text:
Dear friends, I recovered my old blog, and I'm very happy with it!
Thank you all for the support and the help to start my new blog.
As much as I have spend the time to make this new blog, you all
will understand that I will go on with my old blog. I invite all my new
and old followers to come to my old blog and join me there again.
Thanxxx again and see you at the old blog!


text:
The Fray
The Fray is an American rock band from Denver, Colorado. Formed in 2002 by schoolmates Isaac Slade and Joe King, they achieved success with the release of their debut album, How to Save a Life in 2005, which was certified double platinum by the RIAA and platinum in Australia, Canada, New Zealand and the UK. The Fray achieved national success with their first single, "Over My Head (Cable Car)", which became a top ten hit in the United States. The release of their second single, "How to Save a Life", brought the band worldwide fame. The song charted in the top three of the Billboard Hot 100 and was a top 5 single in Australia, Canada, Ireland, Italy, Spain, Sweden, and the United Kingdom.
The group's self-titled, second album, released in 2009, debuted at number-one on the Billboard charts[4] and was certified gold in the United States, Australia and Canada. It was also nominated for a Grammy Award for Best Pop Vocal Album in 2010.[5] While both the albums were commercially successful, critical reception was mixed. The Fray was ranked No. 84 on Billboard's "Artists of the Decade" list.[6] Their third album Scars & Stories, released in 2012, achieved moderate commercial success; debuting and peaking at number four on the Billboard 200. The album again received mixed reviews from critics. The band's fourth album, Helios, was released in February 2014. The band's compilation album, Through the Years: The Best of the Fray, was released in November 2016.
The Fray's use of the piano as the lead instrument in their music has led critics to compare the band with English piano-driven bands such as Coldplay and Keane.[7][8][9] However, the band lists its influences as the Wallflowers, Counting Crows, Better Than Ezra and U2.[10]
Formation and early years (2002–2004)
The band members' lives were largely formed in Denver churches where they helped lead worship, and in the Christian school three of them attended. Isaac Slade and guitarist Joe King were several years ahead of drummer Ben Wysocki at Faith Christian Academy. Wysocki and guitarist David Welsh played in the same worship band. In the spring of 2002, former schoolmates Isaac Slade and Joe King reconnected and began regular two-man jam sessions that led to writing songs. Isaac and Joe later added Mike Ayars on guitar, Zach Johnson on drums, and Slade's younger brother Caleb on bass, though Caleb was later asked to leave. Caleb's departure from the band caused a rift in his relationship with Isaac and this rift later became the inspiration for the song "Over My Head (Cable Car)", which is about the brothers' wanting relationship.[11] Following this Johnson left the band as well to attend an art school in New York.
Ben Wysocki, a former bandmate of Isaac Slade, joined as drummer and later, Dave Welsh, who was another former bandmate of Slade and Wysocki, was added as lead guitarist to the band. The newly formed band was named the Fray. The band members decided on a name after asking people to put band names on a piece of paper from which they picked randomly. The members of the band first claimed that they found the name suitable because they frequently quarreled about the composition of the lyrics in their songs, but they have since stated they are usually on good terms while composing music and acknowledges contributions from all of its members.[12] The band has had no permanent bassist since Caleb, instead employing touring bassists on a temporary basis. The current bassist is Jason Hardin, who has been touring with the band since 2014.
The band released its first record, Movement EP in 2002. The next year, the band released Reason EP produced by How To Save A Life co-producer Aaron Johnson, which garnered the band local fame and acclaim.[13][14] Westword, an alternative newsweekly, gave Reason EP a positive review, stating "The music is epic, no doubt, but it's played on a wholly human scale".[15] Despite these reviews, the band struggled to launch a single; Denver radio station KTCL rejected eight of their songs before the band decided to submit a demo of "Cable Car". The song found airplay on a KTCL radio show highlighting local bands, and the radio station received a large number of requests for it soon thereafter.[16] The band changed the name of the song to "Over My Head (Cable Car)", and as the song's airplay increased alongside their local following, the band was voted "Best New Band" by Westword in 2004.[14] Epic Records A&R man Daniel Davis discovered the band through the article in Westword[13][17] and soon after, Epic Records officially signed the band on December 17, 2004.
How to Save a Life (2005–07)
The band's debut album How to Save a Life was released on September 13, 2005; its style is between traditional rock and alternative rock.[18] "Over My Head (Cable Car)" was released as the first single from the album, and it soon became a top 40 hit on the Modern Rock Tracks chart in late 2005, peaking at No. 37.[19] The single gained airplay nationally, entering the Billboard Hot 100 chart on the issue marked February 25, 2006. Fourteen weeks later, it reached its peak position at No. 8 on the Hot 100 chart.[20] On the Billboard Adult Top 40 chart, the single reached the No. 2 position.[21] Internationally, the song was a Top 25 hit in Australia, Canada, Denmark, Ireland, New Zealand and the UK. The song was the fifth-most downloaded single of 2006.[22]
While "Over My Head (Cable Car)" was rising on the charts, the song "How to Save a Life" was first featured during a second-season episode ("Superstition", aired March 19, 2006) of Grey's Anatomy, and then on a fifth-season episode ("My Lunch", aired April 25, 2006) of Scrubs.[23] Despite not having been originally released as a single, "How to Save a Life" entered the Hot 100 chart on the issue marked April 15, 2006. The song was released as the band's second single. On August 18, 2006, ABC announced that the song would be used for the main advertising promotion for the season premiere of Grey's Anatomy.[24]
Only weeks after this promotion started, the song became the Fray's second Top 40 hit in the United States. The song peaked at No. 3 on the Hot 100 chart, surpassing the peak position of "Over My Head (Cable Car)".[25] It tied for the seventh longest charting single of all time on the Hot 100 chart, with Santana's "Smooth", at 58 consecutive weeks.[14] The song also topped the Adult Top 40 chart for 15 consecutive weeks.[26] "How to Save a Life" was a major hit internationally, topping the singles chart in Ireland, Spain and Canada. The song also charted in the top five in Australia, Italy and Sweden and was the band's first hit in the United Kingdom, peaking at No. 4 on the UK Singles Chart.[27]
"Over My Head (Cable Car)"
"Over My Head (Cable Car)" from How to Save a Life
|Problems playing this file? See media help.
"Look After You" was released as the third single from the album. It peaked at No. 59 on the Hot 100 chart and was the band's first single to miss the Top 40.[25] The song was written by the lead singer of the Fray Isaac Slade. It is about his then girlfriend and future wife. How to Save a Life peaked at No. 15 on the U.S. Billboard 200 chart, and charted in the top ten in Australia, Canada, Ireland, New Zealand and the UK and was certified the best-selling digital album of all time, breaking the record held previously by Coldplay's X&Y.[28][29]
While the album met with commercial success, critical reception from mainstream critics was mixed; Allmusic gave the album a modest review, but stated that the Fray "lacked originality" and the album itself lacked any "inspiration and excitement".[30] Stylus Magazine gave the album a negative review, stating, "The Fray, as a rule, are moribund, emotionally strained, and uninvolving."[31] Rolling Stone and Blender echoed many of these statements while giving the album three stars out of five.[32][33] However, the album garnered acclaim from Christian music magazines; Jesus Freak Hideout gave the album a glowing review, stating "How to Save Life is nearly perfect" and gave the album a 4.5/5 star rating.[34] HM Magazine, another American magazine devoted to Christian music also gave the album a positive review, rating it 4/5 stars.[35]
To promote the album, the Fray began a worldwide tour and released a live album, Live at the Electric Factory: Bootleg No. 1, on July 18, 2006. The concert was recorded on May 21, 2006, at the Electric Factory in Philadelphia, Pennsylvania. On September 19, they re-released How to Save a Life as a CD/DVD set including a documentary on the making of the album.[36] On September 4, 2007, the band released another live album, Acoustic in Nashville: Bootleg No. 2, which was recorded in late 2006. The album could only be purchased with the original CD from Target but was made available on the iTunes Music Store on November 13, 2007. On October 16, 2007, the band re-released their 2003 EP, Reason.[14] The band also released a live cover of John Lennon and Yoko Ono's "Happy Xmas (War Is Over)" as a 2006 Christmas single (it debuted and peaked on the Hot 100 chart at No. 50 on the strength of a large number of digital downloads)[36] and worked with Reverb, a non-profit environmental organization, for their 2007 summer tour.[37]
The Fray and Christmas EP (2008–2010)
The band finished recording their self-titled second album at the end of July 2008 for a February 3, 2009, release.[38] The album was produced by Aaron Johnson and Mike Flynn, the same production duo from the band's debut album, and recorded by Warren Huart.[39] A documentary, Fair Fight, directed by Rod Blackhurst[40][41] was included with the first 300,000 copies of the second album.[42][43] The lead single from the album, "You Found Me" debuted online on December 9, 2009, on VH1.com,[44] and debuted at No. 28 on the Hot 100 chart, the band's highest debut on the chart to date. The song peaked at No. 7 on the chart, (making it the band's second highest charting single)[45] and topped the Billboard Hot Adult Top 40 Tracks chart[46] as well as the Australian Singles Chart, becoming the band's first song to reach number-one in Australia.[47] It is also the band's third song to sell 2 million digital downloads in the United States, after "Over My Head (Cable Car)" and "How to Save a Life".[48] Following the success of "You Found Me", the album, released on February 3, 2009, debuted at No. 1 on the Billboard 200 chart, selling 179,000 copies in its first week of release. The music video was directed by fellow Denverite Josh Forbes. It was filmed in Chicago and was an homage to the Wim Wenders film Wings of Desire[4]
On February 3, 2009, the Fray released their self-titled second effort to the Christian market. The band opted to release their second album in both markets. In a video for the song "You Found Me" that includes some behind-the-scenes footage, lead vocalist Isaac Slade says that this album is what they would have done the first time if they had the time, and where they want to go for the rest of their career. On February 13, 2009, the Fray wrote a song called "Be the One". The song was written in the space of 24 hours when Q asked the band to write a love song for the occasion of Valentine's Day.[49][50] The demo version of the song was released on the band's official website on November 11, 2009.[51] The band also covered Kanye West's song "Heartless"[52] which charted at No. 79 on the Billboard Hot 100, while a video for the cover was released worldwide on iTunes on August 11, 2009. Both songs were included in the deluxe edition of the band's second album. "Heartless" was also included on the band's third live album, The Fray: Live from SoHo,[53] which was released on April 7, 2009. On November 10, 2009, the band released the deluxe edition of The Fray which contained a second disc of never-before-released songs, including "Heartless".[54]
"Never Say Never" was released as the second single from the album. The song was a modest hit in the US; it peaked at No. 32 on the Hot 100 chart and at No. 10 on the Hot Adult Top 40 Tracks chart while internationally it failed to match the success of "You Found Me". The song was used in the pilot episode as well as in the series finale episode and the pre-finale special of the television series, the Vampire Diaries. The third single from the album, "Syndicate", released on January 12, 2010,[55] peaked at No. 16 on the Hot Adult Top 40 Tracks and at No. 40 on the Pop Songs chart, becoming the band's second single to miss the Hot 100 chart and the lowest charting single from the album.[56]
Again, critical reception to the album was mixed. Rolling Stone termed the album as "nothing new"[57] while Entertainment Weekly stated, "The Fray is all blah, all the time: more minor-key melodies and more dreary tempos."[58] Allmusic, whilst giving the album a modestly positive review, echoed many of these statements, commenting that "the songcraft remains virtually unchanged" and termed the album as "How to Save a Life – Part 2."[59] However, AbsolutePunk criticized the negative reviews, stating, "For what it's worth, the Denver quintet has released a charming, appealing record that would be far more praiseworthy if it didn't sound so much like its predecessor... it may be an album a lot like its predecessor, but that isn't exactly a bad thing."[60] At Metacritic, a review aggregate website, the album holds a rating of 56/100 based on 9 professional reviews, meaning "mixed or average reviews".[61]
The Fray collaborated with Timbaland on his album, Shock Value II, which was released on December 8, 2009. The band was featured on the song "Undertow", which, despite not being released as a single, entered the Billboard Hot 100 at No. 100, the week ending November 28, 2009. On December 22, 2009, the band released an EP, Christmas as a free download from the band's official website. The EP contained five acoustic covers of popular Christmas carols and was recorded by Warren Huart in Nashville at Blackbird Studios.[62]
In an interview with Westword in June 2010, guitarist Dave Welsh announced that the band was working on an EP containing covers of songs by artists such as Annie Lennox, Billy Joel, Bruce Springsteen and Bob Marley but did not give a specific release date.[63]
Scars and Stories (2011–12)
The Fray's third album Scars and Stories, was produced by Brendan O'Brien and was recorded in Blackbird studio, located in Nashville, Tennessee. During an interview with Colorado Daily, Slade explained why the band had recruited O'Brien as their producer; "Sonically, we wanted to make this record sound as close as possible to the live shows", citing Pearl Jam and Bruce Springsteen as influences for the sound of the record that they were trying to capture.
As for the lyrical aspect of the album, Slade said that the lyrics capture a more aggressive tone than their previous records.[64][65] Guitarist Joe King recorded on the album.
Mixing for the third record began on June 21, 2011. On July 14, 2011, Slade confirmed that the mixing and recording for the third album had been completed via Twitter "Finished our third record about half an hour ago.".[66] When asked about possible release dates for the album, Slade mentioned his hope that the album will be out by October 2011, or at least in time for Thanksgiving.[65] However the date was pushed backed to early 2012.
On September 13, during a live performance at the Ryman Auditorium in Nashville, the band announced that the new album is titled Scars and Stories, and performed the first single from the new album titled "Heartbeat".[67] They also performed "Run for Your Life", which was going to appear on the third record.
The band also contributed a cover of "Take Your Time" to the tribute album Listen to Me: Buddy Holly, released September 6, 2011, as well as a cover of "Mahna Mahna" for the album Muppets: The Green Album.
The band announced in an interview on the VH1 Top 20 Video Countdown that the second single from the album would be the fourth track, "Run for Your Life". The video for the song was released on March 13, 2012.
The third single from the album is the closing track, "Be Still". This song featured in Criminal Minds, Season 7, Episode 20, The Company, as the song when Cindy, Derek Morgan's cousin, was finally reunited with her family at the end of the episode.
Helios (2013–present)
After Scars and Stories, Slade promised a fourth album by the end of 2013.[68]
On June 4, 2013, the Fray announced that they had begun recording their fourth album.[69] The first single from the album, "Love Don't Die", was released to radio on October 15, 2013, and to iTunes on October 21, 2013. It was accompanied by a lyrics video, also released on October 21, 2013, and an official music video, filmed on November 13, 2013, at Cowboy Palace Saloon in Chatsworth, California, and released on December 6, 2013.
The album, Helios, had been scheduled to be released on January 14, 2014, but was pushed back to February 25, 2014. Instead, another song, titled "Hurricane", was made available on January 14, 2014.
On September 9, 2016, the Fray released a single, "Singing Low", which is also included on their greatest hits album, Through the Years: The Best of the Fray.[70] In late 2016, the band went on tour to promote the album.
Musical style and songwriting
How to Save a Life consisted of a mix of mid-tempo piano-driven pop rock tracks and power ballads.[71][72] The band's second album spread the spectrum of the music: the pop rock songs were faster and more energetic, while the ballads were softer than the ballads on the first album.[73]
Slade's vocals feature falsetto and a strong American accent. On the second album, his vocals were more aggressive, most notably on the tracks "We Build Then We Break" and "Say When".[74]
The lyrics on both albums revolve around life's problems and issues. Common themes include happiness, sadness, death, the problem of evil, relationships, and war. The honest and emotional nature of the lyrics[75][76] has also had critics labeling the Fray as emo, comparing them to mainstream emo acts like Jimmy Eat World.[30] The Fray's initial songs contained lyrics with strong religious messages. However, by the time they began work on their debut album, the band decided against being an entirely religious outfit because they believe that God has called them away from the "Christian music genre and into a secular market."[77]
Band members
Current members
Current touring musicians
Former members
Former touring musicians
- How to Save a Life (2005)
- The Fray (2009)
- Scars & Stories (2012)
- Helios (2014)
Awards and nominations
Grammy Awards
|"Over My Head (Cable Car)"
|Best Pop Performance by a Duo or Group with Vocal
|"How to Save a Life"
|Best Rock Performance by a Duo or Group with Vocal
|"The Fray"
|Best Pop Vocal Album
|"Never Say Never"
|Best Pop Performance by a Duo or Group with Vocal
Billboard Music Awards
|"How to Save a Life"
|Digital Album of the Year
|"The Fray"
|Digital Album Artist of the Year
|Digital Songs Artist of the Year
|New Artist of the Year
Planeta Awards
The Planeta Awards is an annual Peruvian awards ceremony established by Radio Planeta. The Fray has received one award from two nominations.
|The Fray
|New Rock Artist of the Year
|"How to Save a Life"
|Ballad of the Year
Teen Choice Awards
|"The Fray"
|Choice Music: Breakout Group
|"You Found Me"
|Choice Music: Rock Track
Premios 40 Principales
|"How to Save a Life"
|Best International Song
APRA Awards
|"You Found Me"
|International Work of the Year
- ^ Martin, Gavin (March 8, 2012). "Christian band The Fray praise Bono and say that success takes them beyond religious roots". Mirror.
^ Smyers, Darryl (April 27, 2012). "The Fray's Isaac Slade: 'We Are an Aftermath of Disappointment Band'". Dallas Observer.
...the band has built a loyal fan base within the Christian music market. ... music has been embraced by fans of Christian music.
^ Saas, Don (February 1, 2012). "An Interview with Isaac Slade of the Fray". Baeble Music. Retrieved November 25, 2015.
Although the Fray don't make any overtly religious music, the band's past heavy involvement with churches in their local Denver has often led to the Fray being pegged as a "Christian" band.
- ^ a b Daniel Kreps. "On the Charts: Springsteen Slips to Second as the Fray Lock Up Number One : Rolling Stone : Rock and Roll Daily". RollingStone.com. Retrieved February 13, 2010.
- ^ "Nominees". GRAMMY.com. Archived from the original on December 3, 2009. Retrieved 2010-01-02.
- ^ "Artists of the Decade". Billboard.com. Retrieved February 13, 2010.
- ^ Hoard, Christian. "The Fray". RollingStone.com. Retrieved February 13, 2010.
- ^ Sendra, Tim. "How to Save a Life". AllMusic. Retrieved February 13, 2010.
- ^ Oliver, Nic. "The Fray – The Fray". MusicOMH.com. Retrieved February 13, 2010.
- ^ "The Fray Biography". TheTabWorld.com. Retrieved February 13, 2010.
- ^ Gitlin, Lauren (August 10, 2006). "Enter the Fray". Rolling Stone.
- ^ Tomlinson, Sarah (February 24, 2006). "Life less ordinary". The Boston Globe. Retrieved February 13, 2010.
- ^ a b "Let Us Fray". Westword.com. Retrieved April 5, 2010.
- ^ a b c d "The Fray biography". Allmusic.com. Retrieved April 5, 2010.
- ^ "Reason EP review". Westword.com. February 19, 2004. Retrieved April 5, 2010.
- ^ Smith, Dane (March 30, 2006). "The Fray Live the High "Life"". RollingStone.com. Retrieved February 13, 2010.
^ "Completely Frayed". Longmont Daily Times-Call. May 12, 2006.
|last1=in Authors list (help)
- ^ "The Fray". oxfordmusiconline.com. Retrieved June 15, 2014.
- ^ "Modern Rock Tracks". Billboard. October 22, 2005.
- ^ "Billboard Hot 100". Billboard. October 7, 2006.
- ^ "Hot Adult Top 40 Tracks". Billboard. October 7, 2006.
- ^ Barnes, Ken (July 13, 2006). "First half sales: Downloads up; CDs, revenues down". USA Today. Retrieved February 15, 2010.
- ^ "NBC.com Scrubs: Music Guide". Scrubs-Tv.com. Retrieved February 15, 2010.
- ^ Albiniak, Paige (September 24, 2006). "How 'Grey's' got that catchy new "theme" song". New York Post.
- ^ a b "The Fray Chart History". Billboard. Retrieved April 6, 2010.
- ^ "The Fray Billboard Chart History". Billboard. Retrieved April 6, 2010.
- ^ "The Fray – How to Save a Life: Charts". aCharts.us. Retrieved February 15, 2010.
- ^ "The Fray: 'How To Save A Life' Now The Biggest Selling Digital Album Of All Time!". Sony BMG. Archived from the original on October 8, 2009.
- ^ "The digital success of The Fray (3:38)". Reuters.
- ^ a b Sendra, Tim. "Review: The Fray – How to Save a Life".. Retrieved October 23, 2006
- ^ "How to Save a Life – Album Review". Stylus Magazine. September 22, 2005.
- ^ "Review: The Fray – How to Save a Life". Rolling Stone. September 22, 2005.
- ^ Hunter, James (November 2005). "Review: The Fray – How to Save a Life". Blender.
- ^ "The Fray – How To Save A Life". Jesus Freak Hideout. September 13, 2005.
- ^ Callaway, Chris (January–February 2007). "The Fray How to Save a Life". HM Magazine (123): 64. ISSN 1066-6923.
- ^ a b "The Fray: Official Website". TheFray.net. Retrieved February 15, 2010.
- ^ "Reverb – Artists". Reverb. Retrieved February 15, 2010.
- ^ "The Fray – "'You Found Me' (AOL Sessions)"". AOL Sessions. Retrieved February 15, 2010.
- ^ Ben, Ayala (November 14, 2008). "The Fray unveiling song on ABC". Hollywoodreporter.com. Retrieved February 15, 2010.
- ^ Blackhurst, Rod (November 12, 2008). "Assorted Documentary Trivia". BlogSpot.com. Retrieved February 15, 2010.
- ^ "The Fray Take 2". Denver Magazine. October 31, 2008. Retrieved February 15, 2010.
- ^ "Rod Blackhurst ::Director :: Photographer". Rod Blackhurst. Retrieved February 15, 2010.
- ^ Herrera, Dave. "Rod Blackhurst puts up a Fair Fight when he has to – Denver Music – Backbeat Online". Blogs.WestWord.com. Retrieved February 17, 2010.
- ^ "The Fray's "You Found Me" video premieres". Westword.com. Retrieved April 8, 2010.
- ^ "The Billboard Hot 100 – You Found Me". Billboard. March 17, 2009. Retrieved 2009-03-17.
- ^ "The Billboard Hot Adult Top 40 Tracks – You Found Me". Billboard. Retrieved April 5, 2010.
^ "Top 50 Singles Chart – ARIA". ARIA. Archived from Top 50 Singles Chart – Australian Recording Industry Association the original Check
|url=value (help) on February 8, 2010. Retrieved April 5, 2010.
- ^ Paul Grein, Chart Watch – Week Ending May 3, 2009: Age Is Just A Number, music.yahoo.com, May 3, 2009
- ^ "The Fray's Valentine's Day songwriting challenge". Westword.com. Retrieved April 5, 2010.
- ^ "Hear The Fray's exclusive Q Challenge track here - News - QTheMusic.com". News.Q4Music.com. Retrieved February 17, 2010.
- ^ "The Official The Fray Site". Blog.TheFray.net. Retrieved February 17, 2010.
- ^ Kanye West- Heartless (The Fray Cover). YouTube. Retrieved February 17, 2010.
- ^ Trust, Gary (May 21, 2009). "Chart Beat: Kris Allen, SWV, Green Day, Al B. Sure!". Billboard. Nielsen Business Media, Inc. Archived from the original on February 19, 2013. Retrieved February 17, 2010.
- ^ "Deluxe Edition of "The Fray" Out Now". Blog.TheFray.net. Retrieved February 17, 2010.
- ^ "Radio Industry News, Music Industry Updates, Arbitron Ratings, Music News and more!". FMQB.com. Archived from the original on October 28, 2010. Retrieved February 15, 2010.
- ^ "The Fray – The Basics". Billboard. Retrieved February 15, 2010.
- ^ "The Fray – The Fray". Rolling Stone. Retrieved April 27, 2010.
- ^ "The Fray (2009) – The Fray". Entertainment Weekly. January 21, 2009.
- ^ "The Fray – The Fray – Review". Allmusic. Retrieved April 27, 2010.
- ^ "Fray, The – The Fray – Album Review". AbsolutePunk. February 20, 2009.
- ^ "The Fray by The Fray". Metacritic. Retrieved April 27, 2010.
- ^ "The Fray gets into the holiday spirit". Westword.com. Retrieved April 5, 2010.
- ^ "The Fray to release a covers album". Westword.com. Retrieved June 14, 2010.
- ^ "The Fray opens for U2 Saturday, plays secret show in Boulder". Coloradodaily.com. Retrieved May 18, 2011.
- ^ a b "Isaac Slade on the Fray's new album, working with Brendan O'Brien and opening for U2". Westword.com. Retrieved May 18, 2011.
- ^ "Finished our third record about half an hour ago". Twitter.com. Retrieved July 17, 2011.
^ "The Fray – Heartbeat Live". Youtube.com. Retrieved 14 MaySeptember 2011. Check date values in:
- ^ Ross, Matt (October 8, 2012). "The Fray Set to Start Work on Fourth LP". Rolling Stone. Retrieved March 2, 2014.
- ^ "The Fray - We started recording our 4th record". Facebook. June 4, 2013. Retrieved March 2, 2014.
- ^ "The Fray to Release Greatest Hits, Tour this Fall". Radio.com. August 22, 2016. Retrieved October 14, 2016.
- ^ "The Fray – How to Save a Life Review". MusicianForums.com. December 15, 2005. Retrieved February 17, 2010.
- ^ "The Fray: How to Save a Life : Music Reviews : Rolling Stone". RollingStone.com. September 22, 2005. Retrieved February 17, 2010.
- ^ "The Fray: The Fray : Review : Allmusic". Allmusic.com. February 3, 2009. Retrieved February 23, 2010.
- ^ "Fray, The – The Fray". AbsolutePunk.net. February 20, 2009. Retrieved February 23, 2010.
- ^ Interview with The Fray. YouTube.com. Retrieved February 13, 2010.
- ^ Interview with The Fray. YouTube.com. Retrieved February 23, 2010.
- ^ "Into The Fray". Retrieved February 23, 2010.
External links
|Wikimedia Commons has media related to The Fray.
- Official website
This article uses material from the article The Fray from the free encyclopedia Wikipedia and it is licensed under the GNU Free Documentation License.


text:
Show SummaryAdam opens the show frustrated after sitting in non-stop traffic all day. He talks about a stressful Mangria signing, followed by a way too early wakeup call the next morning. Adam then discusses his day racing at Coronado and the importance of showing your kids that you enjoy life. Later, Mick Foley enters the studio and talks about his life as a wrestler, and what he's been up to since. Bald Bryan then reviews the film Rush during this week's Baldywood, and talks with Mick about a particularly gruesome sequence in the wrestling doc Beyond the Mat. Next up, Mick's friend Siri joins the podcast, and Adam asks her about her life in the porn industry. Siri then talks about how Adam inspired her husband to be a swinger, and what it was like shooting her first porn scene. As the show wraps up, Siri discusses her bisexual past, and Adam asks Siri about why she chose pornography.
LinksFor more info on today's guest, visit http://realmickfoley.com, or you can follow him on Twitter @RealMickFoley.
Superfan SidebarClick Here for Superfan Giovanni's recap and commentary on today's episode. For more, go to AdamCarolla.com/Gio.
Show CreditsProducers: Mike August, Mike Lynch, and Mike Dawson Co-Producers: Gary Smith, Chris Laxamana, Matt Fondiler and Jeff Fox Newsgirl: Alison Rosen Sound Effects: Bryan Bishop


text:
The Smell of Wildflowers
Warm light is cast across endless wildflower meadows in Mt. Rainier National Park.
Foggy Atmosphere
Just after the sun sets, fog blanketing the Puget Sound begins creeping into the city.
Layers of Cold
Low clouds move through the valleys of snow-covered mountains in British Columbia.
Sea of Spectators
Viewed from the heart of the Olympic Mountain Range where endless carpets of avalanche lilies adorn meadows, a full moon descends into a bank of glowing clouds at sunrise.
Waves of Silk
As the colorful remnants of a spectacular sunset remain aglow distant on the horizon, low lying clouds gently roll over and weave through the hills and valleys of the Olympic Mountains' eastern slopes. The dazzling natural beauty of the rugged Pacific Northwest landscape provides this unusually elegant backdrop as twilight falls over the Emerald City.
Elegant Dunes
Remote wind-sculpted sand dunes in Death Valley National Park.
Window to a Giant
Mt. Rainier stands in the distance as shadows extend across its meadows late one summer evening.
Dancing to the Sun
The sun breaks through a small gap on the horizon, setting this scene in the Pasayten Wilderness ablaze in golden backlight.
Floating in the Clouds
The Space Needle makes an appearance as the rest of the city below is shrouded in heavy pre-dawn fog.
Valley of Gold
As the sun rises, it shines through a rain storm directly down canyon and provides backlight to the larches of Headlight Basin in the Alpine Lakes Wilderness.
Glacial Rush
Fresh glacial melt rushes through this canyon hidden away in the woods of the Washington Cascade Mountain Range.
Stormy Mountain
A wild and stormy morning at Mt. Rainier National Park. During the hike to this location, there was wind, fog, lightning, lenticular clouds, and rainbows. The dramatic light and weather perfectly complemented the stunning wildflower meadows radiating from Washington State's tallest peak.
Happy Place
Rolling springtime hills covered in arrowleaf balsamroot.
Pastel Glow
The thick, moisture-laden air of the Olympic Coast is aglow with the pastel hues of dusk as the moon closes in on the horizon.
Fiery Reflection
Intense colors in the skies above Grand Teton National Park cast shades of purple over pristine snow along the banks of the Snake River.
Hidden Waterfall
Nestled in the back in the moss-covered walls of a slot canyon sits Lower Oneonta Falls.
Afternoon Treat
Clouds break in the late afternoon to reveal Mt. Rainier.
Nature's Paintbrush
Slopes covered in wildflowers serve as a foreground as the sun sets on this dramatic North Cascades scene.
Punchbowl Morning
Warm sunlight breaks through the morning fog at Punchbowl Falls.


text:
The diversity division
After the Future of Web Apps 2006 conference in San Francisco, a post by Chris Messina lamenting the lack of women in the line-up prompted heated debate and high emotions.
The Future of Web Apps 2007 conference just wrapped up in London and Jason Kottke has reignited the debate. What's changed since the last time? Not much.
Tempers are still getting frayed and the discourse is generally pretty unhelpful.
Let me say from the start that I do think there is a problem with having so many conferences with such unbalanced line-ups and I firmly believe that a lot of the responsibility lies with the organisers to change things. That said, I also understand just how hard it is to put on any kind of conference at all.
To the people accusing conference organisers of being some kind of cabalistic old boy's network: you're really not helping. You'll catch more flies with honey than vinegar.
To the people organising conferences who throw up their hands and say "it's not our job, we're just reflecting the sad reality": you're being equally unhelpful.
So, all of you: try walking a mile in the other person's shoes. That way, if you still don't agree, you'll be a mile away from the other person and you've made off with their shoes.
Eric came out with a provacative post that's just aching to be quoted out of context:
So, here it is: as a conference organizer, I don't care about diversity.
I admire and respect Eric but I think in this instance that he is wrong. We'll just have to agree to disagree.
Eric makes the very persuasive argument that to put on a successful conference, the line-up needs to be filled with well-known, established speakers. (This prompted the obvious question from a few people in the comments; just how does one become well-known or established? As Jen says,
Eric, it is becoming a circle jerk.)
Success doesn't just mean financial success, though I readily admit that the economics of organising a conference are fiendish. A successful conference is about more than just getting bums on seats.
Yes, if you fill a line-up with "A-listers" then you'll sell all your tickets and the attendees will learn from the best and everyone will be happy… in the short term. In the long term, it's unsustainable. It leads to a closed loop, a neverending cycle of the same names talking about the same subjects. Diversity isn't just a means to an end (that end being a better conference), it is in and of itself, A Good Thing.
Conferences, especially well-established conferences (and I would put An Event Apart into that category) can and should take some chances. Yes, it's risky. No, you can't guarantee ticket sales. But it will be a better conference if the line-up has some wild cards.
I firmly believe that conferences shouldn't simply be mirrors for the Web business, reflecting whatever is current and accepted. A good conference can act as a force on the industry. Conference organisers have a great opportunity here and I think it's a shame to see it wasted.
Alright… enough talking about conference organisers as if they were some kind of separate caste of people. It's time to point the finger at myself.
My company, Clearleft, organises the dConstruct conference in Brighton every year. It's really Andy's baby but he very kindly asks for my opinions in putting the conference together. I personally feel very strongly that this year's dConstruct needs to change from last year's homogenous line-up (I'm pretty sure Andy agrees).
Even if we sell every ticket, even if everybody blogs about having a great time, if the line-up consists of a bunch of white male speakers ("A-list" or otherwise), I will consider the conference a failure.
But what to do? The perceived wisdom is that there are simply far more kick-ass men speakers than women. I don't believe that's true. I think there are far more visible men in our industry, but with just a bit effort it's entirely possible to find a wealth of women speakers who can truthfully be described as well and truly kick-ass.
I'm not sure if I'm supposed to blog about this, but for months now, we at Clearleft have had a BaseCamp project set up with the specific intention of finding new blood for dConstruct. We've invited people from outside our circle of expertise and interests and asked them to suggest speakers. The idea is to deliberately introduce diversity, to stir things up a bit and ultimately, to put together the most kick-ass line-up of speakers we can.
Is this tokenism? Absolutely not. I fully concur with Eric when he says:
What's important is technical expertise, speaking skills, professional stature, brand appropriateness, and marketability.
But I don't believe that this attitude conflicts in any way with the desire to increase diversity. It's entirely possible to put together a superb line-up of diverse speakers.
Don't believe me? Take a look at Web Directions North (or South for that matter), one of the best, most stimulating conferences I've ever attended. They didn't make a big deal about the mixture of topics and presenters, they just put together the best line-up they could.
I'm not saying it's easy. I know for a fact that it's a lot of hard work. But it's achievable; Web Directions is a testament to that.
I'm also going to have to agree to disagree with Tantek, another person I admire and respect greatly. He is of the opinion the kind of thing I'm suggesting would indeed fall under the category of tokenism:
Why is it that gender (and less often race, nay, skin-color, see below) are the only physical characteristics that lots of otherwise smart people appear to chime in support for diversity of?
Where are all the green-eyed folks? Where are all the folks with facial tattoos? Where are all the redheads? Where are the speakers with non-ear facial piercings?
Actually, I would agree with Tantek if I were talking about diversity of sexes, but I'm not. I'm talking about diversity of gender. There's a difference. Sex means male or female. Gender means masculine or feminine.
I fully agree that a speaker's sex makes about as much difference as their eye-colour or hairstyle but a speaker's gender can and does affect their outlook and experience. As someone who has a (primarily) masculine gender, I know that I can learn a lot more from being in a mixed masculine/feminine environment. That's one of the reasons why I'm glad my band isn't an all-male affair.
I'm not just arguing semantics here. I'm trying to point out why I think Tantek's argument is reducto ad absurdum. Gender isn't like eye-colour. Introducing more gender diversity into a conference is productive in the same way as introducing someone with a background in product design or some other non-Web field that can offer a new perspective on our industry (this isn't just an off-hand comparison).
I hope I've made my point clear. Let me reiterate that I can see both sides of this debate but I do come down firmly on the side of increasing diversity. I just hope that I can work towards this goal in a constructive way.
Frankly, I find Jason Kottke's reductionist statistical approach to be counter-productive. It's not just about numbers, Jason. I'm also not so sure that Anil's abrasive style is particularly constructive but his clever riposte to the Future of Web Apps line-up is illuminating.
I do feel bad for Ryan. He always seems to bear the brunt of the blame even though plenty of other conferences are equally lacking in diversity.
However… I do take issue with Ryan's attempt to wash his hands by pointing out just how many of the speaker slots were bought by sponsors. I'm sorry, but selling time slots to the highest bidder is no way to put a conference together. I'm well aware of the economic realities of putting on a conference and I know that selling slots to sponsors is established practice in certain circles but it won't cut it with the geek crowd.
Again, Web Directions North managed to get this just right by allowing companies to sponsor speakers. So the speakers were all chosen for their expertise, knowledge and perhaps even diversity, and then Adobe or Microsoft were given the opportunity to introduce the speakers. It sure beats product pitches.
I want to finish with an observation on this whole issue of gender diversity at Web conferences.
This debate isn't going to go away. It looks like it's going to flare up every few months. Clearly, plenty of bloggers—who are also probably the target audience for a lot of these conferences—really care about this issue and want to see some changes. Yet every time the issue is raised, conference organisers fall back on the argument that they need to fill the auditorium and that the best way of doing that is to give people the same "A-list" speakers that have always worked in the past. In other words, give the people what they want.
Well, we want diversity.
It's kind of like the whole brouhaha with Adobe and their crappy new icons. The majority of Adobe's potential customers disliked the icons and wrote good, well-reasoned blog posts explaining why. As Aral so excellently noted, Adobe deliberately chose to ignore this wealth of valuable feedback. I see conferences falling into the same trap. The very fact that this debate is taking place (and continues to take place ever more frequently) should be sending a message that this is an important issue that needs to be addressed.
It reminds me of the old joke. A guy walks into a shop and asks for some product or other. The shopkeeper says, "We don't stock that. There's no demand for it." The shopkeeper then adds, "It's funny: you're the tenth person to ask for that today."


text:
It was said of Abbot Agatho that for three years he carried a stone in his mouth until he learned to be silent.
I was thinking about that story by Thomas Merton during a recent board meeting.
The CEO and CFO were marching through their 112-slide presentation. Recent market updates, a technical deconstruction of various trends, then product frameworks — all in quick succession.
One board member sighed deeply. Another glanced surreptitiously down at the BlackBerry in his lap, perhaps thinking no one would notice. Some of the other people at the table were staring out the window at the gray day. It was not a highly engaged moment — but it was an all-too familiar one.
Is this a case of PowerPoint burnout or BlackBerry addiction? Or was there something more meaningful happening? Were they, I wondered, placing an imaginary stone (or two or three) in their mouths? What if this scene was not a demonstration of apathy but the application of wisdom?
Early on in our careers, we might speak up without concern or context. Or we might be reticent to speak up, fearful of what others might think, perhaps remembering the famous quip attributed to Lincoln: "It is better to remain silent and be thought a fool than to open one's mouth and remove all doubt." Or perhaps we have wondered, as others have, if it's worth the cost of speaking up. Enthusiasm, naïveté, fear of repercussions, conformity to the group norms, and even wisdom are all things that can influence whether someone speaks up or not.
Perhaps the question is less "should I speak up?" than "when should I speak up?" To that end, we can ask ourselves more nuanced questions, like:
- How will it improve the process?
- Do I know something that will benefit the organization?
- Of course, underlying all that…does anything need to be said at all?
Seen with that context, the board's silence could be a deliberate choice. In complex organizations and complex times, we face complex choices. We don't get to optimize all products, go after all markets, or add all programs. There are choices to be made in dollars and resources and even if we make our opinion known. Each person could be biding their time until a private closed-door moment, or they could be letting the rest of the presentation unfold before jumping in. The choice to stay quiet may very well be a good one.
Or their passivity could be a state of denial, an unwillingness to engage debate, avoiding unnecessary conflict, or fear of standing out from the others. And that would be a bad thing, especially when it comes to the cost to the organization.
Because silence does have a cost. When great debacles get dissected, very often the underlying tension of why the issue went wrong was that no one spoke up. It happened during the Kennedy Administration's Bay of Pigs fiasco when "groupthink" carried the day. And it happened again when the Challenger space shuttle exploded during liftoff because of a poor decision-making process. Perhaps the recent BP oil spill, the largest marine oil spill in history, would have been avoided if the right dialogue had taken place; many within the organization knew their well casing and blowout preventer were insufficient but the organization decided to skate ahead anyways.
Whether you're on the board of directors, or an individual contributor in a weekly staff meeting, knowing what to let slide and what to make an issue of, what to bring up publicly and what to raise privately, requires wisdom and judgment. Underlying that wisdom and judgment is the moment of conscious choice when we decide to speak, or to hold our tongues.
When is the time for you to speak? Let me share three crucial criteria:
When it will improve the results of the group. Minority viewpoints have been proven to aid the quality of decision making in juries, by teams, and for the purpose of innovation. Research first published in the Journal of Applied Psychology shows that even when the minority points of view are wrong, they cause the rest of the group to think better, to create more solutions, and to improve the creativity of problem solving.
When it gives others permission to speak their truth. An interesting study of conformity put people into groups and arranged for a majority of the group to lie about the length of a line. When the majority lied without opposition, 70% of those tested capitulated and passively went along with the incorrect group assessment. But when a single dissenting voice was introduced, only 30% went with the group majority answer. In other words, when one person had the courage to speak their truth, it gave permission to the others to have and own their truth.
When the costs of silence are too high. This final point is more subjective than the first two. Only you know how to answer the question, "Is this worth it?" When do you allow others to determine what you believe and say to be true? If it is an issue of justice or integrity, or when the implication to getting things wrong could affect many, perhaps the cost is too high for silence. In those times, for the sake of your organization and for your own integrity, it's time for you to say something.
There are times when what we say or don't say impacts our organization's ability — and even our own ability — to succeed. And it's rarely as clear as someone handing you some stones to put in your mouth, or whispering that it's time to take them out. Knowing when to speak is an art, and like any art, requires skill. But it's a skill worth pursuing.


text:
What it does:
What it sounds like! It fishes for you!
How to use it:
- Cast your rod into a body of water and wait!
- The AutoFishing Mod will work whether you are paused, in your inventory, chat, or have the screen minimized!
- Works in single or multiplayer!
- Automatically switches fishing rods when the current on breaks
Note: May be incompatible with some mods. Always use clean minecraft.
How to install AutoFishing Mod:
- 1. Run the latest launcher and download 1.7.2
- 2. Go to %appdata%/.minecraft/versions
- 3. Copy the directory named 1.7.2 and paste as 1.7.2Mod (or whatever you like, but everything must match) so there are now two copies.
- 4. Inside the new directory, rename the .jar and .json files to match directory (ex: 1.7.2Mod)
- 4a. The .jar should now look like 1.7.2Mod.jar
- 4b. The .json should now look like 1.7.2Mod.json (DO NOT DELETE/CHANGE THE .json EXTENSION)
- 5. Open the .json file with Notepad or your preferred text editor and change:
- "id": "1.7.2"
- to
- "id": "1.7.2Mod"
- 6. Open the .jar file with WinRAR or 7zip
- 7. Choose the version you need and drag the contents of that folder into the .jar file (you should be dragging two .class files only, no folders)
8. Delete META-INF
- 9. In Minecraft Launcher, select "new profile"
- 10. Under "Use version: " select "release 1.7.2Mod"
- 11. Save, launch, and enjoy!
AutoFishing Mod Download Links:
For 1.6.2
For 1.6.4
For 1.7.2


text:
In the last seven days, I will have been on four different airplanes. Yep. Two trips between Ohio and NYC. Three shoots. One important audition. And all in the same week.
Back about, ten months ago, when my mom had her stroke, I became quite the prayer aficionado. My prayer life was on fire. Admittedly, not so ablaze now, but back then, I had drawn so close to God. Because really, that was the only place I had to turn. I was scared, angry, anxious, exhausted, emotionally depleted, and boy did I let Him have it.
At the top of my prayer list was obviously, my mom's stroke recovery, and my family. But there was also something else, that selfishly, I was praying for.
An oddly specific request.
I prayed that I would be able to find a way to build a life that would allow me to live in both NYC and Ohio.
And sitting on that fourth plane this week, I realized that God, had listened. To the "T." He had answered my specific prayer.
Now, whether or not I'm supposed to live in limbo like this forever is another story, but at least for now, it's coming to fruition. And I trust that God is going to direct my path going forward.
But the point is, I got specific.
I mean, honestly, I felt a little high maintenance and demanding praying for such a specific personal thing, but I figured, God could handle it. And He could do with it what He wanted.
Ever since I was diagnosed with Ulcerative Colitis, and have had to adopt a strict gluten/grain free diet to stay in remission, I've definitely had to learn how to ask for what I want. Going to restaurants with a laundry list of dietary restrictions has caused me to really master the art of specificity.
Hold the rice and extra avocado. No tortilla, sub fresh tomatoes.
You don't get what you don't ask for.
And coming on my sixth anniversary of my therapeutic way of eating, I guess my knack for giving specific direction has seeped into my prayer life.
I'm realizing now, that God loves to give us what we want. Sure, not always, but like any good father, He likes to delight us. He like to give His children good gifts.
So I guess this is me saying, thank you, and also challenging myself and you to really get specific. No more of the general intercessions that I am so guilty of uttering without even much hutzpah behind it…God bless mama, and papa and brother and blah blah blah. How do I want Him to bless these people? Specifically? God's creative, but every good director likes to also hear the ideas of his actors, and take their vision into consideration.
So speak up.
And one last thing. That's kind of exciting.
I've really been praying about what to do about this blog. This safe little space that's become my cozy little corner of the internet. And I've realized that it's gotten a little. too. comfortable.
So it's time to shake things up.
So consider this a truth bomb:
I think I have mentioned before, but during my Ulcerative Colitis flare, I was on bedrest for an entire year.
After my body rejected every medication, I adopted a therapeutic way of eating that healed my body of the disease. During which, I started a recipe blog, documenting my 250 original therapeutic recipes, which ended up becoming a cookbook. And during its heyday, that blog was getting around 30,000 hits a month. But I've never shared it on here because, well, who I am is all over that thing.
But I've decided to share it now
I've honestly wanted to for a long time, because that year, cooking for myself, and learning how to eat was so pivotal in my recovery -not just from my ulcerative colitis – but perhaps most importantly, from the lingering traces of my anorexia. In the couple years after inpatient, my relationship with food was never normal. I was either restricting and bingeing, or only eating one meal a day, or killing my body with olympic-caliber workouts. It was not good.
But all that changed when I had to give up exercise cold turkey on bedrest, and truly began eating three meals a day.
And so why wouldn't I share specifically what helped me kick my eating disorder out of my life once and for all?
Specifics, right?
So starting next week, I'm going be adding a third publishing day to the schedule. Right now it's Monday/Thursday nights. Which will stay exactly as is.
But now, Wednesday will become "Whip It Up Wednesday" or perhaps "What I Ate Wednesday" (I'm still working on the name, and am open to suggestions!) where I will share one of my recipes that you see me post on Instagram all the time.
And I hope you're as excited as I am.
And if you're really curious, you can check out my other site or cookbook too 🙂 haha
Alright people. Here's to a specific week!
AND one other thing. As I mentioned, my prayer life has taken a hit lately. I don't know if it's the busyness, or the unsettled feeling in my heart, but I've decided that it's time I make a change. So also starting next week, I'm going to begin a new segment on Patreon where every day, I'm going to highlight a bible verse and share a reflection on it. So if your prayer life could use a little fire under its keister, then I invite you to join me over there too. 🙂
OK folks. That's it from me. Time to go unpack!
***Thank you to everyone who has ordered my books, Bloom: A Journal by BeautyBeyondBones and "My Blogging Tips"***
Click here to order your copy!
Stay Connected!
@beauty.beyond.bones – Instagram
A big thank you to my sponsor, BetterHelp Online Therapy. Speak with an online therapist. Or check out content about eating disorders from BetterHelp.
Next time you're shopping on Amazon, be sure to use my link! Doing so is absolutely FREE for you, and a great way to support this blog!
For Podcast versions of my posts, please check out Patreon! You make this blog possible 🙂