text:
An honest movie blog for true movie fans
Movie Review: FREE FIRE
Going into this film, I honestly didn't know what to expect. Many of my friends have been highly anticipating this film, with equally high expectations. However, some of them who have seen the film were slightly disappointed. They weren't saying it was a bad film, just that it didn't meet their, as I said, high expectations. And if I'm being completely honest, I have to agree. Free Fire is an enjoyable film, but it's not one that I'll be raving about for weeks to come. It may be the ultimate deal-gone-wrong film, but unfortunately, it also came very close to being a film-gone-wrong.
Free Fire tells the story of what should have been a straightforward gun deal in 1978 Boston, that turns into a massive shootout and a game of survival after things go south. The film as a whole is an interesting premise, as these concepts tend to be saved for the third act of an action flick. And unfortunately, it felt like a stretched out version of that. This entire film could have been condensed down into an epic 20-30 minutes third act free-for-all, and it probably would have been one of the best things on film this year. Even with its relatively short 90-minute run time, it still felt a bit bloated.
There were several points throughout the film where it just felt stagnant, like they were trying to kill time by having the characters, who've all been shot in one way or another, sit there and chat a bit. Now, don't get me wrong, some of those scene were actually really funny, as most of the dialogue in the film was snappy and on point. But even snappy dialogue can't detract from an overly long scene causing a bit of boredom.
The best thing about Free Fire, and the thing that probably saved it from being a bad film was the characters, and the actors that portrayed them. Now, not all of the characters where ones that I liked, in fact, there was one in particular and that was Harry played by Jack Reynor. This was a character that seemed like you were supposed to sympathize with, but because of just how much of a dick he was, I couldn't get behind him. Reynor's performance of this character was fine, that wasn't the issue, it was the character himself, the way he was written.
Outside of Harry, most of the other characters were at the very least somewhat likable, with a few standing out above the rest. Of the main four performances (Brie Larson, Cillian Murphy, Sharlto Copley, Armie Hammer), I think two were pretty good and two were great. Academy Award winner Brie Larson, though giving a good performance, wasn't one of the two true standouts in this film. I liked her character, but honestly, I don't think she did much throughout most of the film. The other was Cillian Murphy. He definitely had more to do than Larson, but his character just never really popped for me. Though both of them are great actors, and both gave good performances here, this just wasn't their day to shine.
But, you know who did shine in this film? Armie Hammer and Sharlto Copley. The last thing I saw Hammer in was that awful The Lone Ranger film with Johnny Depp. And even though he gave a fine performance in that, it was overshadowed by such a poorly written script, which made him somewhat forgettable. I've heard he was really good in The Man From U.N.C.L.E., but I have not actually seen that one yet. So going in, I wasn't really expecting much from him, and he blew me away. He had a swagger about him and delivered some excellent lines of dialogue. And he's funny, especially with his interactions with Sharlto Copley. Now, Copley I've seen in several things, including District 9, Elysium, Maleficent, and my favorite performance of his, The A-Team. So I knew he was good and could deliver, but I didn't think it'd be on this level. This character reminded me a lot of his character from The A-Team, which, as I said, is my favorite of his. He kept the energy high every time he opened his mouth, and this film could've used a few more high energy moments.
Overall, I enjoyed the film. I probably wouldn't go see it again in the theater, but I'd consider giving it a second shot once it hits Blu-ray or VOD. I would say if it's something that looks interesting to you, give it a shot, but my advice would be to temper your expectations, that way you may enjoy it even more.
The Merc's Score: 7.5/10
Make sure to check us out and like us on Facebook and follow us on Twitter and Instagram for all of our reviews, news, trailers, and much, much more!!!
Posted by Joshua Raynor
Labels: Action, Armie Hammer, Ben Wheatley, Brie Larson, Cillian Murphy, Comedy, Free Fire, Jack Reynor, Joshua Raynor, Martin Scorsese, Movie Reviews, Sharlto Copley
Honored To Be #71


text:
"I Luv Your Girl" is the third and final single from The-Dream's debut studio album, Love/Hate. The track is produced by The-Dream's production partner, Christopher "Tricky" Stewart.

Music video
The two music videos were directed by Fat Cats and premiered April 28, 2008 on BET's 106 & Park. It features Young Jeezy rapping the first verse and has cameos from Chingy, Ne-Yo, Jazze Pha and Jermaine Dupri. The video also features New York Giants defensive end Osi Umenyiora. There are two versions of the music video. The first was an edited version, the directors cut, while the second, more explicit version featured The-Dream mouthing the explicit chorus and back-up dancers making explicit hand gestures toward the camera.

Remixes
The official remix features Young Jeezy and was used for the video. An additional unofficial remix titled "I Fucked Your Girl" was released by G-Unit and featured former member Young Buck. The remix was made to diss Fat Joe. In this version, everyone except Lloyd Banks and Young Buck use the auto-tune effect. Other unofficial remixes followed from Fabolous and Jagged Edge. T-Pain sings an interpolation of the song on Jamie Foxx's hit "Blame It" on Foxx's Intuition (2008).

Chart position

Weekly charts

Year-end charts

References

2008 singles
The-Dream songs
Songs written by The-Dream
Song recordings produced by Tricky Stewart
2007 songs
Def Jam Recordings singles

redpajama_set_name: RedPajamaWikipedia


Tigi Bed Head Straighten Out provides long-lasting straight, smooth, tamed hair with improved manageability, frizz control and enhanced texture. It is a 98% Humidity Defying Straightening Cream. High performance hot iron cream. For 48 hour serious, serious straight, even in 98% humidity.
Apply to damp hair and comb through for even distribution. Blow dry hair until completely dry and use hot irons in small sections to seal in the straight.


SDL audio driver is "pulse".
It seems that the menu files are either missing or corrupted. Please make sure that all zUrT43*.pk3 files have the correct md5sum or run the Updater which will take care of doing the checks and fixes automatically (UrTUpdater_Ded.sh).
Your game is up to date!
Uhm, you seem to have a lot of third-party maps and pk3 files.
I would recommend that, first you move all pk3 files that are directly in /home/s7habo/.q3a/q3ut4/ into the subdir /home/s7habo/.q3a/q3ut4/download/ and then, rename temporarily that "download" subdir into other different name, so you can test again the game. If you use any filemanager probably you must set in it an option to see hidden files, as the /home/s7habo/.q3a directory will not be shown by default, because its name starts with a dot. Or you can do it in a shell console.
If it works, in that case you may have a conflicting pk3 file and you can create (if it were not already recreated by the game) a new empty "download" subdir in /home/s7habo/.q3a/q3ut4/ to start moving into new "download" only a few pk3 files at a time, until you find which one is causing the problems.
Thanks for that hint karnute! That was issue in deed! I moved all maps from /.q3a/q3ut4/ to new folder and game started normally. I haven't found out which map is causing the problem yet, but that's not so important. I can play again:) So this tread can be marked as solved.
Thx again both of you for helping me out!


UNICEF responded to 344 emergencies last year—many still ongoing. Your gift enables UNICEF to stay ever-ready to help children affected by ongoing crises. 100% of your gift is tax deductible.
Make your donation today and qualify for a charitable contribution tax deduction!


text:
Gimias Enabled Research
What is GIMIAS?
GIMIAS Prototype
GIMIAS in use
GIMIAS Extensions
List of Extensions
GIMIAS Suites
CARDIO SUITE
ANGIO SUITE
NEURO SUITE
OSTEO SUITE
GIMIAS 1.8 (Aug 2016)
GIMIAS 1.6 (Sept 2015)
GIMIAS was presented at ISBI 2012
Created on Wednesday, 02 May 2012 09:03
On May 2012, GIMIAS was presented at the Workshop on Open Source Medical Image Analysis software organized by ISBI 2012 and Eurobioimaging. Eurobioimaging is aimed at providing a research infrastructure for biomedical research, while ISBI is the International Symposium on Biomedical Imaging that took place in Barcelona from 2th to 5th of May.
The workshop was held during 31th of April and 1st of May. The invited speakers were from University College London, Radboud University Nijmegen Medical Centre, Fraunhofer MEVIS, Kitware Inc., Erasmus MC, Harvard Medical School and Universitat Pompeu Fabra.
Xavi Planes and Ignacio Larrabide, from Universitat Pompeu Fabra (UPF), presented GIMIAS Framework and its applications built in UPF during the last years. The presentation is available at SlideShare.
During the afternoon of the last day, interesting discussions were held among all participants about open source software on the topics of interoperability, repository of open source validated tools, open access databases and large scale computing. This workshop and the discussion that followed has been partly supported by the European Institute for Biomedical Imaging Research (EIBIR).
GIMIAS is developed by the Center for Computational Image and Simulation Technologies in Biomedicine (CISTIB) at The University of Sheffield (UK)
© 2014 GIMIAS Web Site - See the Contact page for details
Scientific Software Developer position NEW!

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Slow SQL query with LEFT JOIN What my query is doing:
I have two SQL tables and I want to copy datarows from the one table to the other table. I am doing this for statistics. The source table includes all current member-sessions/logins and with my statistics table I also want to see member-logins of the past. Thus I want to store these data into my bot_sessions_statistics table as well to make sure they are not being updated anymore:
The original query:
INSERT INTO bot_sessions_statistics (member_id, session_token, username, ip_address)
SELECT sessions.member_id, sessions.session_token, sessions.username, sessions.ip_address
FROM bot_sessions AS sessions
LEFT JOIN
(
    SELECT stats.member_id, stats.session_token, stats.username, stats.ip_address
    FROM bot_sessions_statistics as stats
    WHERE date_active >= date(NOW())
) AS stats
ON sessions.member_id = stats.member_id
WHERE latest_renewal >= date(NOW())
AND stats.member_id IS NULL

The performance of the original query:
Query_time: 86.364613  Lock_time: 0.000085 Rows_sent: 0  Rows_examined: 1088312551

The table structures:
Table bot_sessions:

Table bot_sessions_statistics:

SHOW CREATE of both tables: http://pastebin.com/UUzEPX5v
The performance of single queries:
SELECT sessions.member_id, sessions.session_token, sessions.username, sessions.ip_address
FROM bot_sessions AS sessions
WHERE latest_renewal >= date(NOW())

Returns 44.2k rows (Duration: 0.078s / Fetch: 1.607s)
SELECT stats.member_id, stats.session_token, stats.username, stats.ip_address
FROM bot_sessions_statistics as stats
WHERE date_active >= date(NOW())

Returns 23.3k rows (Duration: 0.047s / Fetch 0.920s)

A: As a general rule, run (and post the results here) an EXPLAIN on your query to see if indexes are being used or not.
At first, I see there are no other indexes on the sessions table except PKs, this will almost surely make your query run slow, since the WHERE will cause the RDBMS do a full table scan to find the rows.
I guess your query will at least require an index on latest_renewal (but, again, check with EXPLAIN).
This is my understanding of your query, on which I based my simplification:
SELECT sessions.member_id
    ,sessions.session_token
    ,sessions.username
    ,sessions.ip_address
FROM bot_sessions AS sessions
LEFT JOIN ( /* */
    SELECT stats.member_id
        ,stats.session_token
        ,stats.username
        ,stats.ip_address
    FROM bot_sessions_statistics AS stats
    WHERE date_active >= DATE (NOW()) /* a. I think this gives all of 'today' statistics */
    ) AS stats ON sessions.member_id = stats.member_id /* b. you're joining on 'member_id' which is NOT NULL in sessions, so any row from this subquery will have a value for (stats.)member_id */
WHERE latest_renewal >= DATE (NOW())
    AND stats.member_id IS NULL /* c. this will filter out all the rows from the JOIN, since no stats.member_id can be NULL */

Next, at first sight (if I'm not mistaken) I think your SELECT query can be rewritten without the LEFT JOIN, like this:
SELECT sessions.member_id, sessions.session_token, sessions.username, sessions.ip_address
FROM bot_sessions AS sessions
WHERE
    NOT EXISTS (
        SELECT 1 FROM bot_sessions_statistics
        WHERE date_active >= date(NOW())
    )
AND latest_renewal >= date(NOW())

If the above is really correct, compare the results of EXPLAIN on both.

A: Based on the explain image above, the query is doing a table scan. (possible key and key are Null).
Rows_examined: 1,088,312,551  ( 1 billion rows examined, that's quite a lot, look like a cross join to me).
The second query (not exist) might not be right as it will exclude all data FROM bot_sessions_statistics WHERE date_active >= date(NOW()) compare to a left JOIN (original query) which usually returns all rows, including the ones not matching the parent table criteria query.
Also for your sub-query, since you don't need session_token, username, you don't need it:
SELECT stats.member_id, stats.session_token, stats.username, stats.ip_address
FROM bot_sessions_statistics as stats
WHERE date_active >= date(NOW())

should be
  SELECT stats.member_id
    FROM bot_sessions_statistics as stats
    WHERE date_active >= date(NOW())

Tips: Try to avoid date > or date >= (and <  , <=). Mysql will scan the table.
Use between instead. Make sure you have index on these date fields.
Partitioning could also be a good solution.It's great for queries and for purging data.

redpajama_set_name: RedPajamaStackExchange


text:
Code of Virginia
Uncodified Acts
Table of Contents » Title 59.1. Trade and Commerce » Chapter 25. Virginia Membership Camping Act » Article 4. Miscellaneous Provisions » § 59.1-335. Penalties
Creating a Report: Check the sections you'd like to appear in the report, then use the "Create Report" button at the bottom of the page to generate your report. Once the report is generated you'll then have the option to download it as a pdf, print or email the report.
Title 59.1. Trade and Commerce
Chapter 25. Virginia Membership Camping Act
§ 59.1-335. Penalties.
A. Any person violating any of the provisions of §§ 59.1-317, 59.1-318, 59.1-326, 59.1-327, 59.1-328, and 59.1-329 or a cease and desist or temporary order issued pursuant to § 59.1-324 shall be guilty of a Class 1 misdemeanor and any person violating any of the provisions of § 59.1-332 shall be guilty of a Class 3 misdemeanor. Other than with reference to § 59.1-332 each violation shall be deemed a separate offense.
B. Any violation of the provisions of this chapter shall constitute a prohibited practice pursuant to the provisions of § 59.1-200 and shall be subject to any and all of the enforcement provisions of the Virginia Consumer Protection Act (§ 59.1-196 et seq.) of this title.
1985, c. 409; 1992, c. 545.
The chapters of the acts of assembly referenced in the historical citation at the end of this section may not constitute a comprehensive list of such chapters and may exclude chapters whose provisions have expired.
Section Look Up
Constitution of Virginia
Virginia Law Library
The Code of Virginia, Constitution of Virginia, Charters, Authorities, Compacts and Uncodified Acts are now available in both EPub and MOBI eBook formats.
Virginia Code Commission
Virginia Register of Regulations
The Virginia Law website data is available via a web service.
© Copyright Commonwealth of Virginia, . All rights reserved. Site developed by the Division of Legislative Automated Systems (DLAS). Sign In


Over the past few decades archaeological work has been conducted in the Terai region of the country where Nepal's first settlements were probably located. Tilaurakot, for example, used to be the capital of the shakya dynast. It is situated in KAPILBASTU DISTRICT IN WESTERN Nepal. The present archaeological site extends over the area of more that five square kilometers. The central portion, measuring approximately five thousand meters by four thousand meters, is surrounded by a citadel built at three different periods. The first and second ancient citadel walls are made of mud ad date from 600 to 200 B.C. While the third wall appears to have been constructed with kilnburnt bricks around 150 B.C. The eastern gate, the eastern stupa, the Ashita Apsidal Stupa and a defence wall were first discovered at the site. More recent excavations have brought to light the majestic western gateway complex including the watchman's room, six meter wide roads of different periods (With cart-track impressions), the moat on the east and west, three periods of defence walls and northern twin stupas made and enlarged between the fourth and second centuries B.C. The central portion of The site has also been excavated and various brick structures from the third century B.C to the second century A.D have been unearthed. Water storage tanks, big jars, brick and terra-cotta ring wells and a fire-alter have also been found. Other antiquities discovered at the site are human and animal terra-cotta figurines (dated 400 B.C to A.D 200), silver punch-marked coins, early cast coins with symbols, Mitra coins with different symbols, Kushan coins, and pieces of Sunga and Kushan pottery. Apart from these antiquities, practical items such as terra-cotta cart wheels, iron implements, nails, arrowheads, bone and copper rods, dice and fishing hooks have also been found.
Gotihawa - rich in possession of ancient ruins is situated eleven kilometers south of Tilaurakot and six kilometers south west of Taulihawa, the present district headquaters. To the north of Gotihawa village, there is an ancient brick stupa and an Ashokan Pillar. The lower portion, with its square granite base stone, is still intact but the crowning features and inscriptional portions are missing. The site can be safely identified as the Nirvan Stupa of Kakuchhanda Buddha (one of the previous Buddha), whose hometown lies within one kilometer of this stupa-pillar complex .
This site is located tow kilometers north of Tilaurakot of the bank of the Banganga river. It was excavated in 1896 and seventeen miniature Stupas were found there. In the same general region, sites of ancient civilization have been identified at Lumbini, Banjarhi, Nipaniya and Kadyatawa, to Mention just a few. Several important sites have also been excavated in the eastern region of the country, the most important of which are Bhediari, Varahakshetra, Janakpur and Simaraongad.
Located nearly ten kilometers south of Biratnagar, the ancient ruins at this site include many important brick temples. There is a two-meter high rectangular platform supported from inside by cross walls. So far no image either of stone or terra cotta has been found during the excavations; however, a number of silver punch-marked coins have been found.
This is another important temple site located at the confluence of the Koka and Koshi rivers. The site is known to belong to the period of later Guptas, who had issued a copper grant for the two Varaha images found there. There are also many miniature Gupta period temple replicas, which suggest that many such temples and idols were made during the sixth and seventh centuries A.D.
At Ram - Janaki temple complex near Jankpur there is an important image depicting Uma lying on a bed and feeding a baby. Ganesh and Kumar are also depicted in the panel while on the top of the scene is a Shiva Linga. The piece dates back to twelfth or thirteenth century A.D and Belongs To the Karnatakas of simaraongad.
This was an old capital city of the Karnastakas of Mithila and was built by King Nanyadeva in A.D 1097-90. The ruins of the city extend over an area of 16 Kilometers which is still surrounded by a high wall of Kiln-burnt bricks. There are more than one hundred images and sculptures scattered throughout the area. Most are made of black schist stone and are nicely polished; a few are made of sandstone. The images at the site are of Vishnu, Narayan, Laxmi Narayan, Shankersana, Garudopari Vishnu, Uma-Maheshwara, Durga, Shiva and Surya. In different parts of Simaraongad, there are remains of temples and gateways of the old city.
Other sites bearing Karnataka images and sculptures are Kanchanpur (Near Rajbiraj), Murtiya ( West of Janakpur) and Valmiki Nagar (near the Gandaki barrage), as well as several other places between the Gandaki and Sapta Koshi rivers.


It is important for people to have some time alone and get to enjoy yourselves or get to plan for something without much disturbance. You can choose to visit Tennessee and have the beautiful scenery of the physical features at that place. To learn more about Retreat Center, check it out! There are many things that can make you enjoy your vacation as a group, couple or when you are alone.
Choosing the best retreat center in Tennessee might be challenging for you especially when you are doing it for the first time. You need to have some knowledge on how to go about it. Below are some of the things that can help you in your search for the best retreat place in Tennessee.
Choose a place that is cool. It is important to make sure you are in a good place that is free from noise. Remember you are at this place to have your best time and not get distracted from noise or people. Look for a place that you can get accommodated that is not near the town. The town has a lot of activities taking place all day and night. To get more info, visit smoky mountain marriage retreat. The noise is too much starting from the vehicles, music to the people themselves. It is good if you avoid such distraction.
Go for a place that will have extra activities for you to enjoy. You could be with a company of a friend or your spouse. You do not have to be indoor all through. You should at least enjoy some gaming in the evening after you are through with your day's activities. It will be good if the place that you choose can provide you with that.
Choose a place that is situated in a good place. You need to see the beautiful sceneries of Tennessee. You will be attracted by the view of different places that you have longed to visit all your life. It feels good when one wakes up and all that you can see are the things that attract your eyes making you feel good.
Your choice of retreat center should provide you with the best things ever. Staring from meals, accommodation and other things that you might wish to get. They should make sure that you get the best. It is not worth paying for services that you will not enjoy. Make sure that the place that you choose to stay while in Tennessee is a good place that makes you feel at home. Do not sympathize with a situation when you are doing your selection, make sure they have the best. Learn more from https://de.wikipedia.org/wiki/Retreat.


The present application discloses methods and systems for configuring and managing class-based condensation. One aspect thereof includes an automated mechanism to receive a user request for a document, retrieve the document from a content server, and compare the document to a base file of a document class. If a delta-difference between the requested document and the base file is less than a predetermined threshold value, create a condensed document by abbreviating redundancy in the requested document relative to the base file of the associated document class, associate the document with the document class, and transmit the condensed document to the user. The documents within a document class possess similar layouts.
This application is related to application Ser. No. 09/634,134, filed Aug. 8, 2000, and issued on May 16, 2006 as U.S. Pat. No. 7,047,281.
The methods and systems of the present invention relate generally to accelerating the delivery of dynamic content in a network environment. In particular, automated class-based cache management is used to provide a scalable way to deliver individualized dynamic content.
In order to accelerate delivery and reduce network congestion, Internet Service Providers ("ISPs") often deploy cache servers at strategic locations in the network for storing frequently requested content. These cache servers are physically located closer to end users and therefore are able to deliver content to those end users much faster than the content servers themselves, which could be physically located at the fringes of the network. Furthermore, these cache servers reduce network congestion because by storing frequently requested content, they minimize the need to contact the actual content servers, thereby reducing "upstream" traffic. For example, America Online, Inc. ("AOL") currently utilizes Inktomi's® Traffic Server, a network caching platform, to speed up Web access for its users.1 When a user requests a Web page, the request is routed to the closest cache server in the AOL network. If the requested Web page is located in the cache server and is current, then the cache server delivers the Web page directly to the user without the need to access the Web server. If the Web page is not located in the cache, the cache server acts as a proxy and fetches the Web page from the Web server on the user's behalf. 1 See <http://www.inktomi.com/products/network/products/tscclass.html>.
Such cache server schemes are most effective for dealing with static content that does not change or only changes slowly over time. However, since cache servers are only effective as long as their content is current, they have difficulty handling dynamically generated content that quickly changes over time. It is therefore inefficient to cache dynamic content since, by definition, such content will change upon subsequent retrievals. As such, innovative methods for accelerating the delivery of dynamically generated content have been developed. For example, FineGround Networks, Inc. has developed Condensation™ technology that "condenses" dynamic content in real-time. A FineGround "condenser," typically disposed between the cache (or other content server) and the network users, condenses Web pages by eliminating redundancies between successive downloads of the same page.2 The FineGround Condensation™ technology uses a process hereafter referred to as "delta-encoding" in which a base version of a dynamic document is both locally stored (e.g., in a browser or network cache) and remotely stored at the condenser. When the condenser receives a new request for the dynamic document from the client, the condenser transmits to the user a representation of the difference (in the form of a "condensed document") between the current version and the base version of the dynamic document. Transmission of the condensed document, rather than a complete document, requires less network bandwidth, thereby freeing up bandwidth for other transmissions and accelerating the delivery to the user. Upon receipt of the condensed document, the client uses the locally stored base version to construct the current version. This delta-encoding process is the subject matter of co-pending application Ser. No. 09/634,134, filed Aug. 8, 2000, which is hereby incorporated by reference. 2 See <http://www.fineground.com/prod/whitepaper.html>.
It is often the case that dynamic documents are template-based or otherwise share the same context and/or characteristics. As such, documents that possess similar layouts can be classified so that content in one document within a "class" can be condensed against content in a different document within the same class. Thus, regardless of which user generates requests, all requests for dynamic documents that belong to the same class can be serviced by the same class base file. This class base file is stored both locally at the client and also remotely at the condenser so that delta-encoding techniques can be utilized.
Nevertheless, current methods for configuring and managing class-based condensation can be improved. First, techniques to efficiently identify and create classes should be developed. Currently, an administrator manually identifies classes that possess similar layouts such that content within that class can be condensed against content within the same class. Furthermore, techniques for selecting an efficient class base file should also be developed. It is beneficial to select an efficient class base file because the performance of the delta-encoding will depend upon how similar the class base file is to the requested dynamic documents (within that class). Currently, however, class base files are typically manually created when a new class is identified by the administrator. As such, the class base file is typically the first requested dynamic document that is a member of the class. It is clear that such an arbitrary document may not necessarily be the best document to serve as the class base file. Therefore, there remains a great need for an automated mechanism to efficiently configure and manage classed-based condensation.
The present application discloses methods and systems related to configuring and managing class-based condensation. One aspect of this application describes an automated mechanism for creating classes and grouping requests within the classes. A second aspect describes an automated mechanism for selecting and updating an efficient class base file for each class. A third aspect describes an automated mechanism for maintaining the security of users by excluding private user information from the class base file.
In an exemplary embodiment, the creation of classes is performed by a condenser that is situated near the content servers that generate dynamic content. The condenser maintains an efficient data structure that holds information about the current classes stored in the condenser, including information used to access the class base files. When the condenser receives a request for a dynamic document, it retrieves the updated version of the requested document from the content server. If the request is not already associated with a class, the condenser then searches its data structure to determine whether the requested document can be a member of any of the current classes. If the condenser determines that the requested document cannot be a member of any current class, it may then create a new class based upon the requested document, which is then stored in the data structure. Otherwise, the condenser finds a match between the requested document and a current class. It extracts the class base file associated with the current class and performs a delta-encoding process to obtain a condensed document reflecting the difference between the requested document and the class base file. The condenser then transmits the condensed document to the requester. Upon receipt of the condensed document, the requester reconstructs the complete requested document by combining the condensed document with a locally stored class base file associated with the specific class. If the requester does not have the class base file, then the condenser can either (1) send the class base file to the requester along with the condensed document, or (2) send the full requested document to the requester rather than the condensed document. The techniques for creating classes and matching requested documents are further described in the detailed description section.
As noted earlier, it is beneficial to select an efficient class base file for each class since the performance of the delta-encoding and the quality of the resulting condensed document will depend upon how similar the class base file is to the requested documents. Current methods typically use the first document to be classified in a new class as the class base file. Theoretically, the ideal method for selecting an efficient class base file would be to choose a file that minimizes the sum of the "delta-differences" between that file and all other requested documents within that class. In an exemplary embodiment, the delta-difference between two documents could be the byte size of the condensed document produced by delta-encoding. However, those skilled in the art will recognize that the delta-difference may be any value that measures the similarities between two documents in a meaningful fashion. Such an ideal minimization would have the effect of optimizing various criteria, including the computational effort and time for calculation of the condensed document at the condenser, the size of the condensed document, the time of transmission of the condensed document to the user; and the computational effort required to reconstruct the requested document by the user. However, such an ideal method is not possible since future requests are not known at the time of selection. We discuss below various methods that an exemplary embodiment of the invention could utilize to select an efficient class base file while still substantially optimizing one or more of the above criteria.
A first method selects a class base file from a randomly chosen sample of requested documents within a class. The class base file is that file which minimizes the sum of the delta-differences between the file and the other requested documents in the sample. Periodically, a sample of requested documents is updated and a new class base file is chosen. In contrast, a second method actually creates a class base file rather than choosing a particular requested document within the class as the class base file. This method maintains a data structure that keeps track of the popularity of components of requested documents within classes. Requested documents within the class are randomly selected and broken down into their components. These components are then recorded and tabulated in the data structure. The most popular components are then aggregated to create the class base file. Periodically, the data structure is updated with components from new requested documents and a new class base file is chosen based upon reassessment of the popularity of the components. These two techniques for selecting and updating an efficient class base file are further described in the detailed description section.
A third aspect of the application addresses the need to secure private information that might be contained in personalized dynamic documents. That is, despite solving scalability issues, class-based condensation also raises security and privacy concerns since different users will share the same class base files and store these files locally on their own machines. To address the problem, an exemplary embodiment of the invention may maintain a data structure that keeps track of the components of the class base file that also are present in requested documents that are members of the class. The class base file is compared to a set of such requested documents, where each request for a document in the set originates from a different end user. For every component of the class base file, a counter in the data structure associated with that component is incremented when that component is also present in a requested document from the set. Any component in the data structure whose counter fails to meet a threshold value may contain the private information of a particular user and may be therefore removed from the class base file, thereby improving the anonymity of the class base file. These techniques for maintaining the security of users and improving the anonymity of the class base file are further described in the detailed description section.
FIG. 1 is a block diagram illustrating an exemplary computer system for accelerating the delivery of content in a network environment.
FIG. 2 is a diagram illustrating an exemplary data structure for maintaining information about current classes stored at the condenser.
FIG. 3 is a diagram illustrating an exemplary representation of a class within the World Wide Web context.
FIG. 4 is a block diagram illustrating an exemplary format of a request from a user for a dynamic document in the World Wide Web context.
FIG. 5 is a flow chart illustrating an exemplary method for creating classes and matching requested documents.
FIG. 6A is a flow chart illustrating a first exemplary method for matching a requested document to a class.
FIG. 6B is a flow chart illustrating a second exemplary method for matching a request document to a class.
FIG. 7 is a diagram illustrating an exemplary data structure for maintaining a sample set of requested documents.
FIG. 8 is a flow chart illustrating a first exemplary method for selecting and updating an efficient class base file.
FIG. 9A is a diagram illustrating an exemplary decomposition of a document into components.
FIG. 9B is a diagram illustrating an exemplary data structure for keeping track of the popularity of document components.
FIG. 10 is a flow chart illustrating a second exemplary method for selecting and updating an efficient class base file.
FIG. 11 is a flow chart illustrating an exemplary method for maintaining the security of users.
FIG. 1 is a block diagram illustrating an exemplary computer system within which the present invention may operate. For convenience, the invention will be described herein with respect to "documents" (or, equivalently, "files") which should be understood to include any content-bearing items transmitted in a network environment, including without limitation, text, data, or graphic files (or combinations thereof), images, objects, programs, scripts, and other kinds of documents.
In an exemplary embodiment of the invention, the condenser 120 may be operated by the same content provider that operates the content server or by a third party. The condenser 120 is configured transparently, as if it were a router so that all content to a content server 130 is directed through the condenser 120. Such a transparent configuration does not require manual configuration of the content browser 112 to direct traffic to the condenser 120. Those skilled in the art will recognize that nontransparent configurations, where manual configuration of the content browser 112 is used, may also be implemented in alternate embodiments. Additionally, this exemplary embodiment implements the condenser 120 as software running on a computer separate from any cache (or other content server) in the network. An exemplary embodiment situates the condenser 120 near content servers that may dynamically generate content such that network traffic between the condenser 120 and the user is minimized over a maximum length of network. Such a condenser 120 can serve multiple users by maintaining historic information about the pages most frequently requested by each user. However, those skilled in the art will recognize that the condenser 120 may be integrated into any cache (or other content server) in the network. Those skilled in the art will also recognize that the condenser 120 may be also be implemented as various combination of software and/or hardware and integrated into lower level network connectivity devices, such as routers or switches.
As noted earlier, the class tracking module/database 122 of the condenser 120 maintains an efficient data structure that holds information about the current classes stored in the condenser, including information user to access the class base files. For an exemplary embodiment of the invention that is utilized in the World Wide Web ("Web") context, the data structure is organized according to the structure and contents of Uniform Resource Locators ("URL"), in order to take advantage of the way content is typically organized within a Web site. Referring to FIG. 2, the data structure in an exemplary embodiment may be visualized as having, at the top of the structure, server objects 210 for each content server that has been accessed by the condenser. Each server object 210 may contain a set of path objects 220 corresponding to requested paths within the server. Furthermore, a server object 210 may also contain a classes object 225 that provides access to all the classes corresponding to that particular server. Each path object may contain a set of class objects 230 corresponding to classes created by the condenser. As illustrated in FIG. 2, it is possible for a class 300 to be associated with more than one path object 220 in a server object 210. As illustrated in further detail in FIG. 3, class 300 is an exemplary class in the Web context containing a class identification number 310 and a count 320 of the number of its "members" (i.e. matching requests). Optionally, the class 300 may also contain a set of requests 330 for the members of the class. In FIG. 4, an exemplary embodiment of a request 400 received by the condenser 120 in a Web context may include a unique identifier, such as a cookie 410, that binds the request to the user, and a URL 420 that possibly includes a server 422, path 424, and URL arguments 426 portion. Together, the URL 420 and the cookie 410 may be used to define the request (and requested document) as a unique member of a class. While the data structure 200, class 300, and request 400 are structured to take advantage of the typical organization of content on the Web, those skilled in the art will recognize that in other contexts, and even with Web sites that employ atypical content organization, these elements may be organized according to a different structure.
In accordance with FIG. 5, once the condenser receives a request 400 at step 510, it retrieves the requested document from the content server at step 520. It then determines whether the requested document is a member of a current class in the data structure 200. To make this determination, an exemplary embodiment of the condenser may maintain a data structure in the form of a 1-to-1 mapping between every request received and grouped by the condenser and its class identification number. At step 530, if the request is already associated with a class then there is no need to make a further determination. For example, a request may be already associated with a class when it is a subsequent request for a document from a user, such that the a prior request for the document by the same user had been associated with the class. When a request is already associated with a class, the class base file is extracted using the class identification number, a condensed document is created through delta-encoding, and the condensed document is sent to the user, who reconstructs the full requested document using a locally stored class base file. Otherwise, at step 540, if there are no classes in the data structure 200 that are defined in part by the server 422, then the condenser will create a new class corresponding to the requested document (and associated request) at step 590. At step 550 if there are no classes defined in part by the path 424, then at step 560 the condenser checks for a match against classes that are defined in part by the server 422 (but perhaps having different paths and arguments). However, if there are classes defined by both the server 422 and the path 424, then at step 570, the condenser checks for a match against classes that are defined by both the server 422 and path 424 (but perhaps having different arguments). If, at step 580, a match is not found from steps 560 or 570, then a new class is created at step 590 corresponding to the requested document (and associated request). Whether a matching class or new class is determined, the condenser then sends a condensed document along with the corresponding class base file to the user. However, if a class base file has not yet been created, or the foregoing steps are performed offline, then the condenser may send the full requested document to the user instead.
FIGS. 6A and 6B illustrate exemplary methods to check for a match against a set of classes, as occurs in step 560 or 570 of FIG. 5. A match between a requested document and a class occurs when the delta-difference between the requested document and the class base file is less than a given threshold value, T. Indeed, in addition to normal delta-encoding techniques, other lighter and quicker techniques to determine delta-differences can be used since it is unnecessary to produce a condensed document as is required for normal delta-encoding purposes. For example, those skilled in the art will recognize that known lossy algorithms, as opposed to lossless algorithms, may also be used to determine delta-differences. Similarly, other known optimization techniques can be used to increase the efficiency of computing delta-differences.
If the set of classes for which a requested document needs to be checked against is too large, then an exhaustive search would clearly be impracticable. Therefore, one exemplary embodiment establishes a threshold number N of classes that are checked within a set. Such checking of most popular classes has the effect of substantially optimizing a combination of criteria including the effort/time of computation by the condenser, the size of the condensed document, and the time of reconstruction by the user, with each criteria being optimized to a varying degree depending on the relative importance thereof to the operator of the condenser.
In the foregoing, the condenser checks for a match against the aN most popular classes in the set, where a is a number less than 1. Popular classes are those classes which have the greatest number of members (i.e. most matches). If no matches are found, then the condenser checks for a match against (a−1)N other classes, selected randomly from within the set. Since a match is determined by a threshold value, T, it is clear that a requested document can match more than one class. Multiple approaches once a match is found in an exemplary embodiment of the invention. Referring to FIG. 6A, in a first approach, once a first match is found, the condenser stops checking and simply selects the matched class. This approach places relatively higher emphasis on substantially optimizing the time/effort to create the condensed document. Thus at step 600A, the condenser selects the most popular unchecked class. If, at step 610A, the delta-difference between the class base file and the requested document is less than the threshold value, T, then a match has been found. If not, then at step 620A, if less than aN of the most popular classes have not been checked, step 600A is repeated. If aN of the most popular classes have been checked, then at step 630A, a randomly selected unchecked class is tested for a match. Again, at step 640A, if the delta-difference between the class base file and the requested document is less than the threshold value, T, then a match has been found. Otherwise, at step 650A, if less than N classes have been checked, step 630A is repeated. If N classes have been checked and no match has been found, then at step 660A, a new class is created for the requested document (note that step 660A is the same as step 590 in FIG. 5).
In contrast, all N classes are checked in a second approach, regardless of the number of matches found, and the best matching class, defined as having the smallest delta-difference, is selected. This approach places relatively higher emphasis on substantially optimizing the size of the condensed document and the time of transmission to the user. Referring to FIG. 6B, at step 600B, the condenser selects the most popular unchecked class. If, at step 610B, the delta-difference between the class base file and the requested document is less than the threshold value, T, then a match has been found and the matching class is stored in set M for later analysis at step 615B. At step 620B, if less than aN classes have been checked, then step 600B is repeated. If aN of the most popular classes have been checked, then at step 630B, a randomly selected unchecked class is tested for a match. Again, at step 640B, if the delta-difference between the class base file and the requested document is less than the threshold value, T, then a match has been found and the matching class is stored in set M for later analysis at step 645B. At step 650B, if less than N classes have been checked, step 630B is repeated. If N classes have been checked and no matches have been found at step 660B, a new class is created for the requested document at step 670B (note that step 670B is the same as step 590 in FIG. 5). However, if matches have been found at step 660B, then the best matching class, defined as having the smallest delta-difference, is selected from set M as the final match at step 680B.
Those skilled in the art will recognize that still other embodiments may be implemented which lie between the first and second approaches as described above. For example, alternative embodiments may select a best match from a number of matching classes less than N, as in the second approach, but greater than one, as in the first approach.
The creation of classes or matching of requested documents can either occur online or offline. Online creation and matching have the advantage that the resulting class base file can be transmitted to the requester as soon as possible (i.e. once a match is found or once a class base file is created). However, such online computations can incur a delay in responding to the request. If offline creation and matching is implemented so as not to incur any delay, a full requested document must be sent back to the client rather than a condensed document and a class base file. Then, a subsequent request from the user will result in the transmission of a condensed document and class base file to be stored locally. Thereafter, only condensed documents need to be transmitted upon requests, until the class base file is updated during a "rebasing." Thus, offline creation or matching increases performance for future requests but not for the current request.
It is beneficial to select an efficient class base file for each class since the performance of the delta-encoding and the quality of the resulting condensed document will depend upon how similar the class base file is to the requested documents. An exemplary embodiment of the present invention contemplates at least two different methods for selecting and updating an efficient class base file.
In the first method, for each class maintained at the condenser, K random samples of prior requested documents from that class may be stored in memory. Along with those K samples, a data structure is maintained which keeps track of the delta-differences between the samples as well as the sum of the delta-differences with regard to each sample. As shown in FIG. 7, an exemplary embodiment of this data structure 700 can simply be a two-dimensional array that maintains the delta-difference, dij, between each document i and j where i=1 . . . K and j=1 . . . K. Additionally, as can be seen, the data structure 700 also maintains the sum of all delta-differences for each document i. The class base file for the class is then the sample document that has the minimum sum of delta-differences amongst the samples, as reflected in the data structure 700.
This data structure 700 is continually updated to keep the requested documents current in order to maintain an efficient class base file. Periodically, a class base file will be updated in order to maintain efficient performance (known as "rebasing"). This is illustrated in FIG. 8. At step 800, the condenser receives a requested document determined to be a member of a class. At step 810, with a probability p, the requested document is selected to be used as a sample in the class. If, the requested document is selected at step 820, then if there are already K samples in the class at step 830, the worst sample (i.e. the one with the maximum sum of delta-differences) is evicted at step 835 and the requested document replaces it as a new sample at step 840. Evicting the worst sample may result in clustering where the K samples are very similar to each other, but not necessarily similar to most of the other requested documents in the class. Thus, periodically, a random sample is evicted instead of the worst to prevent such clustering. At step 850, the delta-differences are calculated between the new sample and remaining old samples. Using the data structure 700, this simply means removing the delta-differences that corresponded to the evicted sample the array and adding the new delta-differences corresponding to the new sample to the array. Similarly, at step 860, the sums of all the delta-differences for each sample is updated reflecting the changes from the new sample. At step 870, the best sample (i.e. the one with the minimum sum of delta-differences) is identified. Clearly, this method performs well because it tends to keep relatively good class base file candidates as samples (and then uses the best of those samples). However, in the extreme cases, the best sample may change every time a new sample is selected. To control the frequency of rebasing, a rebase will occur only if (1) a better base candidate exists, and (2) a rebase timer, RT, running since the previous rebase, has expired. Thus, at step 875, if the rebase timer RT, has expired, a rebase occurs at step 880 and the RT time is reset at step 890.
Additionally, rebasing may also be triggered when the performance of the system is poor. The performance can be poor when the computations for delta-differences are frequently aborted due to a significant difference between the requested document and the class base file, or because many calculated delta-differences are relatively large. When rebasing occurs in this context, all K samples for the class are flushed and the sampling starts anew.
In the second method, a class base file is created by selecting and aggregating document components that appear most frequently in requested documents pertaining to the class. A requested document can be decomposed into components which are then added and organized in a data structure such as a table. In an exemplary embodiment, components of a requested document may be groups of consecutive bytes within the document. For example, as shown in FIG. 9A, each component 910A of a document 900A may be a series of eight consecutive bytes, where each subsequent component in the document is offset from the prior component by one byte. When a component of a requested document is added to the table 900B, it is associated with a table entry 910B that includes at least (1) a counter 920B to keep track of the number of times the component has been encountered in various requested documents and (2) a bit 930B to indicate whether the component is active or inactive. The class base file is created by selecting those components in the table that are most popular. An exemplary embodiment of the table may utilize hashing of components (i.e. a hash table) to increase the efficiency in accessing table entries. Furthermore, those skilled in the art will recognize that the foregoing method of decomposition is merely an example and that there are a multiplicity of ways in which components may be defined within the invention. As illustrated in FIG. 10, at step 1000, the condenser receives a requested document determined to be a member of a class. At step 1010, with a probability p, the requested document is selected to be decomposed into components. If, at step 1020, it is selected, then at step 1030, the requested document is decomposed into components and at step 1040, the components are added to the table 900. At step 1050, if adding a component results in a new table entry, then the entry is set as inactive and its count is set to zero. If a table entry for an added component already exists, then the count for that entry is simply incremented in step 1060. Finally, at step 1070, upon every R requests, rebasing may occur in which the most popular hash table entries are activated and the other entries are deactivated. The new class base file is then the aggregation of the components associated with the most popular activated hash table entries.
In both the first and second methods, steps 850 to 890 and steps 1030 to 1070, respectively, can be performed offline to improve the performance of future requests, but not the current request. Offline performance of the steps prevents delays due to computation in responding to the current request. Thus, if the steps are performed offline, in response to the current online request, the condenser may transmit to the user either (1) a condensed document based on the current class base file (rather than an updated class base file) that is also stored locally by the user, (2) a condensed document based on the current class base file along with the current class base file itself, or (3) the full requested document, if a new class has been created. In contrast, if the steps are performed online, then in response to the current online request, the condenser may transmit to the user (1) the updated class base file and (2) a condensed document based on this updated class base file. However, as noted earlier, online performance of updating may result in greater delays in responding to the current request.
Despite solving scalability issues, class-based condensation also raises security and privacy concerns since different users will share the same class base files and store these files locally on their own machines. Thus another exemplary aspect of the present invention also addresses the need to secure private information that might be contained in personalized dynamic documents. Such private information may include, but is not limited to, credit cards, charge cards, debit cards, ID numbers, email addresses, phone numbers, home address, personal records, personal preferences, and other private information. In order to secure the privacy of users, a data structure may be used to keep track of document components, as in FIG. 9A. Indeed, if the method of FIG. 10 is used to select and update class base files, then the table 900A can be simultaneously used to implement the security mechanism. As FIG. 11, illustrates, at step 1100, the condenser decomposes the class base file into components and adds them into a hash table. As noted, if the method of FIG. 10 is used to select and update class base files, then this step has already been performed. Otherwise, the hash table is initialized such that all entry counts are zero. At step 1110, the condenser receives a requested document determined to be a member of the class. If, at step 1120, the requested document has the same origin (i.e. same user transmitted the request) as a previously analyzed document, then the requested document is discarded for security purposes, and step 1110 is repeated. Otherwise, at step 1130, the requested document is decomposed into components. At step 1140, if a component of the requested document matches a component of the class base file, then the count of the associated entry in the hash table is incremented. The process repeats, as shown in step 1150 until N distinct requests with different origins have been analyzed. Finally, in step 1160, all components in the class base file with a hash table entry whose count equals zero is removed from the class base file. Comparing the class base file components with components from requested documents of distinct users ensures that those components in the class base file that do contain private information will have a count equal to zero in their hash table entry. Thus by removing such components, the class base file is secure.
Until the class base file is properly secured, responses to user requests may be limited to full requested documents rather than condensed documents. That is, distribution of the secured class base file may be delayed until after private information has been removed. Of course, in the case that an end user already has a current secured class base file and a rebase is triggered, the old secured class base file can be used until the updated class base file is properly secured.
One point to note is that the same end user may be falsely regarded by the condenser as a different user upon subsequent requests. This may occur, for example, if the user utilizes the Netscape Navigator® to send a first request and Microsoft® Internet Explorer to send a second request. Since the two Web browsers do not share cookies, the condenser will interpret the two requests from the same end user as originating from different users. Thus, if both requests contain the same private information, the above security mechanism may not exclude the private information.
In order to protect private data from such rare scenarios, a second parameter M, greater than zero but less than or equal to N, can be utilized in the security mechanism. That is, at step 1160, components whose hash table entry is less than M, rather than zero, are removed. Thus, M becomes an indication of the security level of the system. For example, if M=0, there is no security and if M=1 corresponds to the basic security scheme described earlier. Thus, as M increases, the stronger the security of the system becomes. However, to avoid reducing the size of the class base file and thus compromising performance, an exemplary embodiment of the present invention would keep N at least two as large as M.
Furthermore, this security mechanism can be executed simultaneously with the basing mechanisms for FIGS. 8 and 10. That is, while the delta-differences are being computed, the counts in the hash table can also be updated. Thus, whenever the basing mechanisms identify an new class base file, the securing mechanism is ready to remove private information from the file.
The various embodiments described above should be considered as merely illustrative of the present invention. Those skilled in the art will realize that the present invention is applicable regardless of whether the user is a person at a computer, or a network device such as a cache or a proxy agent. Those skilled in the art will realize that the present invention is also applicable to the full range of data forms transmitted on the Internet, including but not limited to text, images, video and audio. The various embodiments described above are not intended to be exhaustive or to limit the invention to the forms disclosed. Those skilled in the art will readily appreciate that still other variations and modifications may be practiced without departing from the general spirit of the invention set forth herein. Therefore, it is intended that the present invention be defined by the claims that follow.
transmitting the condensed document to the user.
2. The method of claim 1 wherein retrieving, comparing and associating the requested document are performed by a condenser located between the user and the content server.
3. The method of claim 1 which further comprises creating a new document class associated with the requested document if the delta-difference between the requested document and the base file is greater than the predetermined threshold value.
5. The method of claim 4 wherein associating the requested document with a selected one of the plurality of document classes comprises selecting at least one document class wherein its base file has a delta-difference wit the requested document that is less than a predetermined threshold value.
6. The method of claim 4 wherein associating the requested document with a selected one of the plutality of document classes comprises selecting a document class wherein its base file has a lowest delta-difference with the requested document.
7. The method of claim 4 wherein retrieving, comparing and associating the requested document are performed by a condenser located between the user and the content server.
8. The method of claim 1 wherein retrieving, comparing and associating the requested document are performed by a software module executed by a computer.
9. The method of claim 4 wherein retrieving, comparing and associating the requested document are performed by a software module executed by a computer.
"Breaking New Ground in Content Acceleration: A Technical White Paper," FineGround Networks, Inc., <http://www.fineground.com/prod/whitepaper.html>, 2001, pp. 1-9.
"Deploying FineGround Condensers in and SSL Environment: A Technical White Paper," FineGround Networks, Inc., <http://www.fineground.com/prod/whitepaper.html>, 2001, pp. 1-5.
"Network Products," Inktomi Corporation, <http://www.inktomi.com/products/network/products/cclass<SUB>-</SUB>edge.html>, 1996-2001, pp. 1-2.
"Network Products," Inktomi Corporation, <http://www.inktomi.com/products/network/products/cclass<SUB>-</SUB>tech.html>, 1996-2001, pp. 1-5.
"Network Products," Inktomi Corporation, <http://www.inktomi.com/products/network/products/cclass<SUB>-</SUB>works.html>, 1996-2001, pp. 1-2.
"Network Products," Inktomi Corporation, <http://www.inktomi.com/products/network/products/tscclass.html>, 1996-2001, pp. 1-2.
"Network Products," Inktomi Corporation, <http://www.inktomi.com/products/network/products/tseclass.html>, 1996-2001, pp. 1-2.
"Network Products," Inktomi Corporation, <http://www.inktomi.com/products/network/products/tsengine.html>, 1996-2001, pp. 1-4.
"Whitepapers," FineGround Networks, Inc., <http://www.fineground.com/prod/whitepaper.html>, 2001, p. 1.
Aycock, John , et al., "An architecture for easy web page updating", Crossroads, 6, ACM Digital Library, archive, (1999), 15-18.
Huican Zhu and Tao Yang, "Class-Based Cache Management for Dynamic Web Content," Technical Report #TRCS00-13, Dept. of Computer Science, UCSB, published Jun. 2000; presented at IEEE InfoCOM Conference Apr. 2001; pp. 1-10.


Glaucoma is a silent condition, which doesn't always display clear symptoms. This makes it even more difficult for the millions of people around the world who suffer from glaucoma to recognize the condition and seek appropriate treatment. As a result, many patients with unrecognized and therefore untreated glaucoma experience loss of vision and even blindness because of the condition. Lumigan (Bimatoprost) is a revolutionary new product, developed for the treatment of open-angle glaucoma and ocular hypertension (excessive pressure on the eyeball). By regulating the flow of fluid in the eye, this medication compensates for the dryness that results in increased pressure. Lumigan (Bimatoprost) helps you see the world in a new light.


Hello everyone and welcome to this website where I show you how to use the instagram private profile viewer to view any profile on the social network. So pretty much all you need to do is open up our application and type in the victim's profile name. After that just click detect.
Well, actually it works in a simple matter! Once you have put in the victim's URL or username and clicked on the button it pops up the followers / following count.
After that just click view private photos and the pictures shall pop up. Yeah it is that simple, more information shall be displayed on the button below.
This entry was posted in Instagram profile viewer. Bookmark the permalink.


text:
Community Council Workshops workshop materials for community and town councils community, wokshops, council, community, council,
List of Members We have 18 Members on our Authority. Twelve are County Councillors who are appointed by Pembrokeshire County Council to provide local knowledge and expertise, but not to represent their own local authority constituency. The other six are appointed by Welsh Government, to represent the national interest and to provide additional specialist skills relevant to the work of the Authority. list, members, county, councillors, welsh, assembly, government,
National Park Authority Members The Pembrokeshire Coast National Park Authority has 18 Members, 12 of whom are nominated by Pembrokeshire County Council, whilst the remaining 6 Members are appointed – following an interview process – by the Welsh Government. members, code, conduct, good, practice, committee, decisions, councillor, allowances,
Roles of the key organisations and contacts Roles of the key organisations and contacts. Active outdoor event guidance. police, trust, county, council, tourism, outdoor, charter, marine, code, destination,
Search the Listed Building Register Search the Listed Building Register - you can see all the listed buildings in a Community Council area, view photographs, and find out why a building has been listed. listed, building, historic, register, community, council,


text:
Paper Folding DIY Kit by Kelli Anderson
Herrero
Hordes of Silhouettes Form Trees and Other Figures in New Murals from David de la Mano & Pablo Herrero
…Artist collaborators David de la Mano & Pablo S. Herrero have unveiled mural after mural this year from Winter Haven, Florida to Gdansk, Poland. The duo uses only black paint to create elaborate silhouetted figures of trees, whales, and human forms. You can see much more of their recent work here. (via Colossal Submissions)…
Shadowy Optical Illusion Mural by Strøk in Italy
Anne Esser As part of the Memorie Urbane street art festival in Italy, Norweigan stencil artist Anders Gjennestad (aka Strøk) painted this shadowy mural on the side of an old school. This is just one of numerous pieces created for the festival including many Colossal favorites like Pixel Pancho, Seth, Pablo Herrero, Natalia Rak, Levalet, Ernest Zacherevic, Etam Cru, David de la Mano, and Alice Pasquini. (via Fecal Face) Anne Esser Anne Esser…
New Tree Murals by Pablo S. Herrero
…Here's a number of new pieces from last year or so by artist Pablo S. Herrero (previously), almost all of which are collaborations with either David de la Mano or E1000. The artist was most recently in Gaeta, Italy where he completed the piece at top with E1000 for the Memorie Urbane Street Art Festival. (via Street Art News)…
Four New Murals by David de la Mano and Pablo S. Herrero
…Pajaros Pajaros Transito Transito Transito Baluarte Baluarte, in progress Eco Eco Artists David de la Mano and Pablo S. Herrero (previously) recently finished four new pieces on the streets of Winter Haven, Florida. The duo continued their exploration of human figures and the natural world with their fractal-like forms of faces and eyes. See much more here….
New Murals by David de la Mano and Pablo S. Herrero on the Streets of Norway
…Three new works today from artists David de la Mano and Pablo S. Herrero who collaborated on the streets of Stavanger and Sandnes in Norway to create these lovely figures made of trees and people. The duo joined forces earlier this year in Uruguay and I'm glad to see them continuing to explore this style in other cities. Definitely check out their respective websites for more photos….
Tree People on the Streets of Uruguay
…These are the first photographs of a collaboration between Pablo S. Herrero and David de la Mano in Montevideo, Uruguay. My guess is that David was responsible for painting the figurative pieces while Pablo filled them in with his signature trees. (via street art utopia)…
Drippy Dipped Glasses by Manready Mercantile


It doesn't have to be intimidating, and it's fine if you only have experience from high school. Ohio State has a lot of opportunities to prepare you for the world of career and internship fairs.
*Or make one if you don't have a résumé! Your résumé is the time to showcase your accomplishments and skills you will be bringing to the job. If you don't know where to start, then Ohio State can help. The Writing Center and Career Counseling and Support Services have resources available online.
Once you have updated it, don't forget one of the most important steps: PRINT IT. It can be on normal printer paper, or if you want to be more professional you can use résumé paper. It's less flimsy than normal copier paper and you can find some on the second floor of the Ohio Union in the Resource Room. Once you print out copies of your résumé, be sure to put them in something; don't just let them hang around unprotected! That way, when you hand a potential employer your résumé, it's presentable. A padfolio or even a clean, unmarked folder will work. This way you have somewhere to put pen and paper, in case you need to take notes, as well!
At some point during the fair you will be talking to professionals and you will want to make a good impression. This is where an "elevator speech" comes in. Basically it is a brief speech…imagine a short 20-30 second elevator ride conversation that lets the other person know more about you, your qualifications, and why you're talking to them about their company. You can see a template here.
Also, think about what you want to ask the professionals at the career fair. What do you want to know about their company, and what they could offer you? If you aren't sure what you would say, look through this list from Buckeye Careers, Career Counseling and Support Services can help, and if you're free next Tuesday, September 8th in the evening try going to the Making the Most Out of a Career Fair Workshop. Look through the list of employers attending and do some research on ones that sound interesting to you. That way, you can ask specific–as opposed to general–questions.
You are going to want to look professional. Here are a couple suggestions from Buckeye Careers. When in doubt, have someone look over your outfit. Don't wait until the last minute to do this!
And let's all remember that you're not fully dressed without a smile! Let's be honest: who wants to work with someone who looks like they hate life? Even just looking interested can help your first impression.
This career fair isn't going to determine the rest of your life. Think of it as a way to get comfortable in a professional environment. You are going to want an internship or job eventually and being familiar with the process makes a difference.
Just breathe and remember that everyone had to start somewhere.
Did you connect with an employer at the job fair? Write the representative you spoke with a thank you note! Buckeye Careers has some follow-up suggestions here.
If going to the career fair made you confused about what you want to do with your degree or how to get from point A to point B, don't worry, there are people to help with that! Buckeye OnPace is an online module that helps you figure out what careers fit with your interests, you can meet with Career Counseling and Support Services, or can talk to your advisor about the resources available in your major. Don't be afraid to ask questions!


It was a small town by a small river and a small lake in a small northern part of a Midwest state. There wasn't so much wilderness around you couldn't see the town. But on the other hand there wasn't so much town you couldn't see and feel and touch and smell the wilderness.
September 27, 2016 — This was a big one for me: Waukegan, Illinois—the hometown of Ray Bradbury. But it was more than just his hometown, more than the mere place where he was born. It was the very geography of his imagination. The place where so many of his stories were set. So many of his characters lived. On his pages, he rechristened the city Green Town. And I was going to see it all, both the real Waukegan and the fictional Green Town. We've got a lot to pack into this one, so let's get going.
We had pulled into town the night before, beat from a day in Chicago. Our first experiences with Bradbury's birthplace were a few strip malls, a hotel interior, and a coyote that crossed the street in front of the hotel to disappear into the tall weeds.
Later that night, during a thunderstorm…well, I've told that story already. First thing on our docket the next morning, though, was to revisit the park and its very special ravine to see it in the light of day.
Ray Bradbury Park was originally named Powell Park in 1891, after a former mayor and seashell dealer who gave the land to the city. In 1990, they renamed it Ray Bradbury Park (Powell already had a second park named after him). Ray Bradbury Park is small, has a playground, and is bordered on three sides by houses. A low, wooden sign proclaims its name, a sign behind which Bradbury himself stood for a photo op during the dedication.
In the night, the ravine had been a monstrous abyss. In the daylight, the creek and bridge and steep steps up the opposite slope looked welcoming. A small wooden sign at the base of the crumbling old steps read, "Dandelion Trail." Looking up at them, I couldn't understand how I'd made it up and down in the dark the previous night. In the rain. With smooth-soled shoes. Maybe I'd died there. Maybe I was a ghost that morning. Maybe I should leave the stories to Ray Bradbury. Maybe I should leave the park…and head to the author's birth home.
Bradbury's house on St. James Street is only a block away from the park and right behind his grandparents' house, which faces the intersecting Washington Street. There isn't much to say about it. The house looks like a regular ole house. It's been subdivided into a duplex and has two tall tapering bushes in the front yard that rise past the roof line like green rockets taking off into the sky. Sorry the photo isn't well framed. I had a hard time photographing the place due to a large white box truck parked directly in front of it.
The most notable feature of his neighboring grandparents' house for us Ray Bradbury fans is an odd window frame on the side of the house that in Bradbury's day held stained glass. The young Bradbury would gaze through the window, fascinated by the way the colored glass distorted his view. He would later use these windows in stories like "The Strawberry Window" and "The Man Upstairs."
We headed deeper downtown to see the two biggest impacts on Bradbury's life and imagination: the local library and the local theater. The Waukegan Public Library has a massive mural on its rear exterior wall that is full of children's references, from Fat Albert to Harry Potter to the Headless Horseman of Sleepy Hollow. However, strangely, there's only one Bradbury reference in the whole thing that I could find: A humble sign post labeled Green Town.
But that wasn't Bradbury's library, anyway. This building was built in 1965, about three decades after Bradbury had become an Angelino. Bradbury's childhood library is an abandoned but grand edifice a couple of streets over. It dates to 1902 and is one of the famous Carnegie libraries. I could still see evidence of its past life in the windows, boxes of books and posters that encouraged reading. A group is right now attempting to transform the derelict building into a museum of sorts called the Ray Bradbury Playhouse of the Mind.
During Bradbury's time, Genesee Street had two theaters across the street from each other, the Academy Theatre and the Genesee Theatre. At these movie palaces, he was fed a constant diet of monsters and heroes and villains. It was from here that he raced home to cross the ravine at night, with silver screen monsters at his back and his older brother hiding out ahead. The Academy Theatre building burned down in 2004, but the Genesee still stands and has been refurbished in this still-new millennium. On its marquee during my visit were adverts for Alice Cooper, the B-52s, Morris Day and the Time, and a mummy-themed funk band called Here Come the Mummies. Like, they all dress as mummies and jam. Everybody eventually finds their niche.
Surrounding the theater are a trio of Bradbury tributes. Across W. Clayton Street, which runs alongside the theater, is a mural dedicated to Waukegan that prominently features Bradbury (although maybe not as prominently as Waukegan's other famous native son, Jack Benny, who also has a bronze statue of himself in town). Directly behind the theater, across N. Sheridan Road, is an arc of bronze stars, each bearomg the face of a famous Waukegan-an. The center star goes to the pudgy, bespectacled countenance of good old Ray. Another mural behind a building adjacent to the theater shows a simple black train…with the number 451 painted on the engine, which makes me think of firemen shoveling books into the engine's firebox for fuel.
And that's pretty much the extent of Ray Bradbury in Waukegan as of today. Before we left, we hit the municipal beach at Lake Michigan just as Bradbury would have done as a kid, and then caught a farewell lunch at the Green Town Tavern, which marked new items on its menu with a dandelion.
The way I see it, Waukegan, Illinois, exists in three ways. The way it was during Ray Bradbury's time. The way it is today. And the way Ray Bradbury envisioned it. You can visit the latter anytime by picking up one of his books. You can visit the middle version by just traveling there. And the first, well, you'll need a time machine for that one. Just don't step on any butterflies when you go.
Ray Bradbury Park: North Park Ave.
Bradbury Birth Home: 11 South St. James St.
Home of Bradbury's Grandparents: 619 Washington St.
Carnegie Library: 1 North Sheridan Rd.
Genesee Theatre: 203 North Genesee St.
Academy Theatre Site: 202 N. Genesee St.
Waukegan Mural: Genesee St. and W. Clayton St.
Walk of Stars: Haig Paravonian Park, N. Sheridan Rd.
Train Mural: N. Sheridan Rd. and W. Clayton St.
Green Town Tavern: 110 S. Genesee St.


text:
Alice Panepinto
Alice Panepinto is a lecturer in law at Queen's University Belfast, Northern Ireland. She researches human rights, transitional justice and international law, with a regional interest in the Middle East. Previously, Alice was a Research Fellow at the Centre for Human Rights in Practice working on transitional justice, international law and Muslim-majority legal systems.
Justice	Comment
A tiny West Bank village is due to be demolished: here's how international law could be used to intervene
Environment	From the Editor
Editorial: The human cost of environmental challenges
Editorial: Balkans and Beyond
From the editor: Remembering everyone's human rights
OpenLacuna	From the Editor
From the editor: Human rights through art, travel and civil society
Call for Submissions: Special Edition on the Western Balkans
Politics	From the Editor
Editorial: What has the EU ever done for us? – Peace
Migration	From the Editor
Editorial: The Struggle Across Borders
Ways into the Western Maghreb
Editorial: From 1215 to the Future
Writing that challenges indifference


text:
The 2012 NBA All-Star Game was an exhibition basketball game that was played on February 26, 2012, during the National Basketball Association's (NBA) 2011–12 season. It was the 61st edition of the NBA All-Star Game, and was played at the Amway Center in Orlando, Florida, home of the Orlando Magic. The Western Conference defeated the Eastern Conference, 152–149. Kevin Durant was named the All-Star Game Most Valuable Player.

The Orlando Magic were awarded the All-Star Game in an announcement by commissioner David Stern on May 4, 2010. This was also the second time that Orlando has hosted the All-Star Game; the city had previously hosted the event in 1992 in the Orlando Arena, the Magic's previous home arena. This game also marked the first time an Eastern Conference city hosted an All-Star game since Atlanta in 2003. Despite the 2011 NBA lockout, which reduced the regular season to sixty-six games on a condensed schedule, the All-Star Game took place as scheduled.

The All-Star Weekend began on Friday, February 24, 2012 with the Celebrity Game and the Rising Stars Challenge, a game featuring the league's best rookies and second-year players. On Saturday, the event continued with the All-Star Saturday Night, which featured the Shooting Stars Competition, Skills Challenge, Three-Point Shootout and Slam Dunk Contest. The D-League All-Star Game and the D-League Dream Factory, which includes the Slam Dunk Contest, Three-Point Shootout and Shooting Stars Competition, also took place during the All-Star Weekend. Both events were held on Saturday before the NBA All-Star Saturday Night.

All-Star Game

Coaches

The coaches for the All-Star game are the head coaches who led the teams with the best winning percentages in their conference through the games of February 15, 2012. The head coaches from the previous year, Doc Rivers and Gregg Popovich were not eligible for selection.

The coach for the Western Conference team was Oklahoma City Thunder head coach Scott Brooks. The Thunder had a 22–7 record on February 15, the best record in the Western Conference. The coach for the Eastern Conference team was Chicago Bulls head coach Tom Thibodeau. The Bulls had a 23–7 record on February 15, the best record in the Eastern Conference and in the league. This was the first All-Star Game selection for both Brooks and Thibodeau.

Players

The rosters for the All-Star Game were chosen in two ways. The starters were chosen via a fan ballot. Two guards, two forwards and one center who received the highest vote were named the All-Star starters. The reserves were chosen by votes among the NBA head coaches in their respective conferences. The coaches were not permitted to vote for their own players. The reserves consist of two guards, two forwards, one center and two players regardless of position. If a player is unable to participate due to injury, the commissioner will select a replacement.

Dwight Howard of the Orlando Magic topped the ballots with 1,600,390 votes, which earned him a starting position as a center in the Eastern Conference team. Derrick Rose, Dwyane Wade, LeBron James, and Carmelo Anthony completed the Eastern Conference starting position. Howard, Rose, Wade and James were starters for the previous year's Eastern Conference team, while Anthony started for the Western Conference team. The Eastern Conference reserves includes three first-time selections, Luol Deng, Andre Iguodala, and Roy Hibbert. Atlanta Hawks guard Joe Johnson suffered an injury and was replaced by Boston Celtics guard Rajon Rondo. The Miami Heat is represented by three players, Wade, James and Chris Bosh, while the Chicago Bulls and the Celtics are represented by two players each.

The Western Conference's leading vote-getter was Kobe Bryant, who earned his fourteenth consecutive All-Star Game selection with 1,555,479 votes. Chris Paul, Kevin Durant, Blake Griffin, and Andrew Bynum completed the Western Conference starting positions. Bryant, Paul and Durant were starters for the previous year's Western Conference team. Griffin became an All-Star Game starter for the first time after he was selected as a reserve in last year's game. Bynum received 1,051,945 votes to earn his first All-Star Game selection and a starting position at center. Bryant/Bynum and Paul/Griffin became the first two pair of teammates who were voted to start for one conference since the 1997 game. The Western Conference reserves include two other first-time selections, LaMarcus Aldridge and Marc Gasol. Both Los Angeles teams, the Lakers and the Los Angeles Clippers, are represented by two players each, all of them are starters. Durant, of the Oklahoma City Thunder, is the only Western Conference starter that does not play in either teams of Los Angeles. The Thunder is also represented by two players, Durant and Russell Westbrook.

Roster

 Joe Johnson was unable to participate due to injury.
 Rajon Rondo was named as Joe Johnson's replacement.

Game

The West led by as many as 21 points and held on to win the game, 152–149. Kevin Durant scored 34 of his game-high 36 points in the first three quarters and was named the game's Most Valuable Player. LeBron James also scored 36. The West's lead was reduced to one point at 148–147 after a Deron Williams' steal and layup with 1:44 remaining. Leading 151–149, Blake Griffin secured the victory with a steal of a James' pass. Griffin was fouled and made one of two free throws with 1.1 seconds left. Kobe Bryant was guarding James on the pass and chastised James for not attempting a shot. Bryant left the game earlier in the third quarter after he was bloodied from a hard foul to his face by Dwyane Wade. He was diagnosed after the game with a broken nose and a concussion.

Bryant finished with 27 points and became the leading scorer in All-Star history (271), passing Michael Jordan (262). Wade had 24 points, 10 rebounds, and 10 assists, joining James and Jordan as the only players to record a triple-double in the All-Star game. The West set an All-Star record with 88 first-half points, and the teams' 157 combined points at the half was also a record. The 301 combined points at the end of the game were two shy of the record set (in overtime) in the 1987 NBA All-Star Game. The East made 14 three-point field goals, another record.

All-Star Weekend

BBVA Rising Stars Challenge

The BBVA Rising Stars Challenge featured the best first-year players ('Rookies') and the best second-year players ('Sophomores') going at each other. The game was divided into two twenty-minute halves, similar to college basketball. For this edition of the Rising Stars Challenge, a pool of the participating players was selected by the league's assistant coaches. Then, the teams were drafted by former NBA players and current TNT analysts Shaquille O'Neal and Charles Barkley, who serve as "General Managers" for their respective teams. Former NBA player and current TNT analyst Kenny Smith served as the "Honorary Commissioner" for the Rising Stars Challenge. Sophomore Jeremy Lin of the New York Knicks and rookie Norris Cole of the Miami Heat were two last-minute additions to the player pool. Sophomore Derrick Favors of the Utah Jazz was selected as an injury replacement for Tiago Splitter. Lin played only nine minutes in the game, at his request, due to exhaustion from his rise to stardom that month.

 Tiago Splitter was unable to participate due to injury.
 Derrick Favors was named Tiago Splitter's replacement.
 Kawhi Leonard did not play due to injury.

Kyrie Irving, who scored 34 points on 8/8 three-point shooting, won the MVP award of the Rising Stars Challenge.

Sprite Slam Dunk Contest

 Iman Shumpert was unable to participate due to injury.
 Jeremy Evans was named Iman Shumpert's replacement.

Foot Locker Three-Point Contest

 Joe Johnson was unable to participate due to injury.
 Kevin Durant was named as Joe Johnson's replacement.

Taco Bell Skills Challenge

 Stephen Curry was unable to participate due to injury.
 Rajon Rondo was named as Curry's replacement.

Haier Shooting Stars Competition

 Joe Johnson was unable to participate due to injury.
 Jerry Stackhouse was named as Joe Johnson's replacement.

References

External links
 2012 All-Star Game at NBA.com

National Basketball Association All-Star Game
All-Star Game
NBA All-Star Game
2010s in Orlando, Florida
Basketball competitions in Orlando, Florida
ABS-CBN television specials