Jan Bogaert has recently been elected a member of the Board of Directors of the Belgian Chinese Chamber of Commerce (BCECC), the Belgian business association for companies engaged in doing business in or with China. The BCECC is a non-profit organization established in the 1980s following China's open-door policy. It is located in Brussels, the heart of Europe.


Do you currently own a Bulb Eater®, but interested in the next generation Bulb Eater® 3 with Intelli Technology®? Now is the perfect time to upgrade to our new machine! Call your Air Cycle account executive today to learn what the new Intelli Technology control system offers and enjoy a special price for current Bulb Eater® owners. Please provide the serial number for your Bulb Eater® VRS, VRSU, or CFL Premium machine when contacting us.
The Bulb Eater® 3 with Intelli Technology® is the most efficient way to recycle large quantities of fluorescent lamps, saving up to 20 hours of labor per 1,000 lamps and 80% in storage space. The single model is capable of crushing straight linear lamps of any length, u-tubes, and CFLs! Schedule a Bulk Pickup when the drum is full to transport and recycle the crushed lamps.
"As a former EPA employee, I served as the project leader for the "EPA Region 3 Drum-top Crushing Study" that assessed the operational effectiveness and safety of this practice. When operated properly, we concluded that drum-top crushing devices facilitated lamp recycling and were effective in controlling mercury emissions. The study did, however, identify various issues for manufacturers and operators to consider to ensure safe and proper use.
Air Cycle Corporation's newest drum-top crushing device, the Bulb Eater® 3, represents a significant advancement for the practice of recycling and managing spent lamps. Additional features include diagnostic controls with an LCD monitor, additional filter stages, elimination of casual connections, quicker filter and drum changes, and an online Certified Training Program. These upgrades directly address the issues and concerns that were identified in the EPA Region 3 crushing study.
Simply put, the new machine is designed to facilitate proper and safe use by th e operator. The new Bulb Eater® 3 with these upgraded features is an effective and safe technology that will hopefully encourage expanded recycling of mercury-containing lamps."
The Hines' Houston Headquarters office space has been awarded Platinum certification under the U.S. Green Buildings Council's LEED for Commercial Interiors Rating System. For over 30 years, Hines has occupied several floors in Williams Tower and has not undergone any major modifications, until now. As one of the firm's guiding principles is to be an industry leader in sustainability, the Hines' corporate office incorporated green features into the renovation such as re-use and recycling of existing materials, installing water conservation appliances, reducing light power energy, and more.
"We are tremendously proud of this achievement, and we recognize the importance of leading by example and demonstrating our commitment to the environment," announced Hines Senior Vice President, Corporate Operations Services, Ilene Allen. Read about Hines' certification in this High Rise Facilities article for more information on how the renovation implemented environmentally friendly, money-saving features.
Q. What are the advantages of an Air Cycle Bulk Pickup?
A. Air Cycle offers Bulk Pickup Services to allow you to continue enjoying cost-effective recycling solutions after you have crushed your lamps, conserve your storage space, save money over other recycling solutions, and help keep our environment clean.
- Have large amounts of crushed lamps picked up nationwide.
- Recycle various types of universal waste with a single pickup (including batteries, ballasts, and electronics).
- Track your recycling progress 24/7 with online recycling reports.
- Certify your progress for regulatory or management review with Recycling Certificates.


» YOUR PRINCESS IS IN ANOTHER CASTLE!
This is where Announcments will be posted. Be sure the check here to see if anything important has happened.
Does your character have a brother or sister In-Character? Is your character dating somebody? Come here, so we can all know!
Where you can make your own character, you must have them approved before rping.
The Central 46 Chambers serve the Shinigami royalty (the ruling class of all Soul Society). They are made up of 40 wise men and 6 judges, selected from all of Soul Society. They are sealed into an enclave in Seireitei called Seijōtōkyorin which no one else may enter, regardless of their military or civilian status. They serve as a supreme judiciary organization whose authority puts it in direct control of the legal system. They handle all rulings on Shinigami and souls who have violated prohibitions. Their orders are absolute and no decision has been known to be overturned. Shinigami crimes are judged here, regardless of whether they are committed in the Soul Society or the world of the living. In the event of a Shinigami's execution, they even give leave for the Stealth Force or the Gotei 13 to use lethal force.Their justice is harsh and quick.
Its exact location is not known, most likely somewhere within the Sereitei. Inside of the academy it looks like a modern school crossed with a Japanese castle. The rooms are high with tiered seating as well as large halls that seem to go on forever. Within this school are many shinigami-in-training as well as very well respected teachers. This is the same school from which Renji and Rukia graduated.
The Gotei 13 is the organization which most Shinigami join, and one of the three main branches of military in Soul Society. It is split into thirteen divisions (hence the name), with several divisions having certain specializations. The Gotei 13 is subservient to the edicts of the Central 46 Chambers. They also have no jurisdiction over any of the noble families. When posting here, in the topic, specify which Division Barracks your in by putting its number in the topic. Example: "A Long Day #5"
Karakura Town is a town in Tokyo where Ichigo, Inoue, Chad, and Ishida live. For the most part its a nice and peaceful place with areas that resemble today's suburbs and cities. The trouble usually appears when Hollows, and other supernatural beings appear.
Post anything here, like advertisements, videos, chat, questions, other crap.


Handsome cherry colour with a warm bouquet of plum, truffle and wood smoke. The velvety palate is full and rich, but with lovely balance, and laid-back notes of berries, leather and coffee. Delicious!
This mature Spanish red is made from a blend of Garnacha (Grenache), Tempranillo and Syrah. The grapes grow at 650m on traditional, dry-farmed bush vines (en vaso). Spanish 'Gran Reserva' wines are aged longer than those labelled 'Roble', 'Crianza' or 'Reserva.
Great for with the Sunday roast or paprika pork and red peppers.


The human body is built for movement. If you don't use your body, your muscles and joints will become weaker and grow stiff. This increases the likelihood of disease and musculoskeletal conditions.
It is far healthier to be overweight and well-trained, compared to being thin and never using your muscles. Studies show that inactivity is the most common cause of illness and early deaths. Staying active and engaging in regular exercise results in less illness, a longer life, and a higher quality of life.
For the majority of people, there's no good excuse not to exercise regularly. This is especially true if you suffer from painful muscles and joints as exercise will stimulate blood circulation, muscle strength, flexibility and faster healing.


text:
COMPUTER SYSTEM AND DATABASE MANAGEMENT METHOD USING THE SAME
A pre-fetch server, which is connected to a DB server running a DBMS and to a storage apparatus storing DB data, stores information required for judging whether or not a pre-fetch is effective. Judgment on whether or not the pre-fetch will be effective is performed when a pre-fetch I/O is issued. If the pre-fetch server judges that the pre-fetch will be effective, it issues the pre-fetch I/O to the storage apparatus.
Idei, Hideomi (Kawasaki, JP)
Mogi, Kazuhiko (Sagamihara, JP)
Nishikawa, Norifumi (Machida, JP)
707/999.01, 707/E17.005
20020069201 Method for downloading selectable progressive mesh models under the environment of World Wide Web June, 2002 Cheng
20030004946 Package labeling January, 2003 Vandenavond et al.
20080016078 DOCUMENT OBJECTS January, 2008 Karlsson et al.
20080177750 Internet-Based Bearing Tracking Application July, 2008 Ricker
20080082585 SYSTEMS AND METHODS FOR SECURING EVENT INFORMATION WITHIN AN EVENT MANAGEMENT SYSTEM April, 2008 Elgezabal
20090157682 MANAGING MAINTENANCE TASKS FOR COMPUTER PROGRAMS June, 2009 Gupta
20090112808 Metadata Repository and Methods Thereof April, 2009 Howcroft et al.
20060200503 Modifying back-end web server documents at an intermediary server using directives September, 2006 Dosa et al.
20090265370 QUERY AUTHORING BY MODIFYING A VIEW OF THE RESULTS OF THE QUERY October, 2009 Rucker et al.
20060242190 Latent semantic taxonomy generation October, 2006 Wnek
20090164481 MULTIMEDIA PORTAL June, 2009 Schultz et al.
LEROUX, ETIENNE PIERRE
BRUNDIDGE & STANGER, P.C. (ALEXANDRIA, VA, US)
1. A computer system, comprising: a computer that includes a database management program; a storage apparatus that includes a database that can be accessed by the database management program; a first circuit that issues, before the database management program accesses target data in the database, a command for commanding the storage apparatus to pre-fetch the target data from the database; and a second circuit that judges the effectiveness of the command and provides the command to the storage apparatus if the judgment is positive.
2. The computer system according to claim 1, wherein the second circuit judges whether or not the storage apparatus can pre-fetch the target data before the database management program accesses the target data.
3. The computer system according to claim 2, wherein, if the storage apparatus cannot pre-fetch the target data before the database management program accesses the target data, the second circuit does not issue the command to the storage apparatus.
4. A computer system, comprising: a first computer that includes a database management program; a storage apparatus that includes a database that can be accessed by the database management program, the storage apparatus connected to the first computer; and a second computer that is connected to the first computer and the storage apparatus, the second computer issuing to the storage apparatus a command for commanding the storage apparatus to pre-fetch data in the database before the database management program accesses the data so that the storage apparatus receiving this command provides the pre-fetched data to the first computer, wherein the second computer includes: a first circuit that commands, when the first computer accesses the data in the database, the storage apparatus to pre-fetch the data stored in the database based on information about the access; and a second circuit that judges, when the pre-fetch is commanded, whether or not the pre-fetch will be effective, and issues the command for the pre-fetch to the storage apparatus when the pre-fetch will be effective.
5. The computer system according to claim 4, wherein: the second circuit predicts a first required time—the time required until the pre-fetch of the pre-fetch target data is completed, and a second required time—the time required until the database management program accesses the pre-fetch target data; and the second circuit compares the first required time and the second required time to judge the effectiveness of the pre-fetch.
6. The computer system according to claim 5, wherein if the second circuit determines that the first required time is greater than the second required time, the second computer does not issue the command for the pre-fetch to the storage apparatus.
7. The computer system according to claim 5, wherein the second circuit uses, for predicting the second required time required until the database management program accesses pre-fetch target data, the following information: information about the history of access from the database management program to the database; information about the current status of the pre-fetch target data; and information about the required time until the pre-fetch is completed.
8. The computer system according to claim 5, wherein the second circuit uses, for predicting the first required time required until the pre-fetch of the pre-fetch target data is completed, the following information: information about the status of the pre-fetch target data; and information about the required time required until the pre-fetch is completed.
9. The computer system according to claim 4, wherein: the first circuit commands, when the pre-fetch target data is identified, the pre-fetch in a reverse order of an order of access by the database management program; and the second circuit judges the effect of the pre-fetch based on whether or not the database management program has accessed the pre-fetch target data.
10. A database management method using a computer system that includes: a computer having a database management program; and a storage apparatus having a database that can be accessed by the database management program, the method comprising: a first step of issuing to the storage apparatus a command for commanding the storage apparatus to pre-fetch target data from the database before the database management program accesses the target data in the database; and a second step of judging the effectiveness of the command and providing the command to the storage apparatus if the judgment is positive.
This application relates to and claims priority from Japanese Patent Application No. JP2007-146168, filed on May 31, 2007, the entire disclosure of which is incorporated herein by reference.
The present invention relates generally to a computer system (hereinafter referred to as a "DB system") that uses a database (hereinafter, abbreviated as a "DB").
2. Description of Related Art
Currently, there are a lot of DB-based applications, and database management systems (hereinafter abbreviated as "DBMS") for performing DB-related processing and management have been becoming increasingly important.
One feature of a DB is its handling of a large amount of data. Due to this feature, many DB systems using a DBMS have a configuration where a storage apparatus with large-capacity storage areas is connected to a computer running the DBMS, and data is stored in the storage apparatus.
In a system with this kind of configuration, since the data is stored in the storage apparatus, when the computer issues an IO command to the storage apparatus, the computer inevitably accesses a disk (a storage resource) in the storage apparatus. This data-access to the disk requires a mechanical operation such as data-seeking and takes much longer time compared to calculation, data transfer, and the like executed on a CPU or in a memory in the computer.
In that situation, it has been common for the storage apparatus to include a cache memory, and a controller in the storage apparatus stores data read from the disk in the cache memory, so if the same data is accessed later, the controller reads the data from the cache memory instead of the disk.
Also, an arrangement has been proposed in which a storage apparatus detects a sequence of data accesses (sequential access), predicts the data to be accessed next and pre-fetches the predicted data to a cache memory.
JP2003-150419 A discloses a technique in which, in order to increase the speed for accessing data in a database stored in a storage apparatus, the storage apparatus storing the DB data obtains, from the DBMS, DB schema location information, query execution information, and the like that will be needed for pre-fetch, and executes the pre-fetch within the storage apparatus.
In "Evaluation on pre-fetch mechanisms using access plans in high-function disks" (Mukai et. al. 11th Data Engineering Workshop (DEWS 2000): hosted by The Institute of Electronics, Information and Communication Engineers, Data Engineering Technical Group. Collection of papers and Lectures No. 3B-3, issued as a CD-ROM in July, 2000.), improvement of the performance of a DBMS by improving the function of a storage apparatus is discussed, taking as an example a DB using a relational database management system (RDBMS).
If a query processing execution plan in the RDBMS is provided to the storage apparatus as application level knowledge, the storage apparatus can read an index of a certain table in the RDBMS and then judge which block storing data for this table the storage apparatus should access.
In such an arrangement, the DBMS sequentially accesses indexes, and a computer running the DBMS ascertains block groups, each storing data in the tables corresponding to the indexes. By effectively scheduling the access to the block groups, the total access time for accessing data can be shortened.
However, in the above techniques, an existing storage apparatus needs to be greatly modified in order to shorten the time for a DB server to access DB data stored in the storage apparatus.
In light of this background, in the computer system disclosed in JP2005-258735 A, a pre-fetch server connected to a DB server and a storage apparatus obtains, from a DBMS, DB schema location information, query information and the information for the execution of the DBMS that will be needed for pre-fetch, identifies target data to be accessed by the DBMS based on the obtained information, and issues a command (pre-fetch I/O) to the storage apparatus to pre-fetch the target data so that the target data is staged to a cache in advance, thereby shortening the time required for processing an I/O issued from the DB server to the storage apparatus.
However, in the arrangement disclosed in JP2005-258735 A, as the number of queries the DB server needs to simultaneously execute (i.e., the multiplicity of queries) increases, pre-fetch I/Os from the pre-fetch server to the storage apparatus increase in addition to read I/Os from the DB server to the storage apparatus, which may result in the application of an even larger load on the storage apparatus, compared to the arrangement where pre-fetch is not performed.
It is an object of this invention to provide a computer system that includes a pre-fetch server performing the above-described pre-fetch, the computer system being capable of preventing the increase of load on a storage apparatus even if multiple queries are issued to a DB server.
In order to achieve the above object, in this invention, by judging the effectiveness of pre-fetch I/Os, which conventionally have been issued to the storage apparatus without any restrictions and limitations, and by issuing to the storage apparatus only pre-fetch I/Os that have been judged as effective, the number of pre-fetch I/O issued but not effective is reduced, and the increase of the load on the storage apparatus is prevented.
Specifically, according to an aspect of this invention, a pre-fetch server, which is connected to a DB server running a DBMS and a storage apparatus storing DB data, stores information that will be needed for judging the effectiveness of pre-fetch. With that arrangement, whether or not the pre-fetch will be effective is judged when a pre-fetch I/O is issued, and only pre-fetch I/Os that have been judged as effective in the above judgment is issued to the storage apparatus.
According to the above aspect of this invention, a computer system including a pre-fetch server performing pre-fetch and a database management method that are capable of preventing the increase of the load on a storage apparatus even if multiple queries are issued to a DB server can be provided.
Other aspects and advantages of the invention will be apparent from the following description and the appended claims.
FIG. 1 is a diagram showing an example of a system configuration according to a first embodiment.
FIG. 2 is a diagram showing an example of the configuration of I/O completion time information.
FIG. 3 is a diagram showing an example of the configuration of DBMS access history management information.
FIG. 4 is a diagram showing an example of the configuration of pre-fetch data management information.
FIG. 5 is a flowchart showing an example of a processing sequence of a pre-fetch I/O issuing process.
FIG. 6 is a flowchart showing an example of a processing sequence of a pre-fetch effectiveness prediction process.
FIG. 7 is a diagram showing an example of the configuration of pre-fetch data management information according to a second embodiment.
FIG. 8 is a flowchart showing an example of the configuration of a pre-fetch effectiveness prediction process according to the above second embodiment.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Embodiments of this invention will be described below with reference to FIGS. 1 to 8. It should be understood that this invention is not limited to these embodiments.
A first embodiment of this invention will be described referring to FIGS. 1 to 6. FIG. 1 shows a hardware block diagram for a computer system. This computer system includes: a DB server 100 running a DBMS; a pre-fetch server 130 that predicts data in a storage apparatus 150 storage area that will be accessed by the DB server 100 based on information obtained from the DB server 100 and issues a pre-fetch command to the storage apparatus 150; the storage apparatus 150 that stores data in a database; a DB client 170 that makes a request to the DB server 100 for execution of a query received from a user; a network 190 that connects the DB server 100, the pre-fetch server 130 and the DB client 170 to each other; and a network 192 that connects the DB server 100, the pre-fetch server 130, and the storage apparatus 150 to each other. Although FIG. 1 shows only one unit for each of the DB server 100, the storage apparatus 150 and the DB client 170, a plurality of units may be provided for each.
The DB server 100 is a typical computer, which includes an I/F (A) 102 serving as an interface with the network 190, a CPU (control processing unit) 104, an input/output device 106, a memory 108, and an I/F (B) 120 serving as an interface with the network 192.
The DB server 100's memory 108 stores an operating system (hereinafter, abbreviated as "OS") 110, a DBMS 114 and a DB information acquisition/transmission program 118. The OS 110, the DBMS 114 and the DB information acquisition/transmission program 118 are executed by the CPU 104.
The OS 110 includes a raw device and raw device information 112. The DBMS 114 holds DB management information 116 that will be needed for using and managing a DB. The raw device is a logical memory device managed by the OS. The raw device information 112 associates the raw device included in the OS 110 and storage areas in the storage apparatus 150 that are assigned to that raw device with each other.
The raw device information 112 associates a file name in the raw device and a storage area in the storage apparatus with each other. Assignment of a storage area in the storage apparatus to a file in the raw device is defined by a logical unit number in the storage apparatus and the top logical block address of the logical unit.
Since the DB server 100 and the pre-fetch server 130 need to access the storage areas in the same storage apparatus, the DB server 100 OS 110 and the pre-fetch server 130 OS 140 have common raw device information 112 with common content.
The DB management information 116 is set by an administrator or similar when a DB is initially created. The DB management information 116 includes DB system file information (setting information for a DB system file), data area information (setting information for a data area), DB schema information (setting information for DB schemas such as tables and indexes), and index information (setting information for indexes).
The DB system file information associates the DB system file and the raw device with each other. The DB system file is one large file created in the raw device. The DBMS 114 constructs a DB by writing data in the DB system file. The OS 110 determines, based on the above raw device information 112, the logical storage area in the storage apparatus 150 in which the DB data in the DB system file will be actually written. Based on the determined information, the OS 110 issues a data-write command to the storage apparatus 150.
The data area information is the setting information for the data area managed by the DBMS 114. The data area is an area for storing the DB data and created in the DB system file.
The DB schema information is setting information about the DB schemas, such as tables and indexes, managed by the DBMS 114. The index information is setting information about the indexes in the DB schemas.
The pre-fetch server 130 is a typical computer like the DB server 100, and includes an I/F (A) 132 serving as an interface with the network 190, a CPU (control processing unit) 134, an input/output device 136, a memory 138, and an I/F (B) 146 serving as an interface with the network 192.
The memory 138 stores an OS 140 and a pre-fetch program 142. The OS 140 and the pre-fetch program 142 are executed by the CPU 134. The OS 140 holds the same information as the raw device information 112 of the DB server 112. The pre-fetch program 142 holds the pre-fetch management information 144 that will be needed in the pre-fetch process.
The storage apparatus 150 includes an I/F 152 serving as an interface with the network 192, a CPU (control processing unit) 154, a memory 156, a cache memory 162 and disks 164.
The memory 156 of the storage apparatus 150 stores a control program 158 for controlling the storage apparatus 150. The control program 158 is executed by the CPU 154 and holds storage area information 160 that associates logical storage areas and physical storage areas with one another.
It should be noted that the disks 164 are storage media, and may be hard disk drives or optical discs. The storage apparatus 150 may establish a RAID configuration with the logical storage areas defined by a plurality of disks. Semiconductor memories such as flash memories may be employed in place of the disks.
The storage area information 160 associates logical units—logical storage areas included in the storage apparatus 150—and physical storage areas actually storing data, with one another. The storage area information 160 includes: a logical unit numbers; logical block addresses, i.e., numbers for logical blocks in the logical unit; physical disk numbers for identifying disks containing physical blocks corresponding to the logical block addresses; and physical block addresses, i.e., numbers for physical blocks corresponding to the logical blocks.
The storage apparatus 150 is accessed by the DB server 100 and the pre-fetch server 130 through designation of a logical unit and a logical block address in the storage apparatus 150. Then, the storage apparatus 150 determines, based on the storage area information 160, the physical disk number and the physical block address of the physical block corresponding to that logical unit and logical block, and then actually accesses the physical block.
The DB client 170 is a typical computer like the DB server 100 and the pre-fetch server 130, and includes a CPU (control processing unit) 172, an input/output device 174, a memory 176, and an I/F 182 serving as an interface with the network 190.
The memory 176 stores an OS 178 and a DB front-end program 180.
The OS 178 and the DB front-end program 180 are executed by the CPU 172. When the DB server 100 starts the DBMS 114 or changes the configuration of the DB, it transmits to the pre-fetch server 130 information for the configuration of the DB stored in the storage apparatus 150, especially the storage locations for the DB schemas (which will be referred to as "DB schema location information").
Then, when the DB server 100 receives a query (which relates to operation details for the DB or process details for the DB) from the DB client 170, the DB server 100 transmits information about this query (which will be referred to as "DB process information") to the pre-fetch server 130. Also, when the DB server 100 accesses data in the DB, the DB server 100 transmits information about the DB to be accessed (which will be referred to as "DB access information") to the pre-fetch server 130. The DB server 100 then accesses the storage apparatus 150.
When the DB server 100 receives the query from the DB client 170, the DB information acquisition/transmission program 118 acquires a query plan for the query from the DBMS 114, creates the DB process information and transmits the created DB process information to the pre-fetch server 130. Then, the DB information acquisition/transmission program 118 makes a request to the DBMS 114 for the execution of the received query.
Meanwhile, the pre-fetch server 130 that has received the above information predicts which storage area in the storage apparatus the DB server 100 will access, based on the received information. Then, the pre-fetch information 130 creates a pre-fetch command based on the prediction result and transmits the pre-fetch command to the storage apparatus 150. When receiving the pre-fetch command, the storage apparatus 150 reads data from the storage area designated by the pre-fetch command and stores the data in the cache memory 162.
The pre-fetch management information 144 includes DB schema location information (logical location information for each DB schema) and DB process information (information about the execution of queries). The schema location information includes: a DBMS ID for identifying a DBMS 114 that has a DB schema; a DB schema ID for identifying the DB schema; the type of the DB schema; the file name in the raw device in which the DB schema is written; the logical unit number of the storage apparatus 150 in which the DB schema is written; and the logical unit address of the storage apparatus 150 in which the DB schema is written. The DBMS ID is a unique value that has been assigned in advance to each DBMS 114 by an administrator or similar.
When the DB server 100 executes the DB information acquisition/transmission program 118, the DB server 100 acquires the DB schema location information from the OS 110 and the DBMS 114, and transmits the DB schema location information to the pre-fetch server 130. The DB information acquisition/transmission program 118 creates the DB schema location information (or collects information for constructing the DB schema location information) based on the content of the DB management information 116 and the raw device information 112, which are stored in the DB server 100, and the DBMS ID information, and transmits the DB schema location information to the pre-fetch server 130. Transmission is conducted when starting the DBMS 114, and when changing the configuration of the DB.
The DB process information is information about a query executed by the DBMS 114 and about retrieval executed by that query (i.e., a table scan or an index scan, hereinafter referred to as a "scan"). The DB process information includes: a DBMS ID for identifying a DBMS 114 that executes a query; a query ID for identifying the query to be executed; a scan ID for identifying a scan to be executed in the query; a DB schema ID for identifying the DB schema to be accessed by the scan; and the type of the scan. The DB information acquisition/transmission program 118 acquires from the DBMS 114 the DB process information for the query received from the DB client 170 and transmits the DB process information to the pre-fetch server 130.
The DB access information is information to be used when the DBMS 114 accesses the DB data. The DB access information includes: a DBMS ID for identifying a DBMS 114 that executes a query; a query ID for identifying the query to be executed; the type of scan to be executed; the logical unit number in the storage apparatus 150 that stores data to be accessed; the logical block address in the storage apparatus 150 that stores data to be accessed; and the size of the data to be accessed. The DB access information is created every time the DBMS 114 accesses the DB data and transmits the DB data to the pre-fetch server 130.
The pre-fetch command issued by the pre-fetch server 130 to the storage apparatus 150 is information showing the location of pre-fetch target data. The pre-fetch command includes: a number for the logical unit in the storage apparatus 150 that stores the pre-fetch target data; an address of the logical block in the storage apparatus 150 that stores the pre-fetch target data; and the size of the pre-fetch target data.
When receiving the pre-fetch command, the storage apparatus 150 determines the physical location of the relevant data based on the storage area information 160 and reads it out to the cache memory 162. Then, when receiving a command to access the DB, the storage apparatus 150 transmits the data that has been read out to the cache memory 162 to the DB server 100.
The pre-fetch program 142 running on the pre-fetch server 130 also holds I/O completion time information 147, DBMS access history management information 148 and pre-fetch data management information 149.
FIG. 2 is a diagram showing an example of the configuration of the I/O completion time information 147 stored in the pre-fetch program 142 in the pre-fetch server 130. The I/O completion time information 147 is information for managing the time taken from the point in time when the pre-fetch server issues a pre-fetch I/O to the storage apparatus 150 to the point in time when the pre-fetch is completed. This information has a field 200 for entering the number of accumulated-I/O completion times, a field 202 for entering an I/O completion time history, and a field 204 for entering an I/O average completion time.
The number of accumulated-I/O completion times 200 in FIG. 2 is information showing the accumulated number of I/O completion times as the history of the I/O completion times, which may be set in the pre-fetch program 142 or applied as an external parameter by an administrator when the pre-fetch program 142 is started.
Each I/O completion time in the I/O completion time history 202 expresses, as the difference between time-stamps, the time taken from the point in time when the pre-fetch server 130 issues a pre-fetch I/O to the storage apparatus 150 to the point in time when a response for the above pre-fetch I/O is sent from the storage apparatus 150 to the pre-fetch server 130. The I/O completion time history 202 contains as many past I/O completion times as the number indicated by the number of accumulated-I/O completion times, starting from the latest one.
The I/O average completion time 204 is a value obtained by dividing, by the number of accumulated-I/O completion times, a value obtained by adding all I/O completion times in the I/O completion time history 202 when a new I/O completion time is added or a change is made to the I/O completion time history 202.
FIG. 3 is a diagram showing an example of the configuration of the DBMS access history management information 148 stored in the pre-fetch program 142 in the pre-fetch server 130. The DBMS access history management information 148 manages how the DBMS 114 accesses the storage apparatus 150. The DBMS access history management information 148 includes DBMS access history information 300 and access-destination data information 310. The pre-fetch program 142 refers to the access history management information 148 and executes the pre-fetch process.
The DBMS access history information 300 includes a field 302 for entering a DBMS ID, a field 304 for entering a query ID, a field 306 for entering a pointer to the top of the access-destination data information 310, and a field 308 for entering a pointer to the next DBMS access history information 300.
As many pieces as DBMS access history information 300 as the number of queries to be pre-fetched are created, and the pieces of the DBMS access history information 300 are associated with each other by the pointer 308 to the next DBMS access history information.
The access-destination data information 310 includes a field 312 for entering an access flag, a field 314 for entering a scan ID, a field 316 for entering an access-destination logical unit number, a field 318 for entering an access-destination logical block address, and a field 320 for entering a pointer to the next access-destination data information 310.
The access-destination data information 310 is created when the pre-fetch program 142 identifies pre-fetch target data during the pre-fetch process, and the created access-destination data information 310 is entered as access-destination data information for corresponding DBMS 114 access history information 300.
If plural pieces of access-destination data information 310 are created, the plural pieces of information are associated with each other by the pointer 320 to the next access-destination data information 310 in order of access by the DBMS 114. The access flag 312 is information showing whether or not the DBMS 114 has accessed the storage area indicated by this flag, and the initial value of the access flag is OFF. Based on the DB access information transmitted when the DBMS 114 accesses data in the DB, corresponding access-destination data information 310 is identified and the access flag for this access-destination data information is turned ON.
The identification of the corresponding access-destination data information 310 uses the scan ID 314, the access-destination logical unit number 316 and the access-destination logical block address 318. Access-destination data information 310 that has been kept for a certain time period and is no longer necessary may be deleted.
The pre-fetch program 142 in the pre-fetch server 130 creates the DBMS access history management information 148 shown in FIG. 3, based on the DB process information transmitted from the DB server 100. Regarding the DBMS access history information 300 identified by the DBMS ID and the query ID, the DBMS 114 accesses the DB based on the access-destination data information 310 in order of association by the pointer. When the DBMS 114 completes access to the DB based on first DBMS access history information identified by the DBMS ID and the query ID, the DBMS 114 accesses the DB based on second DBMS access history information.
FIG. 4 is a diagram showing an example of the configuration of the pre-fetch data management information 149 stored in the pre-fetch program 142 in the pre-fetch server 130.
The pre-fetch data management information 149 includes a pre-fetch I/O issue-waiting queue 420, a pre-fetch I/O completion-waiting queue 430, a pre-fetch I/O completion queue 440 and a pre-fetch I/O cancellation queue 450. Pieces of pre-fetch I/O information 400 are added to the end of each queue depending on the status of the queue.
The pre-fetch I/O information 400 includes a field for entering a DBMS ID, a field 404 for entering a query ID, a field 406 for entering a scan ID, a field 408 for entering a pre-fetch-destination logical unit number, a field 410 for entering a pre-fetch-destination logical block address, and a field 412 for entering a pointer to next pre-fetch I/O information 400.
When the pre-fetch program 142 identifies pre-fetch target data during the pre-fetch process, it creates the pre-fetch I/O information 400 as information corresponding to the identified data and queues it at the end of the pre-fetch I/O issue-waiting queue 420.
Here, the order of queuing corresponds to the order of access by the DBMS 114. Alternatively, it may be so arranged that a priority is set for each data and queuing is performed in descending order of priority. For example, if the priority of an index leaf page as a starting point for the pre-fetch is set to the highest, the pre-fetch program 142 of the pre-fetch server 130 issues to the storage apparatus 150 a pre-fetch I/O for the index leaf page earlier than for other data.
If plural pieces of pre-fetch I/O information 400 are being queued in the pre-fetch I/O issue-waiting queue 420, the pre-fetch program 142 executes pre-fetch effectiveness prediction process (described later) from the top pre-fetch I/O information 400 in the queue. When judging that the pre-fetch will be effective, the pre-fetch program 142 issues a pre-fetch I/O, de-queues the relevant pre-fetch I/O information 400 from the pre-fetch issue-waiting queue 420, and queues it onto the end of the pre-fetch completion-waiting queue 430.
When the pre-fetch I/O is completed, the pre-fetch program 142 de-queues the relevant pre-fetch I/O information 400 from the pre-fetch I/O completion-waiting queue 430 and queues it onto the end of the pre-fetch I/O completion queue 440.
When judging that the pre-fetch will be effective in the pre-fetch effectiveness prediction process, the pre-fetch program 142 does not issue a pre-fetch I/O, de-queues the relevant pre-fetch I/O information 400 from the pre-fetch I/O issue-waiting queue 420 and queues it onto the pre-fetch I/O cancellation queue 450.
Pre-fetch I/O information 400 that has been kept in the pre-fetch completion queue 440 or the pre-fetch cancellation queue 450 for a certain period of time and is no longer necessary may be deleted.
The pre-fetch program 142 refers to the DBMS access history management information 148 shown in FIG. 3, creates pre-fetch I/O information 400 at random, and stores the created pre-fetch I/O information 400 in the pre-fetch I/O issue queue 450. Each queue in FIG. 4 is formed in a predetermined area in the memory 138 of the pre-fetch server 130.
Processing sequences for a process for issuing a pre-fetch I/O (hereinafter referred to as a pre-fetch I/O issue process) and a process for predicting the effectiveness of the pre-fetch (hereinafter referred to as a pre-fetch effectiveness prediction process), which are performed in the pre-fetch process executed by the pre-fetch program 142 will be described below. It should be understood that, in the below description, when a program or a process is presented as a subject, the actual agent of action is a CPU that executes that program or process.
FIG. 5 is a flowchart showing a processing sequence example for the pre-fetch I/O issue process. In the pre-fetch I/O issue process 500, the pre-fetch program 142 refers to the pre-fetch I/O issue-waiting queue 420 and judges whether or not any pre-fetch I/O information 400 is queued in the pre-fetch I/O issue-waiting queue 420 (step 502).
If the pre-fetch program 142 determines that pre-fetch I/O information 400 is queued in the pre-fetch I/O issue-waiting queue 420 in step 502, it reads out the top pre-fetch I/O information 400 queued in the pre-fetch I/O issue-waiting queue 420, retrieves pre-fetch management information 144 based on data contained in this I/O pre-fetch information 400, and judges whether or not this data is an index leaf page as a starting point of the pre-fetch (step 504).
If the above data is determined not to be the index leaf page as the starting point of the pre-fetch in step 504, the pre-fetch program 142 executes a later-described pre-fetch effectiveness prediction process 600 and judges whether or not the pre-fetch I/O will be effective (step 506)
If it is determined that the above data is determined to be the index leaf page as the starting point of the pre-fetch in step 504, or if it is determined that the execution of the pre-fetch will be effective in step 506, the pre-fetch program 142 obtains a time stamp when the judgment is made and stores this time stamp as an I/O start time stamp 412 for the pre-fetch I/O information 400. Then, the pre-fetch program 142 issues a pre-fetch I/O to the storage apparatus 150 (step 508).
Next, the pre-fetch program 142 de-queues this pre-fetch I/O information 400 from the pre-fetch I/O issue-waiting queue 420, and queues it in the pre-fetch I/O completion-waiting queue 430 (step 510).
If it is determined in step 506 that the execution of the pre-fetch will not be effective, the pre-fetch program 142 de-queues the pre-fetch I/O information 400 relevant to the judgment from the pre-fetch issue-waiting queue 420 and queues it onto the pre-fetch cancellation queue 450 (step 512).
If pre-fetch I/O information 400 is not queued in the pre-fetch I/O issue-waiting queue 420 in step 502, or after executing the processing of steps 504 to 512, the pre-fetch program 142 judges whether or not a previously-issued pre-fetch I/O has been completed (step 514).
If it is determined that the previously-issued pre-fetch I/O has been completed in step 514, the pre-fetch program 142 retrieves and reads out the relevant pre-fetch I/O information 400 from the pre-fetch completion queue 430, obtains a time stamp when the previously-issued pre-fetch I/O was completed, and calculates the difference from the value contained in the I/O start time stamp 412. Based on that difference, the pre-fetch program 142 determines the I/O completion time and stores it in the I/O completion time history 202 (step 516).
Subsequently, the pre-fetch program 142 de-queues the pre-fetch I/O information 400 retrieved in step 516 from the pre-fetch-completion waiting queue 430 and queues it on the pre-fetch I/O completion queue 440 (step 518). After this step, the pre-fetch program 142 repeats the processing in steps 502 to 518.
FIG. 6 is a flowchart showing a processing sequence example for the pre-fetch effectiveness prediction process. The pre-fetch effectiveness prediction process 600 is executed, where pre-fetch I/O information 400 is queued in the pre-fetch issue-waiting queue 420; and pre-fetch target data identified by the top pre-fetch I/O information 400 in the pre-fetch issue-waiting queue 420 is not an index leaf page as a start point of pre-fetch, in the above pre-fetch I/O issue process 500.
In the pre-fetch effectiveness prediction process 600, the pre-fetch program 142 retrieves DBMS access history management information 148 and judges whether or not the DBMS 114 has accessed the pre-fetch target data identified by the pre-fetch I/O information 400 (step 602).
If it is determined that the DBMS 114 has not accessed the pre-fetch target data in step 602, the pre-fetch program 142 retrieves the DBMS access history management information 148 again and reads out access-destination data information 310 for the data last-accessed or currently being accessed by the DBMS 114 at this point in time (step 604).
Next, the pre-fetch program 142 refers to each queue in the pre-fetch data management information 149 to grasp the pre-fetch status of data to be accessed by the DBMS between the data in the access-destination data information 310 read out by the DBMS in step 604 and the pre-fetch target data identified by the pre-fetch I/O information 400. Then, the pre-fetch program 142 calculates a DBMS access-required time T1 in the processing in steps 608 to 620 shown below (step 606).
The pre-fetch program 142 judges whether or not the target data is queued in the pre-fetch I/O completion-waiting queue 430 (step 608). If it is determined that the target data is queued in the pre-fetch I/O completion-waiting queue 430, which means the pre-fetch is currently being performed, the pre-fetch program 142 adds the I/O average completion time 202 to an accumulated time (T1), which is the time required until the DBMS 114 accesses pre-fetch target data (step 610).
The pre-fetch program 142 judges whether or not the target data is queued in the pre-fetch I/O cancellation queue 450. If it is determined that the target data is queued in the pre-fetch I/O cancellation queue 450, which means the pre-fetch has not been performed, the DBMS 114 has to access this data, so the pre-fetch program 142 adds the I/O average completion time 202 to the DBMS access-required time T1 (step 614).
If the determination results in both of the steps 608 and 612 being "no", which means the target data has been queued in the pre-fetch I/O completion queue 440, the pre-fetch target data has been pre-fetched already. This status is a cache hit, so the pre-fetch program 142 does not perform any addition to the DBMS access-required time T1 (step 616).
The pre-fetch program 142 judges whether or not the processing in steps 608 to 616 has been performed for all target data that should be checked for calculating the DBMS access-required time T1 (step 618). If data that should be checked remains, the pre-fetch program 142 performs the processing in steps 608 to 616 for the remaining data (step 620).
If it is determined that the processing of steps 608 to 616 has been performed for all the target data for calculating the DBMS access-required time T1 in step 618, the pre-fetch program 142 counts the number of pieces of pre-fetch I/O information 400 that are queued in the pre-fetch I/O completion-waiting queue 430 and calculates a pre-fetch completion time T2 of the relevant pre-fetch I/O by multiplying a value that has been obtained by adding 1 to the counted number by the I/O average-required time 202 (step 622).
Next, the DBMS access-required time T1 calculated in the processing in steps 608 to 616 is compared with the I/O pre-fetch completion time T2 calculated in step 622 (step 624). If the I/O pre-fetch completion time T2 is equal to or shorter than the DBMS access-required time T1, the relevant pre-fetch I/O is judged as effective (i.e., the pre-fetch can be completed before the DBMS's access) (step 626).
If the I/O pre-fetch completion time T2 is longer than the DBMS access-required time T1 in step 624, or if it is determined that the DBMS 114 has already accessed the data in step 602, the relevant pre-fetch I/O is judged as not effective (i.e., the pre-fetch cannot be completed before the DBMS's access) (step 628).
By predicting the pre-fetch effectiveness through the above processing and issuing a pre-fetch I/O that will be effective (i.e., a pre-fetch I/O that can complete the pre-fetch before the DBMS's access), the number of I/Os to be issued to the storage apparatus 150 can be reduced, thereby preventing the increase of the load to the storage apparatus 150.
However, in the above first embodiment of this invention, since the above pre-fetch effectiveness prediction process is performed every time the pre-fetch server 130 issues the pre-fetch I/O to the storage apparatus 150, it is highly probable that a large part of the CPU resources in the pre-fetch server 130 is consumed, which may adversely affect the pre-fetch process itself. Under such circumstances, a processing sequence for simplifying the pre-fetch effectiveness prediction process while avoiding the consumption of a large part of the CPU resources in the pre-fetch server 130 will be described as a second embodiment.
In the above first embodiment, when the pre-fetch program 142 identifies pre-fetch target data during the pre-fetch process, creates the pre-fetch I/O information 400 and queues it onto the pre-fetch issue-waiting queue 420, the pre-fetch program 142 performs the queuing in the order of access by the DBMS 114. In the second embodiment, however, the pre-fetch program 142 performs the queuing in the reverse order of the order of access by the DBMS 114. In the pre-fetch effectiveness prediction process, the pre-fetch program 142 retrieves the DBMS access history management information 148, judges whether or not the DBMS 114 has accessed pre-fetch target data identified by the pre-fetch I/O information 400 and determines that the pre-fetch will be effective (i.e., the pre-fetch can be completed before the DBMS's access) when the DBMS 114 has not accessed the above data, or determines that the pre-fetch will not be effective (i.e., the pre-fetch cannot be completed before the DBMS's access) when the DBMS 114 has already accessed the above data.
FIG. 7 is a diagram showing an example of the configuration of pre-fetch data management information 149 according to the second embodiment. In the pre-fetch effectiveness prediction process according to the second embodiment, since the status of the pre-fetch target data does not have to be managed, the pre-fetch data management information 149 requires to include only a pre-fetch I/O issue-waiting queue 720. Here, the configuration of pre-fetch I/O information 700 to be queued in the pre-fetch I/O issue-waiting queue 720 is the same as the pre-fetch I/O information 400 in the first embodiment.
FIG. 8 is a flowchart showing a processing sequence in the pre-fetch effectiveness prediction process of the second embodiment.
In a pre-fetch effectiveness prediction process 800, the pre-fetch program 142 retrieves the DBMS access history management information 148 described above and judges whether or not the DBMS 114 has accessed the pre-fetch target data identified by the pre-fetch I/O information 400 (step 802).
If it is determined that the DBMS 114 has not accessed the data in step 802, the pre-fetch is judged as effective (i.e., the pre-fetch can be completed before the DBMS's access) (step 804). On the other hand, if it is determined that the DBMS 114 has already accessed the data, the pre-fetch is judged as not effective (i.e., the pre-fetch cannot be completed before the DBMS's access) (step 806).
Due to the above processing sequence, the effectiveness of pre-fetch can be determined through fewer steps than those of the processing sequence of the first embodiment, and also the consumption of the CPU resource in the pre-fetch server 130 can be reduced. However, since the judgment on the effectiveness of pre-fetch is made based on the judgment of whether or not the DBMS 114 has accessed the data, even if the pre-fetch is performed based on the determination that the pre-fetch can be completed before the DBMS's access, it is likely that the DBMS 114 accesses the data before the pre-fetch is completed. Therefore, the accuracy of the pre-fetch effectiveness prediction is slightly lower than in the first embodiment.
Although the I/O completion time is calculated in the pre-fetch server 130 in the above first and second embodiments, a new interface may be provided to directly obtain the I/O completion time from the storage apparatus 150. The processing in the first embodiment and the processing in the second embodiment may be performed while being switched from one to the other, depending on the multiplicity of queries or similar
Even when the pre-fetch server checks the parameter of the storage apparatus 150 and judges that the pre-fetch will be effective, the pre-fetch server 130 may cancel the pre-fetch in a situation where the storage apparatus is busy or the like.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be devised that do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims.
Previous Patent: Centralized content repositories for distributed learning management systems
Next Patent: SYSTEM AND METHOD FOR POINT-OF-USE INSTRUCTION

redpajama_set_name: RedPajamaCommonCrawl


text:
Nashville Bombing
Epicenter of Christmas Day bombing reopened to car and foot traffic
by: Valencia Wicker
NASHVILLE, Tenn. (WKRN) — Nashville residents recall tense moments during the early morning hours of Christmas Day in 2020.
"It's a tragedy any day it happens, but for it to happen Christmas morning… it was so bizarre," said Travis Frew, who was living on 2nd Avenue near Demonbreun at the time. "It almost felt like an earthquake."
The massive explosion interrupted the quietness of the holiday. A suicide bomber died in the explosion, but there were no other fatalities. Forty-one businesses were damaged, along with dozens of other homes and cars that were destroyed.
"It was just heartbreaking," said Christina Wood, who was visiting Nashville Monday with her husband. "Just couldn't imagine what people are going through that day when you're looking forward to celebrating with family and you're scared that your loved ones might be injured and you can't get ahold of people. I just can't imagine."
SEE ALSO: Nashville bombing 1 year later: Officer recalls running into horror
One year and two days later, city crews reopened the block of 2nd Avenue between Commerce and Church Streets, the very place where the bomb exploded. There is one lane of traffic open to cars and a pedestrian walkway for those traveling on foot.
"We just walked through the pedestrian walkway not knowing that today is the first day that it's open," said Tom Wood, Christina's husband. "It was surreal walking through it, seeing the devastation down there where the explosion actually happened. We paused for a bit at the building that's being demolished and just realizing how devastating this really was."
Barriers still line the block, but businesses say it's just enough to make a difference.
"I was employed over at one of the restaurants that got bombed on Christmas Day last year," said Bobbie Bradley, who now works at the Chicken Guy located at the corner of 2nd and Commerce. "When one door closes, another opens for you. It gave me an opportunity to work for this company which is a great company."
PHOTOS: Damage from Nashville bombing on Christmas
Management at the chicken eatery says they are already seeing a 30% increase in foot traffic.
"It's going to absolutely be a game changer. We've been waiting for this," said Bradley.
City officials say there will be construction and lane closures periodically. Fencing will stay intact between construction projects.


Singer Adele has cancelled the last two sell-out shows of her world tour due to take place at London's Wembley Stadium this weekend after damaging her vocal cords.
Adele said she went to see a throat doctor on Friday night, who advised her not to perform.
She had already performed two nights to crowds at Wembley but said that she had been struggling vocally.
She said she was so desperate to perform that she had even considered miming at the shows but later admitted she couldn't do that to her fans as it's not her real self.


"Maras Group involves itself in projects which are achievable and desirable as long-term investments..."
The company, which focuses primarily on the Adelaide CBD and the inner-suburban areas, lays claim to a long list of enviable developments, driven almost exclusively by the need to satisfy strong tenant demand. Maras Group works industriously with all its tenants to produce outcomes which are timely, sustainable, cost effective and most importantly, of the highest quality.
Maras Group only participates in projects which are achievable, and desirable, as long-term investments. The vast majority of projects developed by the company are retained for significant periods of time – consistent with the company's long-term investment outlook.
Maras Group prides itself on its in-house management skill and expertise and seeks at every opportunity to ensure that its tenants are looked after 'beyond the call of duty' – one of its strongest competitive advantages.
Once a tenant is secured, the company is involved in every step of the development and investment spectrum – from site identification and acquisition, finance, concept design, lease negotiation, full project design and planning approvals through to construction, tenant fit-out, hand-over and on-going management.
Maras Group was founded by Theo Maras AM, who continues today as the company's Chairman. Since 2007, the group has been directed and managed by Theo's son, Steve Maras, who has successfully transformed the business since taking the reigns, expanding the development portfolio and consistently delivering strong growth year in year out.
Steve and Theo have (combined) almost 70 years in the property industry and bring to the company an exceptional and diverse mix of experience, skill and success. Both are highly respected leaders in the property, business and community circles.


In June 2017, IFC, a member of the World Bank Group, and two biggest insurance associations in Ukraine — League of Insurance Organizations of Ukraine and Ukrainian Federation on Insurance (UFU) — jointly organized an index insurance workshop entitled "Strategic Decisions Metrics for Agriculture Index Insurance" for all interested insurance companies and other market participants.
Instructor Shadreck Mapfumo, GIIF Senior Financial Specialist, led the three-day workshop which introduced new approaches to the agri-insurance product development to the local participants. A total of 38 representatives learned how to develop index insurance products through multiple topics including "Fundamentals of Index Insurance Risk Transfer Process"; "Risk Analysis for Optimal Contract Design, Evaluation, and Pricing"; and "Introduction to Data Analysis for Product Design." The workshop received an overwhelmingly positive result. Four local companies have requested for technical assistance to develop index insurance products to hedge risks against adverse weather events for agribusinesses, bank agriculture-loan portfolios, and farmer groups.
Weather index insurance is a relatively new concept for the Ukrainian market which is traditionally more accustomed to traditional Multiple Peril Crop Insurance (MPCI) and few area yield index. However, current insurance products do not cover spring crop risks of spring drought or frost (affecting germination) and winter crop risks of autumn drought. This limitation is compounded by limited access to finance, one of the major reasons behind the country's underdeveloped agricultural sector.
The workshop is designed to contribute to the continuation of the development of index insurance market in Ukraine. In May and June 2016, IFC partnered with Syngenta, a global supplier of seeds, fertilizers, and other agricultural inputs, to develop a pilot index insurance project anticipated to provide farmers with reliable insurance to obtain credit and working capitals. Since its pilot, the product offering has been expanded from three to nine regions (Kirovograd, Dnipropetrovsk, Kharkiv, Donetsk, Luhansk, Zaporizha, Odesa, Kherson, and Mykolaiv oblasts) and 111 farmers have insured corn and wheat against drought. This has resulted in 37% of the farmers receiving an indemnity payout of $499,000 USD in total, with a loss ratio of 133%.


text:
Lily Allen Wore the World's Most Interesting Chanel Outfit This Weekend
The house of Chanel has many great lovers and friends—Gisele Bündchen, Kristen Stewart, and Vanessa Paradis have all lent their image to the label before. So has Lily Allen (she posed with the lightweight cocoon bags years ago), and the relationship seems like it's still going strong, with her wearing a Chanel creation to this weekend's Rose Ball in Monaco. We knew it'd be different—Karl Lagerfeld hinted to WWD that it was "a very funny outfit." He designed the oversize collar, coat, and silver dress she wore underneath, according to The Telegraph. I'm not positive if I'll be adding an oversize floral piece to my own closet any time soon, but I love this entire thing for so many reasons. It's easy to think of the brand for its posh and polished jackets and handbags, but there's an irreverent strain running through its DNA proudly and loudly. Karl Lagerfeld has made it somewhat of a thing to stage fashion shows in quirky cool venues, recently reimagining a brasserie and supermarket. The brand has collaborated with Pharrell, showed Princess Leia-type earmuffs, and didn't seem to be bothered by this artist's awesome Chanel bagel purse. Fashion is definitely a serious business, but
By Leah Melby Clinton
The house of Chanel has many great lovers and friends—Gisele Bündchen, Kristen Stewart, and Vanessa Paradis have all lent their image to the label before. So has Lily Allen (she posed with the lightweight cocoon bags years ago), and the relationship seems like it's still going strong, with her wearing a Chanel creation to this weekend's Rose Ball in Monaco.
We knew it'd be different—Karl Lagerfeld hinted to WWD that it was "a very funny outfit." He designed the oversize collar, coat, and silver dress she wore underneath, according to The Telegraph.
I'm not positive if I'll be adding an oversize floral piece to my own closet any time soon, but I love this entire thing for so many reasons. It's easy to think of the brand for its posh and polished jackets and handbags, but there's an irreverent strain running through its DNA proudly and loudly. Karl Lagerfeld has made it somewhat of a thing to stage fashion shows in quirky cool venues, recently reimagining a brasserie and supermarket. The brand has collaborated with Pharrell, showed Princess Leia-type earmuffs, and didn't seem to be bothered by this artist's awesome Chanel bagel purse. Fashion is definitely a serious business, but there's also a lot of opportunity for fun. Karl and Chanel know that and embrace it, associating themselves with of-the-moment names (Kendall Jenner included!) and always pushing the envelope.
Do you love Lily's funky look for how playful and bold it is? Or are you totally not feeling it?
Topicschanellily allen


See website for more cool things like changing color of the lights even!
Always have been a sucker for room automation.. Great idea and really simple!
Went through the motions of doing this. Pretty cool post. Thanks! Here's some notes to speed things up for others.
URL would be as follows http://hue_bridge_ip/api/qVPLx2Ye5Mw14Mky/lights/1/state where qVPLx2Ye5Mw14Mky is the secret created by your ios or android device. grab wireshark and sniff this out.
No Userid or Password !
How do we go about targeting a client or access point? Another way to phrase the question would be; from where do the lighting changes take their cue?
It's clear how to control the lighting details but can we cue the lighting adjustments off a specific client associating with a specific access point?


text:
DISSENT >
DISSENT - Bleeding Together :CD
DISSENT Bleeding Together
WIDE HIVE RECORDS (US)
Dissent is a group impossible to categorize. While the ten-piece band's sound is often labeled as funk or acid jazz, there are moments on the group's new album, Bleeding Together, that could very easily be considered simply pop, rock, or new wave. Regardless of genre, what's immediate when listening to the album is how utterly affecting it is. It's the kind of album best listened to in the early hours of the morning. When the rest of the world is asleep, Dissent will awaken in you images of chaos, distress and controlled comfort. It might seem a little scary, but the spook-kookiness of the band's music is what you wish the night would sound like.
Born in 1997 as the brainchild of Wide Hive founder and producer, Gregory Howe, Dissent brings together a range of versatile avant-garde musicians from the Bay Area. Effortlessly breathing life into Howe's vision of an album of concept pieces as structured as they are frenetic, are Kat Ouano (Mission: and Crown City Rockers) on keyboards, Elton "Shyam" Bradman (Animal Liberation Orchestra) on drums, Lila Sklar on violin, Matt Montgomery on bass, Sonny Walker on guitar, Calvin Keys on guitar, Ray Martinez on congas, Tim Hyland on flute and Nathalie Sanchez on vocals.
This hybrid of musical talent is at its best on "Freaky Feet" and the title track when genres and styles are shuffled and toyed with so much that they often crossover mid-tune. Sans vocals, "Freaky Feet" begins as a pumping jazz number before slipping into '70s disco, while the opening of "Bleeding Together" could easily be mistaken for the theme song to Miami Vice before Sanchez's vocals kick in and the song, suddenly, would not seem out of place among the Britpop tunes on a John Hughes soundtrack.
Sanchez's vocals are used so sparsely throughout the album that when they do finally arrive, they offer a welcome dramatic twist to already intricate melodies. The pieces without Sanchez, instead feature eerie narratives from a variety of voices. On "Haunted Head", the voices come together to create a stirring Halloween-inspired tune of horror and wizardry, harking back to the more frightening moments of so many of Grimm's Fairytales: a scary old lady threatens, a young man whispers, and a gruesome Lon Chaney-type giggles maniacally over the bizarre musical configuration.
"Sound Painting" works in a similar way, with the band squarking along as a familiar male voice discusses the "sound painting" as he walks through a museum full of such works. As he hits a piece he likes, he wanders over and says, "Here, let me turn it up." With every painting the man comes across, Dissent adapt and play something a little different, demonstrating the band's very philosophy -- musical pieces as art come to life.
This kind of visual noise, and out-there experimentalism is what Dissent is all about. The songs on Bleeding Together never begin or end as would be expected. They can twist from sultry jazz (on "Rudy" which evokes the spirit of the MIA Kristen Vigard) into progressive pop ("Flying Blind") in a heartbeat, competently managing Latin riffs ("Shine") and futuristic beats ("Dissent 2") in between. The musicians comprised on the album are nothing short of magnificent, the arrangements are swift and complete, jarring and smooth.
01. Continental Divide
02. Bleeding Together
03. Rudy
04. Haunted Head
05. Flying Blind
06. Soul Cycling
07. Eclectric Company
08. Shine
09. Freaky Feet
10. Wandering Bee Trail
11. Dissent 2
12. Sound Painting
13. Loop Din


Opened Central Park in Njivice Camp!
The Central Park is open in the camp Njivice.
In Central Park at the camp is Central Park caffe, a large children's playground as well as a training ground for exercising and a large children's pool with slide.
Central Park is surrounded by mobile homes Campi park and is entirely suitable for families with children and for recreation.
We can proudly say that the children have chosen Central Park as a place for their all-day entertainment and activities.


will be held at the Port Orange City Center Amphitheater.
The Port Orange Easter Egg Hunt is free for ages 2-12.
Come at 10:00 a.m. to enjoy activities listen to how the event will play out.
Directly following thee instructions, the egg hunt begins when all the first responders sound their sirens!
It might be hard to hear, so small flyers with maps and instructions will be handed out.
You can also visit the "Candy Bank" (Lakeside Community Center) for information, lost and found, etc.


text:
Race, Ethnicity and Post-Colonial Studies Commons™
Search Race, Ethnicity and Post-Colonial Studies
Ratnesh Dwivedi
Full-Text Articles in Race, Ethnicity and Post-Colonial Studies
The Politics Media Equation:Exposing Two Faces Of Old Nexus Through Study Of General Elections,Wikileaks And Radia Tapes, Ratnesh Dwivedi Mr Oct 2013
The Politics Media Equation:Exposing Two Faces Of Old Nexus Through Study Of General Elections,Wikileaks And Radia Tapes, Ratnesh Dwivedi Mr
The important identity of a responsible media is playing an unbiased role in reporting a matter without giving unnecessary hype to attract the attention of the gullible public with the object of making money and money only.After reporting properly the media can educate the public to form their own opinion in the matters of public interest. Throughout the centuries, the world has never existed without information and communication, hence the inexhaustible essence of mass media. The government has the power to either make or reject whatever that will exist within its environment. It also determines how free the mass ...
Wiki Leaks Revelations In Global Context—The War Between 'Right To Publish' And 'Ethical Code Of Conduct, Ratnesh Dwivedi Mr Nov 2011
Wiki Leaks Revelations In Global Context—The War Between 'Right To Publish' And 'Ethical Code Of Conduct, Ratnesh Dwivedi Mr
WikiLeaks is an international non-profit organisation that publishes submissions of private, secret, and classified media from anonymous news sources, news leaks, and whistleblowers. Its website, launched in 2006 under The Sunshine Press organisation claimed a database of more than 1.2 million documents within a year of its launch. WikiLeaks describes its founders as a mix of Chinese dissidents, journalists, mathematicians, and start-up company technologists from the United States, Taiwan, Europe, Australia, and South Africa. Julian Assange, an Australian Internet activist, is generally described as its director. The site was originally launched as a user-editable wiki, but has progressively moved ...


text:
Q: Should injected dependencies be readonly fields or private properties We have a small disagreement within my team over whether injected dependencies should be stored as readonly fields:
public class MyClient
{
    private readonly IService service;
    public MyClient(IService service)
    {
        this.service = service;
    }
 }

or as private readonly properties:
public class MyClient
{
    private IService Service { get; }
    public MyClient(IService service)
    {
        Service = service;
    }
 }

Are there any advantages to one choice over the other? I favour the former but it seems half of our classes use the latter.

A: You should use a readonly field.
The are three reasons to use properties over fields:

*

*You want to add some extra logic which is run when the property is accessed.

*You want to reserve the right to add some extra logic in the future, without changing your interface.

*You're using some tool / serialization framework which only deals with properties, and ignores fields.

Point 2 is why people recommend using properties instead of fields for all public (and sometimes protected) members. Point 1 (and perhaps point 3, in rare cases) is the only reason you would create a private property.
None of those points apply here. The property is only adding extra overhead, and there's no reason to pay that cost for zero gain.

A: I think readonly field is the safest approach as it prevents you from creating a new instance of the field in a different place than the constructor(Single Responsibility Principle). The decision what kind of implementation for interfaces should be used in a given class should be done at the level of the DI container. You can inject different objects for different environments, based on the app settings in your Continuous Delivery pipeline. Though you don't have to worry about weird things like e.g. using some AzureSerive when using OnPremise version of the app etc.

A: [Using a private readonly property with a getter or a private readonly field is equivalent in term of generated bytecode, so it's just a matter of taste.] <-- this is not true, as pointed below. Sorry for the inconvenience.
I prefer (and use) private fields, as I consider them more clear semantically (in my mind a field is private, fullstop) and less verbose (no need for that awful { get; }, I hate getters ).

redpajama_set_name: RedPajamaStackExchange


RocksDB is a low-latency embedded key value database created by Facebook engineers.
It is based on the LevelDB which was created by Google Engineers Jeffrey Dean and Sanjay Ghemawat.
#make: *** No rule to make target `install'. Stop.


In Risk Business Operations at Square, you'll design, build, and operationalize systems and processes to root out high-risk activity across the Square platform of products. We are looking for a Technical Lead to join our Risk Business Operations team, which is directly responsible for the most complex process and analytical work.
The Business Operations Technical Lead will be responsible for leveraging advanced analytical skills and techniques to solve our most crucial business problems. You will serve as the primary interface between the Risk Data Science team and the rest of the Risk organization. You will ensure the machine learning models built by our Data Science team are deployed optimally across our diverse problem set. You will also work independently to identify and analyze major opportunity areas within Risk to optimize existing processes (payment coding, operational casing and automation, workforce scheduling, etc). The ideal candidate has experience with operational projects and possesses exceptional analytical, cross-functional, and communication skills. This role will require a bias toward taking action in a fast-paced environment.


A parent's worst nightmare is the disappearance of a child. To give families a measure of protection against this ever increasing problem, the Grand Lodge of Indiana and Indiana DeMolay have introduced the Child Identification Program to the state of Indiana. Based on a very successful program started by the Grand Lodge of Massachusetts, the Indiana Freemasons Child Identification Program (CHIP) addresses the alarming fact that over 1,000,000 children are reported missing in the United States each year. The abduction of children is both under-reported and rapidly increasing in our society. While most are found, many are not.
The Indiana Freemasons' CHIP is the most comprehensive child identification program currently available to our communities, according to the Freemasons. CHIP helps concerned parents to promote the safety of their children by providing a fast, simple packet of information to help authorities identify and recover lost, missing or exploited kids.
The program consists of a brief interview with the child that is recorded on a video cassette to show his or her mannerisms and speech patterns. The child's fingerprints are taken, and a DNA sample is made by swabbing the inside of the child's mouth. All identifying materials are given to the parent or guardian once the child has been processed. No materials or private information is retained by the Freemasons or any law enforcement agency. The program is free and no appointment is necessary.
The Mooresville Masonic Lodge registered 49 children in the CHIP program on Saturday during the Easter Egg hunt at Pioneer Park.
While the number was down from last year when the lodge registered 97, Freemason, Scott Freeman is just happy they are able to provide the service for parents.
"The best part of our program is the video," Freeman said. "You get a chance to see the kids' facial expressions."
Freeman said the video makes identifying children easier for police officers.
Freeman said they do hope to expand it to eventually include Old Settlers.


BIG BLUE WAVE: Who Cares if a 30-Week-Old Fetus Has to Suffer and Die in the Name of 'Choice'?
Who Cares if a 30-Week-Old Fetus Has to Suffer and Die in the Name of 'Choice'?
But elective abortions don't happen at that stage!
I am so outraged. Allowing the child to have been born alive and placed for adoption would have been a far lesser evil. Nobody had to die.
But hey, if a baby has to suffer & die in the name of bodily autonomy, tough luck, baby! Right feminists? Right. Who give a s*** about a defenseless baby?


« Wordless Wednesday: Guess That Food!
Thank you for revealing this. I agree, the presentation shown in this picture is fantastic – though I have to admit that your own version is much more inviting, I know it's not just something to admire and to look at. It's 'real'food.
What I mean is you don't have the feeling of destroying an artwork.
I've been thinking, Tori, that you should put together a cookbook….with pictures, of course. And, you could title it something like "Tori's Favorites"…or "Cooking Splenda." Sign me up for the first copy. Yum…..I'm serious!
Do you like to cook, Tori?
Dwight Schrute would be impressed!
Anyone else love "The Office"?


text:
U.S., U.K. Ships Operate in the Barents Sea
Four U.S. Navy ships and a Royal Navy ship entered the Barents Sea, working together to conduct maritime security operations in the challenging environmental conditions above the Arctic Circle, May 4, 2020.
Three Arleigh Burke-class Aegis destroyers USS Donald Cook (DDG 75), USS Porter (DDG 78), USS Roosevelt (DDG 80) are supported by fast combat support ship USNS Supply (T-AOE 6), and joined by the Royal Navy's HMS Kent (F 78) to assert freedom of navigation and demonstrate seamless integration among allies.
"In these challenging times, it is more important than ever that we maintain our steady drumbeat of operations across the European theater, while taking prudent measures to protect the health of our force," said Vice Adm. Lisa Franchetti, commander, U.S. 6th Fleet. "We remain committed to promoting regional security and stability, while building trust and reinforcing a foundation of Arctic readiness."
U.S. Navy surface ships have not operated in the Barents since the mid-1980's. Allied and partner navies must remain proficient in all operating environments to ensure the continued security and access to the seas. This is especially critical in the Arctic, where the austere weather environment demands constant vigilance and practice.
The Russian Ministry of Defense was notified of the visit to the Barents Sea, May 1. The notification was made in an effort to avoid misperceptions, reduce risk, and prevent inadvertent escalation.
Porter, Donald Cook, and Kent recently completed a bilateral naval anti-submarine warfare (ASW) exercise in the Norwegian Sea. This exercise reinforced the combined training that the nations received last month while participating in the U.K's Submarine Command Course (SMCC).
Bilateral engagements strengthen international security and promote freedom across critical sea lanes. U.S. Forward Deployed Naval Forces – Europe ships have been operating with partner nations throughout European seas over the last month. Porter conducted a PASSEX with Romania in the Black Sea, April 13. Following her departure from the Black Sea, Porter met with Supply and Roosevelt to work with the Italian Navy in the Mediterranean and with the French Navy in the Atlantic, April 27. Prior to joining the SAG, Donald Cook operated in the Baltic Sea, sailing separately with the Lithuanian Navy and the German Navy.
U.S. 6th Fleet, headquartered in Naples, Italy, conducts the full spectrum of joint and naval operations, often in concert with allied and interagency partners, in order to advance U.S. national interests and security and stability in Europe and Africa.
Caspian Sea Under-Ice Studies
MBARI Research Shows Where Trash Accumul
New Short Film Highlights the Increasing
Aquatic Introduces Additional Operationa
Saab Seaeye Re-launches Sea Owl ROV
University Researcher Grows Oyster Reef
CSA GeoSpatial Services Maps the Environ
TAQA Receives Government Approval for No
Surprises on ROV Expedition in the Norwe
Tallinn University of Technology Selects
NASA: Warm Rivers Play Role in Arctic Se
Newly Upgraded Alvin Sub Passes Scientif
Long-Term Predictions for Miami Sea Leve
SEXTANT: A Young Man's Daring Sea Voyage
Kongsberg Ships Seagliders to National O
NOAA Ships Set Sail for 2014 Hydrographi
Sonardyne Joins ETI Consortium for North
The Red Sea - An Ocean Like All Others,


text:
Watch: The moment North Wales osprey nest was felled by chainsaw
By Joe Robinson @joerob_leader Reporter
THIS is the moment an osprey nest at a reservoir in North Wales was felled by a chainsaw-wielding vandal.
North Wales Police's Rural Crime team has released the disturbing footage as part of its appeal to help identify the perpetrators of the incident which occured on Friday at Llyn Brenig on the Denbighshire-Conwy border.
Rob Taylor, manager of the Rural Crime team, said: "Ospreys are a very rare, highly protected bird and are very iconic in Wales.
"Until a few years ago we literally only had one breeding pair, and now we have a handful and this is one of them.
"The first egg had been laid yesterday and at 9.45pm last night someone decides to go up there with a chainsaw and cut through the [nesting] platform.
"The whole team is absolutely devastated by it and I'm sure the whole community are as well.
"I just can't understand why anybody could go and do something like that."
He said that his team are "pulling all the stops out" to apprehend those responsible.
"They will receive the full force of the law if we do catch them," he added.
Naturalist and television presenter, Iolo Williams, took to Twitter to describe the incident as "unbelievable" and branded those responsible as "morons".
Anyone with information relation to this incident is urged to contact North Wales Police on 101 quoting reference number 2059734.


Excellent! Your blog has a ton readers. How did you get all of these readers to look at your internet site I'm jealous! I'm still getting to know all about blogs on the net. I'm going to appear around on your site to get a greater understanding how to get far more visable. Thanks for the assistance!
Hi, Neat post. There is a problem with your site in web explorer, might test this… IE nonetheless is the marketplace chief and a good portion of people will leave out your excellent writing because of this problem.


To be looking forward to my trip to Toronto! I'm still in the planning process, but it should be a fun trip!
That I had a great visit with a co-worker who is on mat leave and her adorable daughter yesterday. It was so nice to see them and catch up. Plus, I didn't have to hold the baby.
To be under another storm watch...fingers crossed for a snow day tomorrow, but safe driving conditions Thursday morning.
That I didn't watch the Superbowl, not even for the commercials. I just don't care about the game and they show different commercials in Canada than in the US, so it's not the same.
To want to go back to sleep. I'm exhausted.
That I received an email on the weekend that held some sad for me news. Something that had been part of my life for the past 14 years would no longer exist within the next two weeks. A final date, or last day, could not be given. So, I'm going to wake up one day...and it just won't be there.
Your trip will be fun!
I didn't watch the Super Bowl either. I was happy Seattle won though!


text:
About Kat
Seeds of Fire: What can we learn from the Highlander Research and Education Centre?
In the Appalachian mountains near Knoxville, Tennessee, stands the Highlander Research and Education Centre. One of the buildings now only rubble left on the ground. On March 29th 2019, white supremacists set fire to the main office building, burning decades of the archive, threatening this place which over the last 87 years has nurtured the fight for justice, equality and sustainability across the South, the USA and beyond. This is a devastating loss of historical record, of the stories of the people who came to this place, the photographs, the songs. "Highlander has survived despite arson, arrests, and eviction. And it adjusted, in a changing political climate, to new sets of students and problems" (Adams, 1972: 502). It will survive again. But it feels timely to take stock of the lessons that can be learned from this incredible project in the Deep South of the United States.
What is Highlander?
Student Nonviolent Coordinating Committee (SNCC) outside the library at Highlander.
"Highlander serves as a catalyst for grassroots organizing and movement building in Appalachia and the South. We work with people fighting for justice, equality and sustainability, supporting their efforts to take collective action to shape their own destiny. Through popular education, language justice, participatory research, cultural work, and intergenerational organizing, we help create spaces — at Highlander and in local communities — where people gain knowledge, hope and courage, expanding their ideas of what is possible. We develop leadership and help create and support strong, democratic organizations that work for justice, equality and sustainability in their own communities and that join with others to build broad movements for social, economic and restorative environmental change." (Highlander Website)
Founded in 1932, the long history of Highlander provides many useful lessons for those wishing to establish social movement infrastructure. I will outline six that I have drawn from reading about this extraordinary place.
Learning from the challenges
In the early years, Highlander struggled in a number of ways - to get students, to engage the students who showed up, to get funds. In an interview with Bill Moyers, Myles Horton - one of the founders of Highlander - said:
"We did make a terrible lot of mistakes the first year because of what we had learned that we thought you could apply. So we fell flat on our face. We weren't getting through to the people. So we had a little self-criticism and we said what we know, the solutions we have are for problems that people don't have and we are trying to solve their problems by saying that they have problems that we have solutions for - that's academia. So it won't work. We have to unlearn much of what we have learned and then learn how to learn from the people...We have to learn to relate to their experiences...They didn't want to talk about democracy and brotherhood, they wanted something in their bellies."
Through making mistakes, reflecting on them and then adapting their approach, Highlander has built a model for political education that has lasted decades.
Aligning with the oppressed
A young woman teaches a class on labor organizing at Highlander Folk School. Source: Wisconsin Historical Society.
While those at Highlander have been able to adapt to a range of challenges and changing political circumstances, one thing has been constant. Highlander was set up to work with the oppressed, to build their strength that they might overcome adversity. From mine workers to African Americans to Latinx migrants, Highlander has aligned itself with those on the margins to change the society towards liberation.
Moving with movements
Some people looking at this history of Highlander might see it as a number of different schools that have, over time, developed to support different social struggles. Horton, however, has strongly argued that "Highlander's been one school all the way through. We just doing the same thing with different groups of people."
In the early years, the centre worked mainly with labour organisations building the capacity of trade union organisers, supporting local strike action and developing workshops where black and white workers could learn alongside each other - long before it was legal to do so.
In the 1950s and 1960s, Highlander threw its support behind the Civil Rights Movement and the Citizenship Schools program developed to enable African Americans to pass so-called 'literacy tests' required to get the vote.
In the 1970s and 1980s the focus of Highlander shifts to the Appalachian Peoples Movements, fighting industrial pollution, strip mining and toxic waste.
In the 1990s and 2000s Highlander supported the emerging anti-globalisation movement by sponsoring workshops on economic human rights and trade and globalisation issues and by forging connections with international activists and organisers
And in more recent years, Highlander has been working with migrants rights organisers especially among the Latinx community.
Paying attention to geography
While Highlander has worked with movements all over the world, it is rooted in the geography of the South, of Appalachia and Tennessee. By building strong, connected foundations to land and place, Highlander has served the people and struggles closest to home. The students who have come here have often been local, the causes and struggles have been local too. There is something about the rootedness of this place that gives it strength. And having a physical place has also been significant.
Participatory education and participatory action research have been woven together at Highlander to centre the lived experience of the people who attend the workshops, to draw out the knowledge that exists in the room, to develop an analysis based on that knowledge and then to plan for action, reflect on actions that have been taken and move forward. This model is quite innovative as it is one of the rare places where learning and research are integrated in a non-university context. "Groups meeting in the famous rocking chairs at Highlander engage in peer group learning through focus groups surveys, existing documents, interviews, role playing and oral histories" (Baker et al. 2008: 198). Integrating participatory action research and popular education methods ground the learning of participants in ways that seem to make long term change.
Weaving in cultural approaches
Zilphia Horton teaches 'We Shall Overcome' at Highlander
Alongside the more explicit political work, song, dance, art and drama have always played a vital role. "People and their communities have cultural practices that help them move forward, work together with others, build bridges, celebrate and inspire action." (Highlander Website) Horton spoke of wanting to cultivate the spirit and the soul - that this will galvanise individuals to act far more than the learning of facts and figures.
This inspiring place with a long rich history provides many lessons and insights for trainers, educators and organisers in the UK and elsewhere on how to create lasting movement infrastructure.
If you can send some love and support to Highlander at this difficult time send them here: https://donatenow.networkforgood.org/1417777
Imagining Land Justice: Inspiration from speculative fiction
Joyful Militancy - some key concepts...
Training Roundup 2018
© 2018 by Simran Bola created with Wix.com