text:
using System;
using System.Collections.Generic;
using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Region.CoreModules.Avatar.Inventory.Archiver;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces;

namespace OpenSim.Tests.Common
{
    /// <summary>
    /// Utility functions for carrying out user inventory tests.
    /// </summary>
    public static class UserInventoryHelpers
    {
        public static readonly string PATH_DELIMITER = "/";

        /// <summary>
        /// Add an existing scene object as an item in the user's inventory.
        /// </summary>
        /// <remarks>
        /// Will be added to the system Objects folder.
        /// </remarks>
        /// <param name='scene'></param>
        /// <param name='so'></param>
        /// <param name='inventoryIdTail'></param>
        /// <param name='assetIdTail'></param>
        /// <returns>The inventory item created.</returns>
        public static InventoryItemBase AddInventoryItem(
            Scene scene, SceneObjectGroup so, int inventoryIdTail, int assetIdTail)
        {
            return AddInventoryItem(
                scene,
                so.Name,
                TestHelpers.ParseTail(inventoryIdTail),
                InventoryType.Object,
                AssetHelpers.CreateAsset(TestHelpers.ParseTail(assetIdTail), so),
                so.OwnerID);
        }

        /// <summary>
        /// Add an existing scene object as an item in the user's inventory at the given path.
        /// </summary>
        /// <param name='scene'></param>
        /// <param name='so'></param>
        /// <param name='inventoryIdTail'></param>
        /// <param name='assetIdTail'></param>
        /// <returns>The inventory item created.</returns>
        public static InventoryItemBase AddInventoryItem(
            Scene scene, SceneObjectGroup so, int inventoryIdTail, int assetIdTail, string path)
        {
            return AddInventoryItem(
                scene,
                so.Name,
                TestHelpers.ParseTail(inventoryIdTail),
                InventoryType.Object,
                AssetHelpers.CreateAsset(TestHelpers.ParseTail(assetIdTail), so),
                so.OwnerID,
                path);
        }

        /// <summary>
        /// Adds the given item to the existing system folder for its type (e.g. an object will go in the "Objects"
        /// folder).
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="itemName"></param>
        /// <param name="itemId"></param>
        /// <param name="itemType"></param>
        /// <param name="asset">The serialized asset for this item</param>
        /// <param name="userId"></param>
        /// <returns></returns>
        private static InventoryItemBase AddInventoryItem(
            Scene scene, string itemName, UUID itemId, InventoryType itemType, AssetBase asset, UUID userId)
        {
            return AddInventoryItem(
                scene, itemName, itemId, itemType, asset, userId,
                scene.InventoryService.GetFolderForType(userId, (AssetType)asset.Type).Name);
        }

        /// <summary>
        /// Adds the given item to an inventory folder
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="itemName"></param>
        /// <param name="itemId"></param>
        /// <param name="itemType"></param>
        /// <param name="asset">The serialized asset for this item</param>
        /// <param name="userId"></param>
        /// <param name="path">Existing inventory path at which to add.</param>
        /// <returns></returns>
        private static InventoryItemBase AddInventoryItem(
            Scene scene, string itemName, UUID itemId, InventoryType itemType, AssetBase asset, UUID userId, string path)
        {
            scene.AssetService.Store(asset);

            InventoryItemBase item = new InventoryItemBase();
            item.Name = itemName;
            item.AssetID = asset.FullID;
            item.ID = itemId;
            item.Owner = userId;
            item.AssetType = asset.Type;
            item.InvType = (int)itemType;

            InventoryFolderBase folder = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, userId, path)[0];

            item.Folder = folder.ID;
            scene.AddInventoryItem(item);

            return item;
        }

        /// <summary>
        /// Creates a notecard in the objects folder and specify an item id.
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="itemName"></param>
        /// <param name="itemId"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public static InventoryItemBase CreateInventoryItem(Scene scene, string itemName, UUID userId)
        {
            return CreateInventoryItem(scene, itemName, UUID.Random(), UUID.Random(), userId, InventoryType.Notecard);
        }

        /// <summary>
        /// Creates an item of the given type with an accompanying asset.
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="itemName"></param>
        /// <param name="itemId"></param>
        /// <param name="userId"></param>
        /// <param name="type">Type of item to create</param>
        /// <returns></returns>
        public static InventoryItemBase CreateInventoryItem(
            Scene scene, string itemName, UUID userId, InventoryType type)
        {
            return CreateInventoryItem(scene, itemName, UUID.Random(), UUID.Random(), userId, type);
        }

        /// <summary>
        /// Creates a notecard in the objects folder and specify an item id.
        /// </summary>
        /// <param name="scene"></param>
        /// <param name="itemName"></param>
        /// <param name="itemId"></param>
        /// <param name="assetId"></param>
        /// <param name="userId"></param>
        /// <param name="type">Type of item to create</param>
        /// <returns></returns>
        public static InventoryItemBase CreateInventoryItem(
            Scene scene, string itemName, UUID itemId, UUID assetId, UUID userId, InventoryType itemType)
        {
            AssetBase asset = null;

            if (itemType == InventoryType.Notecard)
            {
                asset = AssetHelpers.CreateNotecardAsset();
                asset.CreatorID = userId.ToString();
            }
            else if (itemType == InventoryType.Object)
            {
                asset = AssetHelpers.CreateAsset(assetId, SceneHelpers.CreateSceneObject(1, userId));
            }
            else
            {
                throw new Exception(string.Format("Inventory type {0} not supported", itemType));
            }

            return AddInventoryItem(scene, itemName, itemId, itemType, asset, userId);
        }

        /// <summary>
        /// Create inventory folders starting from the user's root folder.
        /// </summary>
        /// <param name="inventoryService"></param>
        /// <param name="userId"></param>
        /// <param name="path">
        /// The folders to create.  Multiple folders can be specified on a path delimited by the PATH_DELIMITER
        /// </param>
        /// <param name="useExistingFolders">
        /// If true, then folders in the path which already the same name are
        /// used.  This applies to the terminal folder as well.
        /// If false, then all folders in the path are created, even if there is already a folder at a particular
        /// level with the same name.
        /// </param>
        /// <returns>
        /// The folder created.  If the path contains multiple folders then the last one created is returned.
        /// Will return null if the root folder could not be found.
        /// </returns>
        public static InventoryFolderBase CreateInventoryFolder(
            IInventoryService inventoryService, UUID userId, string path, bool useExistingFolders)
        {
            InventoryFolderBase rootFolder = inventoryService.GetRootFolder(userId);

            if (null == rootFolder)
                return null;

            return CreateInventoryFolder(inventoryService, rootFolder, path, useExistingFolders);
        }

        /// <summary>
        /// Create inventory folders starting from a given parent folder
        /// </summary>
        /// <remarks>
        /// If any stem of the path names folders that already exist then these are not recreated.  This includes the
        /// final folder.
        /// TODO: May need to make it an option to create duplicate folders.
        /// </remarks>
        /// <param name="inventoryService"></param>
        /// <param name="parentFolder"></param>
        /// <param name="path">
        /// The folder to create.
        /// </param>
        /// <param name="useExistingFolders">
        /// If true, then folders in the path which already the same name are
        /// used.  This applies to the terminal folder as well.
        /// If false, then all folders in the path are created, even if there is already a folder at a particular
        /// level with the same name.
        /// </param>
        /// <returns>
        /// The folder created.  If the path contains multiple folders then the last one created is returned.
        /// </returns>
        public static InventoryFolderBase CreateInventoryFolder(
            IInventoryService inventoryService, InventoryFolderBase parentFolder, string path, bool useExistingFolders)
        {
            string[] components = path.Split(new string[] { PATH_DELIMITER }, 2, StringSplitOptions.None);

            InventoryFolderBase folder = null;

            if (useExistingFolders)
                folder = InventoryArchiveUtils.FindFolderByPath(inventoryService, parentFolder, components[0]);

            if (folder == null)
            {
//                Console.WriteLine("Creating folder {0} at {1}", components[0], parentFolder.Name);

                folder
                    = new InventoryFolderBase(
                        UUID.Random(), components[0], parentFolder.Owner, (short)AssetType.Unknown, parentFolder.ID, 0);

                inventoryService.AddFolder(folder);
            }
//            else
//            {
//                Console.WriteLine("Found existing folder {0}", folder.Name);
//            }

            if (components.Length > 1)
                return CreateInventoryFolder(inventoryService, folder, components[1], useExistingFolders);
            else
                return folder;
        }

        /// <summary>
        /// Get the inventory folder that matches the path name.  If there are multiple folders then only the first
        /// is returned.
        /// </summary>
        /// <param name="inventoryService"></param>
        /// <param name="userId"></param>
        /// <param name="path"></param>
        /// <returns>null if no folder matching the path was found</returns>
        public static InventoryFolderBase GetInventoryFolder(IInventoryService inventoryService, UUID userId, string path)
        {
            List<InventoryFolderBase> folders = GetInventoryFolders(inventoryService, userId, path);

            if (folders.Count != 0)
                return folders[0];
            else
                return null;
        }

        /// <summary>
        /// Get the inventory folders that match the path name.
        /// </summary>
        /// <param name="inventoryService"></param>
        /// <param name="userId"></param>
        /// <param name="path"></param>
        /// <returns>An empty list if no matching folders were found</returns>
        public static List<InventoryFolderBase> GetInventoryFolders(IInventoryService inventoryService, UUID userId, string path)
        {
            return InventoryArchiveUtils.FindFoldersByPath(inventoryService, userId, path);
        }

        /// <summary>
        /// Get the inventory item that matches the path name.  If there are multiple items then only the first
        /// is returned.
        /// </summary>
        /// <param name="inventoryService"></param>
        /// <param name="userId"></param>
        /// <param name="path"></param>
        /// <returns>null if no item matching the path was found</returns>
        public static InventoryItemBase GetInventoryItem(IInventoryService inventoryService, UUID userId, string path)
        {
            return InventoryArchiveUtils.FindItemByPath(inventoryService, userId, path);
        }

        /// <summary>
        /// Get the inventory items that match the path name.
        /// </summary>
        /// <param name="inventoryService"></param>
        /// <param name="userId"></param>
        /// <param name="path"></param>
        /// <returns>An empty list if no matching items were found.</returns>
        public static List<InventoryItemBase> GetInventoryItems(IInventoryService inventoryService, UUID userId, string path)
        {
            return InventoryArchiveUtils.FindItemsByPath(inventoryService, userId, path);
        }
    }
}


text:
The Catalan Countries (, , ) refers to those territories where the Catalan language is spoken. They include the Spanish regions of Catalonia, the Balearic Islands, Valencian Community, and parts of Aragon (La Franja) and Murcia (Carche), as well as the Principality of Andorra, the department of Pyrénées-Orientales (aka Northern Catalonia, including Cerdagne, Roussillon, and Vallespir) in France, and the city of Alghero in Sardinia (Italy). In the context of Catalan nationalism, the term is sometimes used in a more restricted way to refer to just Catalonia, Valencia and the Balearic Islands. The Catalan Countries do not correspond to any present or past political or administrative unit, though most of the area belonged to the Crown of Aragon in the Middle Ages. Parts of Valencia (Spanish) and Catalonia (Occitan) are not Catalan-speaking.

The "Catalan Countries" have been at the centre of both cultural and political projects since the late 19th century. Its mainly cultural dimension became increasingly politically charged by the late 1960s and early 1970s, as Francoism began to die out in Spain, and what had been a cultural term restricted to connoisseurs of Catalan philology became a divisive issue during the Spanish Transition period, most acrimoniously in Valencia during the 1980s. Modern linguistic and cultural projects include the Institut Ramon Llull and the Fundació Ramon Llull, which are run by the governments of the Balearic Islands, Catalonia and Andorra, the Department Council of the Pyrénées-Orientales, the city council of Alghero and the Network of Valencian Cities. Politically, it involves a pan-nationalist project to unite the Catalan-speaking territories of Spain and France, often in the context of the independence movement in Catalonia. The political project does not currently enjoy wide support, particularly outside Catalonia, where some sectors view it as an expression of pancatalanism. Linguistic unity is widely recognized, except for the followers of a political movement known as Blaverism, even though some of its main organizations have recently abandoned such idea.

Different meanings

Països Catalans has different meanings depending on the context. These can be roughly classified in two groups: linguistic or political, the political definition of the concept being the widest, since it also encompasses the linguistic side of it.

As a linguistic term, Països Catalans is used in a similar fashion to the English Anglosphere, the French Francophonie, the Portuguese Lusofonia or the Spanish Hispanophone territories. However, it is not universally accepted, even as a linguistic concept, in the territories it purports to unite.

As a political term, it refers to a number of political projects as advocated by supporters of Catalan independence. These, based on the linguistic fact, argue for the existence of a common national identity that would surpass the limits of each territory covered by this concept and would apply also to the remaining ones. These movements advocate for "political collaboration" amongst these territories. This often stands for their union and political independence. As a consequence of the opposition these political projects have received –notably in some of the territories described by this concept – some cultural institutions avoid the usage of Països Catalans in some contexts, as a means to prevent any political interpretation; in these cases, equivalent expressions (such as Catalan-speaking countries) or others (such as the linguistic domain of Catalan language) are used instead.

Component territories

Catalan and its variants are spoken in:

 the Spanish Autonomous Communities of
 Catalonia – even though in the comarca of Val d'Aran, Occitan is considered the language proper to that territory;
 Aragon, in a Catalan-speaking area known as "La Franja de Ponent" ("Western Strip");
 the Balearic Islands and
 as Valencian, in the Valencian Community, with the exception of some western and southern territories where Spanish is the only language spoken;
 Carche, small Valencian-speaking area in the Spanish autonomous community of Murcia where some of its 600 inhabitants still speak Valencian due to immigration during the 19th century;
 Andorra, a European sovereign state where Catalan is the national and only official language.
 most of the French department of the Pyrénées-Orientales, also called Le Pays Catalan (The Catalan Country) in French or Catalunya (del) Nord (Northern Catalonia) in Catalan;
 the Italian city of Alghero, in the island of Sardinia, where a variant of Catalan is spoken.

Catalan is the official language of Andorra, co-official with Spanish and Occitan in Catalonia, co-official with Spanish in the Balearic Islands and the Valencian Community—with the denomination of Valencian in the latter—and co-official with Italian in the city of Alghero. It is also part of the recognized minority languages of Italy along with Sardinian, also spoken in Alghero.

It is not official in Aragon, Murcia or the Pyrénées-Orientales, even though on 10 December 2007 the General Council of the Pyrénées-Orientales officially recognized Catalan, along with French, as a language of the department. In 2009, the Catalan language was declared llengua pròpia (with the Aragonese language) of Aragon.

Cultural dimension
There are several endeavors and collaborations amongst some of the diverse government and cultural institutions involved. One such case is the Ramon Llull Institute (IRL), founded in 2002 by the government of the Balearic Islands and the government of Catalonia. Its main objective is to promote the Catalan language and culture abroad in all its variants, as well as the works of writers, artists, scientists and researchers of the regions which are part of it. The Xarxa Vives d'Universitats (Vives Network of Universities), an association of universities of Catalonia, Valencia, the Balearic Islands, Northern Catalonia and Andorra founded in 1994, was incorporated into the IRL in 2008. Also in 2008, in order to extend the collaboration to institutions from all across the "Catalan Countries", the IRL and the government of Andorra (which formerly had enjoyed occasional collaboration, most notably in the Frankfurt Book Fair of 2007) created the Ramon Llull Foundation (FRL), an international cultural institution with the same goals as the IRL. In 2009, the General Council of the Pyrénées-Orientales, the city council of Alghero and the Network of Valencian Cities (an association of a few Valencian city councils) joined the FRL as well. In December 2012 the government of the Balearic islands, dominated by the conservative and pro-Spain Partido Popular (PP), announced that the representatives of the Balearic islands were withdrawing from the Llull institute.

A number of cultural organizations, specifically Òmnium Cultural in Catalonia, Acció Cultural del País Valencià in Valencia, and Obra Cultural Balear in the Balearic islands (collectively the "Llull Federation"), advocate independence as well as the promotion of Catalan language and culture.

Political dimension
The political projects that centre on the Catalan Countries have been described as a "hypothetical and future union" of the various territories. In many cases it involves the Spanish autonomous communities of Catalonia, Valencia and the Balearics. The 2016 electoral programme of Valencian parties Compromís and Podemos spoke of a "federation" between the Valencian Community, the Balearic Islands and Catalonia. They are to campaign for an amendment to article 145 of the Spanish constitution, which forbids federation of autonomous communities. The territories concerned may also include Roussillon and La Franja.

Many in Spain see the concept of the Països Catalans as regional exceptionalism, counterpoised to a centralizing Spanish and French national identity. Others see it as an attempt by a Catalonia-proper-centered nationalism to lay a hegemonic claim to Valencia, the Balearic Islands or Roussillon, where the prevailing feeling is that they have their own respective historical personalities, not necessarily related to Catalonia's. The Catalan author and journalist Valentí Puig described the term as "inconvenient", saying it has generated more reactions against it than adhesions.

The concept has connotations that have been perceived as problematic and controversial when establishing relations between Catalonia and other areas of the Catalan linguistic domain. It has been characterised as a "phantom reality" and an "unreal and fanciful space". The pro-Catalan independence author Germà Bel called it an "inappropriate and unfortunate expression lacking any historic, political or social basis", while Xosé Manoel Núñez Seixas spoke of the difficulties in uniting a historicist concept linked to common membership of the Crown of Aragon with a fundamentally linguistic construct.

In many parts of the territories designated by some as Països Catalans, Catalan nationalist sentiment is uncommon. For example, in the Valencian Community case, the Esquerra Republicana del País Valencià (ERPV) is the most relevant party explicitly supportive of the idea but its representation is limited to a total of four local councilors elected in three municipalities (out of a total of 5,622 local councilors elected in the 542 Valencian municipalities). At the regional level, it has run twice (2003 and 2007) to the regional Parliament election, receiving less than 0.50% of the total votes. In all, its role in Valencian politics is currently marginal.

There are other parties which sporadically use this term in its cultural or linguistical sense, not prioritizing a national-political unity, as in the case of the Bloc Nacionalista Valencià. The Valencian Nationalist Bloc ( or BNV; ) is the largest Valencian nationalist party in the Valencian Country, Spain. The Bloc's main aim is, as stated in their guidelines, "to achieve full national sovereignty for the Valencian people, and make it legally declared by a Valencian sovereign Constitution allowing the possibility of association with the countries which share the same language, history and culture". Since 2011, they are part of the Coalició Compromís coalition, which won six seats in the 2011 Valencian regional elections and 19 in the 2015 elections, becoming the third largest party in the regional parliament.

Some of the most vocal defenders or promoters of the "Catalan Countries" concept (such as Joan Fuster, Josep Guia or Vicent Partal) were Valencian.

The subject became very controversial during the politically agitated Spanish Transition in what was to become the Valencian Community, especially in and around the city of Valencia. In the late 1970s and early 1980s, as the Spanish Autonomous Communities system took shape, the controversy reached its height. Various Valencian right-wing politicians (originally from Unión de Centro Democrático) fearing what was seen as an annexation attempt from Catalonia, fueled a violent Anti-Catalanist campaign against local supporters of the concept of the Països Catalans, which even included a handful of unsuccessful attacks with explosives against authors perceived as flagships of the concept, such as Joan Fuster or Manuel Sanchis i Guarner. The concept's revival during this period was behind the formation of the fiercely opposed and staunch anti-Catalan blaverist movement, led by Unió Valenciana, which, in turn, significantly diminished during the 1990s and the 2000s as the Països Catalans controversy slowly disappeared from the Valencian political arena.

This confrontation between politicians from Catalonia and Valencia very much diminished in severity during the course of the late 1980s and, especially, the 1990s as the Valencian Community's regional government became consolidated. Since then, the topic has lost most of its controversial potential, even though occasional clashes may appear from time to time, such as controversies regarding the broadcasting of Catalan television in Valencia—and vice versa—or the usage by Catalan official institutions of terms which are perceived in Valencia as Catalan nationalistic, such as Països Catalans or País Valencià (Valencian Country).

A 2004 poll in Valencia found that a majority of the population in this region considered Valencian to be a different language to Catalan. This position is especially supported by people who do not use Valencian regularly. Furthermore, the data indicate that younger people educated in Valencian are much less likely to hold these views. According to an official poll in 2014, 52% of Valencians considered Valencian to be a language different from Catalan, while 41% considered the languages to be the same. This poll showed significant differences regarding age and level of education, with a majority of those aged 18–24 (51%) and those with a higher education (58%) considering Valencian to be the same language as Catalan. This can be compared to those aged 65 and above (29%) and those with only primary education (32%), where the same view has its lowest support.

In 2015, the Spanish newspaper ABC reported that the Catalan government of Artur Mas had spent millions of euros to promote Catalanism in Valencia over the previous three years.

As for the other territories, there are no political parties even mentioning the Països Catalans as a public issue neither in Andorra, nor in la Franja, Carche or Alghero. In the Balearic islands, support for parties related to Catalan nationalism is around 10% of the total votes. Reversely, the Popular Party –which is a staunch opponent of whatever political implications for the Països Catalans concept– is the majority party in Valencia and the Balearic islands.

Even though the topic has been largely absent from the political agenda as of late, in December 2013 the regional Parliament of the Balearic islands passed an official declaration in defence of its autonomy and in response to a prior declaration by the Catalan regional Parliament which included reference to the term in question. In the declaration of the Balearic islands parliament, it was stated that the so-called "Països Catalans do not exist and the Balearic islands do not take part in any 'Catalan country' whatsoever".

In August 2018, the ex-mayor of Alghero, Carlo Sechi, defined algherese identity as part of the Catalan culture whilst politically defining Alghero as part of the Sardinian nation.

The Spanish Constitution of 1978 contains a clause forbidding the formation of federations amongst autonomous communities. Therefore, if it were the case that the Països Catalans idea gained a majority democratic support in future elections, a constitutional amendment would still be needed for those parts of the Països Catalans lying in Spain to create a common legal representative body, even though in the addenda to the Constitution there is a clause allowing an exception to this rule in the case of Navarre, which can join the Basque Country should the people choose to do so.

Catalans in the French territory of Northern Catalonia, although proud of their language and culture, are not committed to independence. Jordi Vera, a CDC councillor in Perpignan, has said that his party favoured closer trade and transport relationships with Catalonia, and that he believed Catalan independence would improve the prospects of that happening, but that secession from France was "not on the agenda". When Catalans took to the streets in 2016 under the banner of "" ("Yes to the Catalan Country") to protest the French government's decision to combine , the region which contained Northern Catalonia, with  to create a new region to be called , the French magazine  said that the movement was "completely unrelated to the situation on the other side of the border", and that it was "more directed against Toulouse [the chief city of ] than against Paris or for Barcelona." , which stood in the 2017 French legislative election, said that's its aim is a "territorial collectivity" within the French Republic on the same lines as Corsica. Every year, though, there are between 300 and 600 people in a demonstration to commemorate the 1659 Treaty of the Pyrenees, that separated Northern Catalonia from the South.

Etymology
The term Països Catalans was first documented in 1876 in Historia del Derecho en Cataluña, Mallorca y Valencia. Código de las Costumbres de Tortosa, I (History of the Law in Catalonia, Majorca and Valencia. Code of the Customs of Tortosa, I) written by the Valencian Law historian Benvingut Oliver i Esteller.

The term was both challenged and reinforced by the use of the term "Occitan Countries" from the Oficina de Relacions Meridionals (Office of Southern Relations) in Barcelona by 1933. Another proposal which enjoyed some popularity during the Renaixença was "Pàtria llemosina" (Limousine Fatherland), proposed by Víctor Balaguer as a federation of Catalan-speaking provinces; both these coinages were based on the theory that Catalan is a dialect of Occitan.

None of these names reached widespread cultural usage and the term nearly vanished until it was rediscovered, redefined and put in the center of the identity cultural debate by Valencian writer Joan Fuster. In his book Nosaltres, els valencians (We, the Valencians, published in 1962) a new political interpretation of the concept was introduced; from the original, meaning roughly Catalan-speaking territories, Fuster developed a political inference closely associated to Catalan nationalism. This new approach would refer to the Catalan Countries as a more or less unitary nation with a shared culture which had been divided by the course of history, but which should logically be politically reunited. Fuster's preference for Països Catalans gained popularity, and previous unsuccessful proposals such as Comunitat Catalànica (Catalanic Community) or Bacàvia (after Balearics-Catalonia-Valencia) diminished in use.

Today, the term is politically charged, and tends to be closely associated with Catalan nationalism and supporters of Catalan independence. The idea of uniting these territories in an independent state is supported by a number of political parties, ERC being the most important in terms of representation (32 members in the Parliament of Catalonia) and CUP (10 members). ERPV, PSAN (currently integrated in SI), Estat Català also support this idea to a greater or lesser extent.

See also

 Basque Country
 Blaverism
 Catalan independence movement
 Catalan language
 Catalans
 Galicia irredenta
 Gate of the Catalan Countries
 Iberian federalism
 Occitania
 Pan-nationalism
 Pi de les Tres Branques

Notes

References

Bibliography

Further reading
Atles dels Països Catalans. Barcelona: Enciclopèdia Catalana, 2000. (Geo Estel. Atles) .
Burguera, Francesc de Paula. És més senzill encara: digueu-li Espanya (Unitat 3i4; 138) .
Fuster, Joan. Qüestió de noms. (Online in Catalan)
Geografia general dels Països Catalans. Barcelona: Enciclopèdia Catalana. 1992–1996. 7 v.  (o.c.).
González i Vilalta, Arnau. La nació imaginada: els fonaments dels Països Catalans (1931–1939). Catarroja: Afers, 2006. (Recerca i pensament; 26)
Grau, Pere. El panoccitanisme dels anys trenta: l'intent de construir un projecte comú entre catalans i occitans. El contemporani, 14 (gener-maig 1998), p. 29–35.
Guia, Josep. És molt senzill, digueu-li "Catalunya". (El Nom de la Nació; 24).  (Online in Catalan -PDF)
Història: política, societat i cultura als Països Catalans. Barcelona: Enciclopèdia Catalana, 1995–2000. 13 v.  (o.c.).
Mira, Joan F. Introducció a un país. València: Eliseu Climent, 1980 (Papers bàsics 3i4; 12) .
Pérez Moragón, Francesc. El valencianisme i el fet dels Països Catalans (1930–1936), L'Espill, núm. 18 (tardor 1983), p. 57–82.
Prat de la Riba, Enric. Per Catalunya i per l'Espanya Gran.
Soldevila, Ferran. Què cal saber de Catalunya. Barcelona: Club Editor, 1968. Amb diverses reimpressions i reedicions. Actualment: Barcelona: Columna: Proa, 1999.  (Columna).  (Proa).
Stegmann, Til i Inge. Guia dels Països Catalans. Barcelona: Curial, 1998. .
Ventura, Jordi. Sobre els precedents del terme Països Catalans, taken from "Debat sobre els Països Catalans", Barcelona: Curial..., 1977. p. 347–359.

External links

 Catalan Countries in the English version of the Catalan Hiperencyclopedia.
 Lletra. Catalan Literature Online
 The Spirit of Catalonia. 1946 book by Oxford Professor Dr. Josep Trueta
 Catalan Countries

Catalan independence movement
Divided regions
Catalan nationalism
Cultural regions
Politics of Catalonia
Political movements in Andorra
Political movements in France
Political movements in Italy
Political movements in Spain

redpajama_set_name: RedPajamaWikipedia


Saint Valentine is getting closer and it is the perfect excuse to beat the winter blues with a romantic gateway, and we can not think of a better destination for that than Cordoba. It is a place full of history (a UNESCO world heritage site indeed), flooded with monuments, quaint streets and charming patios, it has an excellent gastronomical offer, the weather is mostly sunny... Oh, and it is also incredibly beautiful.
Due to its convenient size, within a couple of days you can discover the city and its monumental offer without stressing out, in a nice relaxed way, combining sightseeing with a tapas lunch in a typical taberna, or even better, in two or three different ones, and a nice romantic dinner in one of its gourmet restaurants.
You can also make a stopover in one of its cozy teterías (Arab tea rooms) or enjoy some flamenco music and dancing at Tablao El Cardenal, which might sound cliché but it is also an unforgettable experience. And speaking of romanticism, how about saving a couple of hours for total relaxation in an authentic Arab Hamman? Possibilities are endless.
But the first important decision when organizing a romantic gateway is choosing the right hotel. If there is a time to invest in accommodation, is this one. Don't worry, Cordoba is a pretty affordable destination in any case. You can surprise your partner with a room at the luxurious Palacio de Bailio or at the elegant Hotel NH Collection Palacio de Córdoba. Or perhaps at the charming Casas de la Judería or at the design Hotel boutique Madinat? You definitely can't go wrong with any of these.
After checking in the room and leaving the luggage, it's time to start discovering town. Cordoba is a perfect blend of the different cultures that have populated it: Muslims, Jewish and Christians, all have left their footprint in this amazing city.
Among all its monuments, the most iconic is, without question, its impressive Mosque - Cathedral which is considered as one of the most accomplished monuments of Moorish architecture and boasts a special peculiarity: a Christian Cathedral (hence the Mosque-Cathedral name) was built right in the middle of it in the 16th Century. The adjacent Patio de los Naranjos, with its orange, palm and cypress trees, is perfect for a little romantic stroll. Walking along the narrow and charming streets of La Judería (the Jewish Quarter), at the North-East of the Mosque, with no destination, letting it surprise you at every corner, can also be a memorable experience.
The Sinagoga, the Zoo Municipal and the Museo Taurino are located there. Also visiting Casa Palacio de Viana and walking around its beautiful twelve patios is a true delight for the eyes and the soul. But if those twelve were not enough, the center of Cordoba is populated with them and they are all worth checking, just make sure not to miss the Callejón de las Flores. Perfect scenery for a nice couple picture, by the way! And last but not least, don't forget to cross the Puente Romano overlooking the Guadalquivir at dusk, it's a view you won't forget!
But remember, this gateway is not all about culture. Food is also an essential part of any trip too, specially of a romantic one. Few things bond more than sharing the pleasure of discovering new flavors and textures together. You can't leave Cordoba without trying the local delicacies such as salmorejo, ajoblanco, flamenquín, berenjenas fritas or rabo de toro. Try these and other typical tapas in one of these picturesque places and you won't regret it: Taberna Luque, Taberna San Cristóbal, Casa Pepe la Judería or La Bodega.
In the evening, why not spoil yourselves with a candlelight dinner in one of these places? Restaurante Noor and Choco which boast one Michelin star each, ReComiendo which has been chosen as the sixth best haute cuisine restaurant in Spain among the Tripadvisor users, or El Envero, a modern restaurant with delicious creative food. Just remember, if you want to mix with the locals don't book before 21:00!
If you are up for a drink or two you can go to Glacé afterwards for a fancy cocktail or to Córdoba Long Rock if you are in a party mood. Then back to the hotel, and well, the night is yours!
The next day, after an energizing breakfast, you can pay a visit to the Hamman Al Andalus Córdoba, just a few meters from the Mosque. From a 'water journey' to a massage, it's time to indulge yourselves and recover from yesterday's busy day.
And then, after a few tapas, you can chill in front of a cup of Moroccan tea in one of the Judería tearooms before hitting the road with the sweet taste of an amazing couple of days full of unforgettable moments.


The Community Democracy Project is pushing a radical ballot initiative in Oakland that would give citizens the power to decide how to spend taxpayer funds.
Kit Decker (left) and Shawn McDougal of CDP.
A group of Oakland residents are campaigning to radically transform the city's budgeting process — transferring power from City Hall to one hundred newly established Neighborhood Assemblies throughout the city. At farmers' markets, civic events, protests, and heavily trafficked areas, volunteers with the Community Democracy Project (CDP) have been collecting signatures to bring a "People's Budget" to the ballot. The initiative would amend the Oakland City Charter to allow citizens to decide how the city spends taxpayer funds — a process known as participatory budgeting. If the initiative gets the 32,000 verified signatures necessary, and if voters approve it next year, the results would be unprecedented.
To date, some cities have designated parts of their budgets to participatory budgeting. Vallejo has set aside nearly $2.5 million for it, and residents in 24 of the 51 council districts in New York City vote to allocate $25 million in discretionary funds. As of this year, Paris, France has the largest participatory budget, after it allocated 20 million Euros in 2014, and then committed an additional 426 million Euros through 2020. But there is no city of significant size that has created a participatory budget for 100 percent of general city funds as CDP's initiative seeks in Oakland.
"It's a big change, but the great thing about our initiative is that it provides a lot of the infrastructure to make it happen," said Allee Rosenmayer, a co-director of CDP. "We're not just pushing this radical change to the city charter through then leaving others to figure it out."
While the idea of a people's budget is simple enough, the infrastructure would be complex and multifaceted. The initiative would establish a new city department, one hundred Neighborhood Assemblies, a Congress of Directors, and a few dozen citywide committees. It would also establish two citywide votes, one on the allocation of funds by city department, followed by decisions on how on to spend funds within specific departments. In essence, the new participatory budgeting process would replace what the Oakland City Council does currently. The mayor would still propose a budget, but instead of winning over city councilmembers, he or she would have to go to the Neighborhood Assemblies.
Organizers with the CDP believe that taking the power from the council is necessary to create a more transparent government that better responds to the priorities of Oakland residents. They see the initiative as creating a fully transparent process that would leave no room for backdoor dealing. There's also the belief that giving people more responsibility in governing will create greater civil awareness and engagement. There's no one specific budgetary item or decision that's the impetus for initiative — at the base is the belief that taking power from elected officials and bureaucrats and giving it to people will naturally lead to better outcomes.
"We go into other communities where instantly people are like, 'Yes! Oh my god! This is what I need, this is what Oakland needs!'" Rosenmayer said. "Because communities feel City Hall is not listening to their needs, a lot of people feel disempowered."
Cities that have adopted participatory budgeting have seen a shift in funding priorities to underserved communities, said Brian Wampler, a professor of political science at Boise State University in Idaho and a Fulbright Scholar who studied participatory budgeting in Brazil. "A model is that those who are typically marginalized and from poorer areas would received more funding with participatory budgets," he continued.
The Neighborhood Assemblies are the backbone of CDP's initiative. Current Neighborhood Crime Prevention Council districts would be used as a template, then cut in half so that each Neighborhood Assembly would include 2,500 to 5,000 residents. Residents of each assembly district would then vote for three to five volunteer directors who would facilitate monthly meetings.
During the first step, Neighborhood Assemblies would provide residents with a breakdown of the current budget — what percentage of funds go where. Next, over the course of a year, the assemblies would analyze the budget and interest groups would be able to advocate for their funding priorities. Finally, residents who had attended at least one meeting would choose what percentage of the total budget would go to which department. The choices would then be averaged out to create a proposed general fund budget. There would then be a citywide vote on that proposal.
"I don't expect there to be radical changes. It's the law of large numbers, on any given issue you have people who are extreme, but most people fall somewhere in the middle," said Shawn McDougal, a CDP co-director. "If you get thousands of people citywide going to these Neighborhood Assemblies getting to decide, then things are going to average out."
In the second year, the assemblies would propose how to spend funds within each department. When an assembly passes a proposal, it would then go to a citywide committee. The citywide committee would put together the proposals from all of the neighborhood assemblies to create a spending package. The city would also create a spending plan. Voters would then choose which package would take effect.
The initiative would also create a new city department — the Democratic Budgeting Program — that would have an operating budget of $4.1 million annually for the first five years and then would be subject to the participatory budgeting process of all other city departments.
"I think it's very complex and very ambitious," said Oakland attorney and 2014 mayoral candidate Dan Siegel. "It has the possibility of really shaking up how the city functions — and that's a good idea."
This isn't the first time the CDP has attempted to bring a people's budget to Oakland. In 2013, volunteers collected signatures for a similar initiative, but disbanded the campaign after it became clear that they would not collect enough signatures by the deadline. In the two years since, organizers with CDP attempted to grow their base and recruit more volunteers. Rosenmayer said CDP needs 100-person hours of canvassing for signatures to reach the goal of 40,000 by mid October.
In 1989, Porto Alegre, Brazil became the first city to launch a participatory budgeting program. Since then, more than 120 of Brazil's largest 250 cities have established participatory budgeting. All told, more than 1,500 municipalities across the world have brought budgetary decision-making to their residents, according to Participatory Budgeting Project, a New York City-based nonprofit with an office in Oakland. But for most cities, residents only vote for social programming and new capital investments — not the entire budget. "A participatory budget in Oakland would be a big step forward in the US," Wampler said.
So will it succeed in Oakland? In most cases, participatory budgeting has enjoyed the support of a mayor or other elected officials before being established. Wampler said that he has yet to see it successfully implemented without strong institutional support. "You need a mayor who is a reformer, forward-thinking, and ready to try something completely different," he said.
Mayor Libby Schaaf has yet to take a position on the initiative, but a spokesperson touted her authorship of the Budget Adoption Transparency and Public Participation Policy as a councilmember and her participation in Community Budget Forums as mayor.
"For me, the most important thing is not the specific outcome, but the process of civic engagement," McDougal said, "of people realizing that democracy is a participatory active process, rather than just voting every four years and then go home and watch it on TV."
Berkeley attorney Tia Katrina Taruc Canlas is holding batterers financially accountable in court for their actions.


Bucking the trend of recent years, employees working in Australia's small companies are increasingly choosing to stay with their employers, while large companies are still forecasting wage increases – with the biggest winners likely to be senior executives and the biggest losers salaried staff.
The Australian Institute of Management's (AIM) National Salary Survey 2009 includes separate analysis for large ($10m plus) and small (less than $10m annual turnover) companies, and the results are striking.
Bucking the trend of recent years, employees working in Australia's small companies are increasingly choosing to stay with their employers, with voluntary staff turnover rates plummeting to 9 per cent per annum, from 12.7 per cent in the previous year and this trend is set to continue, according to the nation's leading survey of salaries and human resources trends.
In fact, the survey found that there will be less opportunity for staff to move between small companies in the foreseeable future, with only around one-third (34.2 per cent) of small companies expecting to increase permanent staff numbers over the next 12 months, down significantly from 67.3 per cent in the previous year,.
Now in its 45th year, the AIM National Salary was based on the responses of 759 companies, comprising large companies (548 contributors) and small companies (211 contributors).
The survey revealed signs of further negative fallout from the global economic downturn, with annual salaries rising by 4.6 per cent in the 2008/2009 year (down from 5.2 per cent in the previous year). This downward trend is set to continue into the foreseeable future, with small companies forecasting wage movements for 2009/2010 at only 4.1 per cent.
The combined effects of lower wage increases and higher involuntary turnover rates, amounts to significant challenges for organisations to contain employment costs while remaining competitive and keeping employees engaged, all within the context of an increasingly uncertain and challenging economic environment.
While voluntary staff turnover rates are down on last year, they still pose a threat to small companies due to the significant costs associated with recruitment and re-training.
The survey found that the top reasons for staff resignations from small companies were to pursue a new challenge (in 64.7 per cent of small companies) and to obtain better pay (in 51.8 per cent of small companies).
The survey indicates that in 2008/2009, only 40.0 per cent per cent of small companies have a dedicated training budget (as compared to 57.3 per cent of large companies) while around one-fifth (21.7 per cent) of small companies have formal succession plans in place (as compared to 31.7 per cent of large companies).
Despite the current economic gloom, large companies are still forecasting wage increases of 3.5 per cent for 2009/2010 – albeit less than the 4.3 per cent actual increase reported in 2008/2009 – with the biggest winners likely to be senior executives and the biggest losers salaried staff, according to the nation's leading survey of salaries and human resources.
According to the survey 2009, large companies in the (until recently) resource boom states of Western Australia and Queensland have been hardest hit, with the rate of actual salary increases and forecast salary increases falling significantly from the previous year's pay movements and forecasts.
Involuntary staff turnover rates were found to be up slightly from 3.8 per cent in 2008 to 4.8 per cent in the 2009 Survey. A more worrying trend is that only 39.6 per cent of large companies in Australia expect permanent staff numbers to increase over the next 12 months (down from 59.7 per cent in the 2008 Survey), while nearly a quarter (23.5 per cent) of organisations are expecting a decrease in permanent staff levels (up significantly from 8.4 per cent in the 2008 Survey).
According to the AIM Survey, there are some mixed signs with regard to expected training spend over the next 12 months, with a notably lower proportion (33.7 per cent) of organisations expecting to increase training budgets (as compared to 45.7 per cent in the 2008), while the majority (52.5 per cent) of organisations expect their training budgets will remain the same (up slightly from 48.4 per cent in the 2008 AIM Survey).


The fallout from Bobbi Kristina Brown's death continues to spiral into lawsuits, criminal investigations, and games Bobbi's boyfriend, Nick Gordon, is playing in the war for Whitney Houston's money. Cissy Houston reportedly collapsed after hearing the news of Gordon's staged graveside visit. It's not a surprise the Houstons are furious and fighting for the $20 million inheritance in response.
Nick had been banned from seeing Bobbi after she was found unresponsive and face down in her bath tub on January 31. Gordon is currently under investigation for the death of Bobbi Kristina. Details from the multimillion lawsuit the court appointed conservator, Bedelia Hargrove, filed claim Nick knocked out Bobbi's teeth, dragged her up the stairs by her hair, plunged her into the bathtub after giving her a toxic cocktail, and repeatedly stole money from Bobbi's bank account; including an $11,000 withdrawal after she was in a coma.
Nick Gordon has been building a defense, largely by stunts played out for press, and hired a legal team to defend him in court. In the initial days after Bobbi Kristina's drowning, Nick staged a trip to rehab with the aid of Dr. Phil. Nick's attorneys then shared several letters requesting Bobbi's boyfriend be allowed to visit her in the hospital. Bobby Brown and the Houston family denied Nick's repeated demands to see Bobbi asking Gordon to first provide a written account of what happened Bobbi Kristina Brown.
Nick was banned from seeing Bobbi, but it was later discovered Gordon was at the hospital the day after Bobbi Kristina's body was discovered. Images show Nick Gordon smiling as he wheeled a female friend, Danyela Bradley, from North Fulton Hospital – the same hospital where Bobbi Kristina was fighting for her life.
After Bobbi Kristina Brown died, Nick used the same tactics to gain access to his girlfriend. Gordon's legal team shared letters begging the Houstons and Browns to be allowed to attend Bobbi's funeral. Again, Gordon was denied access. About two weeks after Bobbi Kristina was buried, Nick Gordon showed up for graveside visit that was widely publicized. Reports followed with images of Gordon weeping and laying his body across Bobbi's grave. Nick Gordon then sold the images for a reported $40,000 to the National Enquirer.
Upon hearing the news that Nick Gordon was still cashing in on Bobbi Kristina's death, Cissy Houston allegedly collapsed according to Radar. "Cissy still can't come to grips with 'Krissi' being dead — and when she heard Nick went there, she collapsed in grief. Both sides of the family, including Bobbi Kristina's dad Bobby Brown and her aunt Pat Houston, are furious that Nick dared to go to the grave after he was barred from her funeral, and before then, from the hospital and the hospice facility where she eventually died," the source told the media outlet.
It's pretty clear that Nick Gordon isn't just building a defense…Gordon wants a portion of Whitney Houston's money. Bobbi Kristina Brown did not have a will, which makes the legal process of handling the $20 million inheritance challenging. Each state law varies, and in this case it is likely Whitney's will could dictate where the estate will go. If that is the case, Pat and Cissy Houston will get a huge payday along with Whitney Houston's surviving brothers. However, if Nick Gordon has any sort of handwritten evidence that Bobbi Kristina had different intentions for her inheritance, he could fight for the money.
You can bet the Houston family is furious and plans on fighting for Whitney Houston's money. Don't rule out the Brown family. They have been quiet following the death of Bobbi Kristina, except for Bobby Brown's trip to a comedy bar in California where he posed with fans for photos just one week after his daughter died.
What do you think will happen in Nick Gordon's criminal investigation? Will Nick get his hands on Bobbi Kristina Brown's inheritance from Whitney Houston? Let us know in the comment section below.
Bobbi Kristina Brown Death and $20 Million Inheritance Struggle – Nick Gordon Claims Portion of Whitney Houston's Money?


text:
GT.M es un SchemaLess de motor de bases de datos de alto rendimiento, optimizado para los procesos transaccionales. GT.M es también una plataforma de desarrollo de aplicaciones y un compilador para el ANSI / ISO de idiomas M estándar, también conocido como MUMPS.

GT.M originalmente significaba Greystone Technology M y fue desarrollado por Greystone Technology Corp. es una implementación del estándar ANSI M para varios sistemas UNIX y de Hewlett-sistema Packard OpenVMS. Además de preservar las características tradicionales de M, GT.M también ofrece un compilador optimizado que produce código objeto que no requiere de intérpretes internos durante la ejecución.

GT.M frente a otras implementaciones de M
GT.M diferencia de otras implementaciones de M en las siguientes maneras.
 Los datos y el código se mantienen en archivos separados.
 El código fuente se compila en lugar de interpretarse.

Cómo Trabaja

GT.M compila el código fuente de M en el lenguaje de máquina de destino. Estos archivos son objeto vinculados dinámicamente en una imagen. GT.M bases de datos de archivos de UNIX son identificados por un archivo llamado directorio de Global. Al cambiar los directorios globales, se puede hacer el mismo programa de acceso de bases de datos diferentes. El interior de estos archivos, GT.M almacena datos en árboles B basados en matrices multidimensionales (también conocido como MUMPS globals) , al igual que la mayoría de las implementaciones modernas M.

Distribuciones GT.M
GT.M está disponible actualmente en el IBM RS/6000 AIX, HP Alpha/AXP, Tru64 Unix y OpenVMS, HP Series 9000 HP-UX, Sun SPARC Solaris y en las arquitecturas x86 para GNU/Linux. GT.M es libre y software de código abierto bajo la licencia AGPL en x86/Linux, HP Alpha / AXP, Tru64 Unix y HP Alpha / AXP, OpenVMS.

Distribuciones de la IA64/HPUX y plataformas IA64/Linux están actualmente en desarrollo.

Applicationes Comunes
GT.M se utiliza principalmente en la asistencia sanitaria y la industria de servicios financieros.

Historia
De acuerdo con el desarrollador principal, KS Bhaskar, el uso de la primera producción de GT.M fue en 1986 en el Elvis Presley Memorial Trauma Center, en Memphis, Tennessee.

Enlaces externos
 Página del proyecto en SourceForge
 Página de GT.M

Bases de datos


Orthograph is not available in Spain App Store since more than Two years ago. I spoke about it in an apple store and wrote to apple asking how to get it and they told us to write a "feedback". We did so, but never got any kind of answer. Last year we discovered Orthograph tape me measure was available in Venezuela in spanish language, it should be so difficult to get it here in Spain?
We have tried to look for "Bimtab" in the spanish App Store but is not available either. How could we get it here in Spain?
Tape Measure is an archive version of OrthoGraph that is longer being updated and is gradually being phased out.
OrthoGraph I is our current flagship product, with cross-platform compatibility and regular updates. It can be downloaded and tried for free – only the export and 3D view features are limited for unlicensed users.
Those that have previously purchased an OrthoGraph app from the App Store can continue to use it and redownload it through the "purchased" tab of the App store.


text:
class Library{

  constructor(){
    this.booksCheckedOut = 0;
    this.shelves = [];
    for(var i = 0; i < 4; i++){
      this.shelves.push(new Shelf(i));
    }

    for(var j = 0; j < 25; j++){
      var book = new Book("B" + j);
      var shelf = this.shelves[book.getCategory()];
      shelf.addBook(book);
    }

  }

  getCheckedOutAmount(){
    return this.booksCheckedOut;
  }

}

Library.prototype.addBookToLibrary = function(bookName, shelf){
  var newBook = new Book(bookName, shelf);
  var shelfForBook = this.shelves[newBook.getCategory()];
  shelf.addBook(newBook);
};

Library.prototype.getBookInfo = function(bookRowIndex, shelfIndex){
  var selectedShelf = this.shelves[shelfIndex];
  var selectedBook = selectedShelf.books[bookRowIndex];
  var infoString = "Book Name: " + selectedBook.getBookName() + " Book ID: " + selectedBook.getBookID() + " Category: " + selectedShelf.categoryName;
  return infoString;
};

Library.prototype.bookCheckOut = function(username, bookRowIndex, shelfIndex){
  var selectedShelf = this.shelves[shelfIndex];
  var selectedBook = selectedShelf.books[bookRowIndex];
  selectedBook.changeBorrowedBy(username);
  selectedBook.changeAvailability();
  this.booksCheckedOut++;
}

Library.prototype.bookReturn = function(bookRowIndex, shelfIndex){
  var selectedShelf = this.shelves[shelfIndex];
  var selectedBook = selectedShelf.books[bookRowIndex];
  selectedBook.changeBorrowedBy();
  selectedBook.changeAvailability();
  this.booksCheckedOut--;
}

class Shelf{

  constructor(category){
    this.books = [];
    this.categoryNum = category;
    this.categoryName = "";
      switch (this.categoryNum) {
        case 0:
          category = "Art";
          break;
        case 1:
          category = "Science";
          break;
        case 2:
          category = "Sport";
          break;
        case 3:
          category = "Literature";
          break;
      }
      this.categoryName = category
  }

  addBook(book){
    this.books.push(book);
    book.addShelf(this);
  }

}

class Book{

  constructor(givenName, givenShelf){
    this.availability = 1;
    this.borrowedBy = "";
    this.bookName = givenName;
    this.bookID = "";
    if(arguments.length == 1){
      for(var i = 0; i < 3; i++){
        this.bookID += Math.floor(Math.random() * 10);
      }
      this.category = this.bookID % 4;
    }
    else if(arguments.length == 2){
      this.category = givenShelf.categoryNum;
      while(this.category != (this.bookID % 4) || !this.isValidID(this.bookID, givenShelf)){
        this.bookID = "";
        for(var i = 0; i < 3; i++){
          this.bookID += Math.floor(Math.random() * 10);
        }
      }
    }
  }

}

Book.prototype.getAvailability = function(){
  return this.availability;
}

Book.prototype.getBorrowedBy = function(){
  return this.borrowedBy;
}

Book.prototype.changeAvailability = function(){
  if(this.availability == 1){
    this.availability = 0;
  }
  else{
    this.availability = 1;
  }
}

Book.prototype.changeBorrowedBy = function(username){
  if(this.borrowedBy){
    this.borrowedBy = "";
  }
  else{
    this.borrowedBy = username;
  }
}

Book.prototype.isValidID = function(possibleID, shelf){
  var books = shelf.books;
  for(var i = 0; i < books.length; i++){
    if(books[i].bookID == possibleID){
      return false;
    }
  }
  return true;
};

Book.prototype.addShelf = function(shelf){
  this.shelf = shelf;
};

Book.prototype.getBookID = function(){
  return this.bookID;
};

Book.prototype.getBookName = function(){
  return this.bookName;
};

Book.prototype.getCategory = function(){
  return this.category;
};

$(document).ready(function(){
  var library = new Library();
  var html = "";

  html += "
";
  for(var i = 0; i < library.shelves.length; i++){
    html += "
";
    html += "" + library.shelves[i].categoryName + "	";
    var books = library.shelves[i].books;
    for(var j = 0; j < books.length; j++){
      html += "" + books[j].bookName + "	";
    }
    html += "
";
  }

  html += "
";

  html += "
";
  var user = localStorage.getItem("user");
  if(user == "librarian"){
    html += "<input id=\"bookname\" type=\"text\" value=\"Book Name\"/>";
    html += "<input id=\"shelf\" type=\"text\" value=\"Shelf\"/>";
    html += "<input id=\"addbook\" type=\"button\" value=\"Add Book\"/>";
    html += "

";
    $("#libraryTable").append(html);

    $("td").click(function(){
      //get book info
      var bookLocation = $(this).attr("id");
      $("#info").empty();
      $("#info").append(library.getBookInfo(bookLocation[1], bookLocation[0]));

    });

    $("#addbook").click(function(){
      //add book button
      var bookName = $("#bookname").val();
      var shelf = $("#shelf").val();
      switch (shelf.toLowerCase()) {
        case "art":
          shelf = 0;
          break;
        case "science":
          shelf = 1;
          break;
        case "sport":
          shelf = 2;
          break;
        case "literature":
          shelf = 3;
          break;
      }
      var bookIDLocation = "" + shelf + (library.shelves[shelf].length - 1);
      var newHtml = "" + bookName + "</td";
      $("#" + bookIDLocation).append(newHtml);
    });
  }

  else if(user == "student"){
    $("#libraryTable").append(html);
    $("td").click(function(){
      var bookLocation = $(this).attr("id");
      var username = localStorage.getItem("username");
      if($(this).css("background-color") === "rgb(255, 0, 0)"){
        //checking book back in
        $(this).css("background-color", "white");
        library.bookReturn(bookLocation[1], bookLocation[0]);
      }
      else if(library.getCheckedOutAmount() != 2){
        //check out book
        $(this).css("background-color", "red");
        library.bookCheckOut(username, bookLocation[1], bookLocation[0]);
      }

    })
  }

});

redpajama_set_name: RedPajamaGithub


text:
May 2022's Burgoine Reviews & Pearl Rule Reviews
Author 'Nathan Burgoine posted this simple, direct method of not getting paralyzed by the prospect of having to write reviews. The Three-Sentence Review is, as he notes, very helpful and also simple to achieve. I get completely unmanned at the idea of saying something trenchant about each book I read, when there often just isn't that much to say...now I can use this structure to say what I think is the most important idea I took away from the read and not try to dig for more.
Think about using it yourselves!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Firefly (Paul Samson series #1) by Henry Porter
The Publisher Says: From the refugee camps of Greece to the mountains of Macedonia, a thirteen year old boy is making his way to Germany and safety. Codenamed 'Firefly', he holds vital intelligence: unparalleled insight into a vicious ISIS terror cell, and details of their plans. But the terrorists are hot on his trail, determined he won't live to pass on the information.
When MI6 become aware of Firefly and what he knows, the race is on to find him. Paul Samson, ex-MI6 agent and now private eye, finds himself recruited to the cause. Fluent in Arabic thanks to his Lebanese heritage, Samson's job is to find Firefly, win his trust and get him to safety.
A devastatingly timely thriller following the refugee trail from Syria to Europe, Firefly is a sophisticated, breathtaking race against time from the acclaimed and award-winning author of Brandenburg and The Dying Light.
I RECEIVED A DRC FROM THE PUBLISHER VIA NETGALLEY. THANK YOU.
My Review: Paul Samson, Arabophone Brit of Lebanese background, has a gambling problem that got him bounced from the intelligence job he loved. He's an adrenaline junky, so he wasn't unemployed for long; he's fluent in the language and conversant with the culture of one of the world's hotspots, so guess where his now-unofficial work takes him!
Naji is the teenaged son of a Syrian academic who, gentle soul that he was, believed he could help some dissident students of his be found in Assad's brutal regime. He later died from the aftereffects of being tortured. Naji, after this awakening, is quick to see through ISIL's façade of acceptance and gets his family to Turkey preparatory to making it to Germany.
With, because he's very intelligent but not very smart yet, damaging information he got because "he's just a kid" and the violent men paid no attention to him.
His head went under. Seawater filled his nose and mouth; his eyes opened and he saw the black depths of the ocean below him. A moment later something knocked his legs—maybe part of the wreckage, he couldn't tell. All he knew was that he was going to die. Then it came again. This time there was a distinct shove on his buttocks and whatever it was that moved with such intent beneath him lifted him up so his head and shoulders came out of the water and he was able to grab a plastic toggle on the section of the rubber craft that was still inflated.
Not good for his chances of survival...but Paul Samson, now that British officialdom know Naji exists, is sent unofficially and deniably to make him safe and get him to the point he can give the information to them. Kid's a tyro...he leads everyone a merry chase. Author Porter writes a damn good story here, sets it in places I'm convinced he knows well enough to lead tours, but there's not much horsepower in his characters as people. Their motives are clear and powerful. They are also, unlike real people's and thus unlike the characters I most enjoy reading about, unmixed. Black-hearted people, white-hatted people...not a lot of nuance.
That said I read the book as fast as I could. I wanted this kid to win and I think anyone who needs something more or less unambiguous for a restful but still exciting (weird sentence...but that's how this book came across for me) or at least very action-packed story of implausibly lucky good guys needs this read.
A Kindle edition is $10.99 at this non-affiliate link.
One-Way Street (var. title Monodromos) by Marian Engel
The Publisher Said: Her first two books, Sarah Bastard's Notebook and The Honeyman Festival, demonstrated that Marian Engel is a Canadian novelist with a marvelous talent for portraying women. In One Way Street (formerly titled Monodromos), we meet another one of her heroines. Audrey Moore, intelligent Canadian, 36—facts which help her not at all during her solourn on a Greek island where she is staying with her estranged husband, a has-been concert pianist with sexual proclivities that do not include Audrey. Although she senses that life on the island will be a one-way street for her, the heroine becomes deeply involved in the island's characters and finally takes a Greek lover—to the disgust of an island crone who sits in Audrey's doorway loudly lamenting the young woman's sins to passersby. The tensions of Audrey's island life explode in a hilarious finale as she ends her stay with pilgrimage to a Greek monastery where the Bishop attempts her seduction. A tragi-comic masterpiece, One Way Street is an intensely readable novel about Canadians in an alien land.
I BORROWED THIS BOOK FROM ARCHIVE.ORG HERE. COPIES AVAILABLE FOR PURCHASE IN VARIOUS EDITIONS FROM MANY VENDORS AT ADDALL.COM HERE.
My Review: I read this book because Jo Walton liked it. Me? Well...it was okay. I certainly didn't hate it. I was slightly surprised that Author Marian Engel was married to Howard Engel, whose Benny Cooperman mysteries I read in the 1980s. They're not stylistically similar at all, in the manner of divorced spouses around the world I suppose.
This book failed me by being a "straight-woman-saves-gay-ex" narrative that portrays him as a hapless and manipulative ne'er-do-well. Now, in 2022, I am less horrified and more simply impatient with that kind of dumb-man stuff. But it not only colored but darkened my appreciation for Author Engel's lovely descriptive prose and perceptive aperçus.
The Barbary Figs by Rashid Boudjedra (tr. Andre Naffis-Sahely)
Rating: 4* of five
The Publisher Says: Winner of the 2010 Arab Book Prize.
Two old friends and cousins find themselves side by side on the flight from Algiers to Constantine. There is a lot of history between them, as well as bad blood. The flight will last only an hour—an hour during which both their stories will be told, interspersed by anecdotes of Algeria's struggle to release itself from France's colonial grip. The title, The Barbary Figs, is a symbol of the "old" Algeria, since their grandfather used to grow them on his estate. The "new" Algeria is far less straightforward, and has produced far more bitter fruit.
My Review: Algeria was considered a part of France, not a mere colony, from 1830 to 1962. It was not like the country treated the Algerians as French people, for all they were officially citizens. After the war for independence was won, the country began the process of yeeting itself into a civil-warring mess.
Interrogating this process of disintegration is a life-long project for Author Boudjedra, born in 1941 and still with us as of this writing. He attempts to encapsulate his own life by trapping two estranged cousins, Omar and Rashid, on a one-hour flight from Algiers to Constantine, Algeria's second city. They reminisce, as we're all prone to do; they talk about love, sex, and death, and they don't shy away from the anger these conflicting needs and desires evoked then. The issue interfering with my full-on unmixed appreciation of the story is repetition, as it is in all life stories. Are we here again, the reader wonders wearily; as I am an old man with some young people in my life, I cringe a little in self-reflective recognition. Sorry, Rob, I'll try to rein this behavior in.
Most of all, though, I want others to know that this is a story of great resonance, that its title is its organizing metaphor for fecundity and sweetness in many colors and shapes that no longer appear with regularity in public markets. Author Boudjedra's long, fatwa-filled career as resister of the colonizers, then resister of the religious mobs, is summed up in this rumination on what the past offers and what it does not. I think he said it best and most succinctly in a letter from the 1990s quoted in the translator's Afterword:
All great literature has incorporated history as a fundamental element of the interrogation between the real and the human, operating in a more subjective mode than one would think in so far as it is the one fruitful and interesting mode of inquiry, becoming far more than just a reading of the past that is immediate, official, fossilized, academic, mechanistic and opportunistic, always co-opted, distorted, and travestied for the sake of the cause.
His eloquence and his fighting spirit shine through a translation that I can't say scintillates, though it is not pedestrian or plodding. I doubt it's inspired, though, as the source text won a literary prize. Albeit, I must say, one that appears to have vanished as of 2012....
Follow this non-affiliate Amazon link for your Kindle edition, or a tree book if you desire. Each starts at about $16.00.
The Red Mill: A Musical Comedy by Victor Herbert & Henry M. Blossom
Completely goofy 1907 play about Yankee con-men doing their thing in a tiny Dutch town. It's not anything special in plot terms. It's a musical, so it doesn't have to be. There's a raft of forgettably pleasant tunes telling its sentimental story. What makes it more than a single-star snooze is "Because You're You," a terrific and very ear-wormy meditation on loving someone just cause they's them.
There's a condensed performance of its highlights on The Railroad Hour with Gene Kelly, Gordon MacRae, and beautiful mellifluous soprano Lucille Norman as Gretchen, the Dutch love interest. Check it out, it's only 45min, plus it has a super-funny ad or two here.
"Because You're You," the tune I like, starts nine and a half minutes in.
This space is dedicated to Nancy Pearl's Rule of 50, or "the Pearl Rule" as I've always called it. After realizing five times in December 2021 alone that I'd already Pearl-Ruled a book I picked up on a whim, I realized how close my Half-heimer's is getting to the full-on article. Hence my decision to track my Pearls!
As she says:
People frequently ask me how many pages they should give a book before they give up on it. In response to that question, I came up with my "rule of fifty," which is based on the shortness of time and the immensity of the world of books. If you're fifty years of age or younger, give a book fifty pages before you decide to commit to reading it or give it up. If you're over fifty, which is when time gets even shorter, subtract your age from 100—the result is the number of pages you should read before making your decision to stay with it or quit.
So this space will be each month's listing of Pearl-Ruled books. Earlier Pearl-Rule posts:
APRIL 2022's PEARL RULES ARE HERE.
MARCH 2022's PEARL RULES AREN'T.
FEBRUARY 2022's PEARL RULES ARE HERE.
JANUARY 2022's PEARL RULES ARE HERE.
Children Who Remember Previous Lives: A Question of Reincarnation by Ian Stevenson
Pearl Ruled at 13%
The Publisher Says: This is the revised edition of Dr. Stevenson's 1987 book, summarizing for general readers almost forty years of experience in the study of children who claim to remember previous lives. For many Westerners the idea of reincarnation seems remote and bizarre; it is the author's intent to correct some common misconceptions. New material relating to birthmarks and birth defects, independent replication studies with a critique of criticisms, and recent developments in genetic study are included. The work gives an overview of the history of the belief in and evidence for reincarnation. Representative cases of children, research methods used, analyses of the cases and of variations due to different cultures, and the explanatory value of the idea of reincarnation for some unsolved problems in psychology and medicine are reviewed.
My Review: Two things you should know up front: I believe reincarnation, of some sort, is real; I have little faith in the direction of brain and neurological research as of 2022 answering the question, "what is your mind? what is the soul?" That does not require belief in some sort of supernatural bookkeeper whose Ledger tots up, infallibly and constantly, your personal record of naughty-vs-nice behaviors. It means there is nothing to explain why you're you in the structures of your brain and firings of your nerves. Science isn't looking into the subject because it's like the third rail in a drunken subway pissing contest: contact will be unpleasant and possibly fatal.
And while neurological research is crucial, leading to amazing insights into a host of issues, no one can yet tell us based on neurology or brain anatomy what your mind is. We need to develop the questions before science can apply its astonishingly powerful array of tools to discovering the answers. Not, at present, happening.
So I Pearl-Ruled this book not because it was trying to skip scientific steps and present unfounded answers but because it literally cannot, and does not claim to be able to, answer anything. That got old fast. I'm on board: My Jesus-freak mother was my source of early information about past-life memories. My oldest sister was apparently quite garrulously willing to talk about her bizarrely sophisticated memories of things she couldn't have known about (she remembered having sex as a man but had no idea what any of it was, for example) from age two until she was about four.
As those conversations were memorable to me, I wasn't in need of any persuasion to accept the possibility that these are actual memories of some strange sort. So just watching the evidence pile up was, frankly, tedious. I bailed because I was already on board not because I disagreed, in other words. I don't know if these case studies are the sort of material a skeptic would care about, and a fence-sitter would do well to take it in doses. It's not without value; it's just not designed to meet my need for deeper context.
PEARL RULED @ 10%
The Nightingale Won't Let You Sleep by Steven Heighton
The Publisher Says: Elias Trifannis is desperate to belong somewhere. To make his dying ex-cop father happy, he joins the military - but in Afghanistan, by the time he realizes his last-minute bid for connection was a terrible mistake, it's too late and a tragedy has occurred.
In the aftermath, exhausted by nightmares, Elias is sent to Cyprus to recover, where he attempts to find comfort in the arms of Eylul, a beautiful Turkish journalist. But the lovers' reprieve ends in a moment of shocking brutality that drives Elias into Varosha, once a popular Greek-Cypriot resort town, abandoned since the Turkish invasion of 1974.
Hidden in the lush, overgrown ruins is a community of exiles and refugees living resourcefully but comfortably. Thanks to the cheerfully corrupt Colonel Kaya, who turns a blind eye, they live under the radar of the Turkish authorities.
As he begins to heal, Elias finds himself drawn to the enigmatic and secretive Kaiti while he learns at last to "simply belong." But just when it seems he has found sanctuary, events he himself set in motion have already begun to endanger it.
My Review: The author died last month of cancer. He was sixty.
This story opens with consensual (or as consensual as heterosex ever can be) sex turning into a shooting and a melodramatic follow-up crime committed by crazed-by-hate Turkish Muslim men in divided Cyprus.
I quit caring fairly quickly. This kind of crime isn't immediately interesting to me because it's using violence against a woman as an excuse to cause trouble for a man. And to be extremely clear, the violence isn't the sex. Which, yes, it was icky but it wasn't coerced or compelled. The violence was some Muslim men taking umbrage that a white guy was going to have sex with a Turkish secular woman.
Great. What the world needs now. However it was going to end, the beginning was pretty crappy by my lights and I don't need this. So Vale Author Heighton, we will not meet again.
Labels: Burgoined Books, Burgoineing, Pearl Rule, Rule of 50
EVEN GREATER MISTAKES: Stories, Charlie Jane Ander...
BOYS COME FIRST, indie publisher's first-ever nove...
ALONE ON THE MOON: A Soviet Lunar Odyssey, alterna...
PUNCH ME UP TO THE GODS, what a joy to read a man'...
FREE: Two Years, Six Lives, and the Long Journey H...
RACISM, NOT RACE: Answers to Frequently Asked Ques...
TWO NIGHTS IN LISBON, latest thriller from Pavone ...
HOW FASCISM WORKS: The Politics of Us and Them is ...
THE SUNSET GANG, old age ain't for sissies but it ...
THE PLOT TO SEIZE THE WHITE HOUSE: The Shocking TR...
HITLER'S AMERICAN FRIENDS: The Third Reich's Suppo...
JUST LIKE MOTHER, truly horrific, horrifying, horr...
BRISBANE: A Novel, one of the surprise joys that l...
BITTER ORANGE TREE, vibrant, passionate, *alive* w...
FIRST TIME FOR EVERYTHING, which is why you should...
STARRY-EYED LOVE, my first Helena Hunting, second ...
MERCURY RISING, alternate space-race history with ...
NO GODS, NO MONSTERS, first in a series, author's ...

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Getting more than 100 users accounts who have liked a tweet I need to get the list of users accounts who have liked a tweet.
Reading the documentation of twitter api, it only returns up to 100 accounts. My question is: Is there another way to get more than 100 accounts with other method?
Thank you

A: There is no way to get this information on arbitrary past Tweets. If you are the owner of an account you can track the likes using the Account Activity API after you post a Tweet, and can then keep track of the like actions. This would be the way to get the account information for likes on Tweets, beyond the API limit of 100 (which exists in both v1.1 and v2).

redpajama_set_name: RedPajamaStackExchange


I try to activate the spi on my raspberry3 using a fedora 26.
But I never see the devices /dev/spi* appearing.
I can't see any messages regarding spi in dmesg.
I tested with a raspbian and I see them correctly.
I think I miss somethiing.


text:
HomeNigeriaPolice Sergeant who killed student dismissed, charged with homicide
Police Sergeant who killed student dismissed, charged with homicide
The Imo State Police Command has dismissed Police Sergeant Wilson Ufere, who shot and killed 16-year-old Obinna Iwuoha last Thursday along the Anara-Umuahia expressway in Isiala Mbano Local Government Area of the state.
This is even as the state police command said the dismissed officer would soon be arraigned for culpable homicide.
The officer had shot and killed Iwuoha, a SSS1 student. Also, three others, Tochukwu Uzoukwu, 25, Chukwuebuka Donatus, 24, and Chigozie Iwuala, 28, sustained gunshot wounds during an altercation with a police patrol team, while they were in a religious procession.
The incident led to a riot by youths, who set ablaze the Anara Police Station at Isiebu.
According to the spokesman of the Imo State Police Command, DSP Andrew Enwerem, who confirmed the dismissal of Ufere, the policeman would be immediately arraigned in court for murder.
Read This: Senate to publish names of N30 trillion Forex fraud perpetrators
He disclosed that he was found guilty for murder after facing orderly room trail.
Enwerem, however, said the two other police officers, who were taken unawares when the fatal shooting occurred, were found not guilty of murder, but would be punished, according to police regulations.
"The police officer has been dismissed from the force because he was found guilty of murder. He is no longer a police officer. We are going to arraign him in court for murder, immediately. The other officers were not dismissed, but will be punished internally, according to the police regulations."
Saraki's bullet-proof Range Rover Sports cost only N62.5m
Court bans Omoni Oboli's film over copyright issues
Again, Police, militants clash causes panic at Igando
September 9, 2016 Top stories
Residents of Igando community in Lagos are still living in fear following a shoot-out between policemen and militants last Wednesday night. The militants had attempted to abduct some prominent residents,but […]
Dibon Toone arrested for killing wife, three daughters in New York
August 18, 2016 Crime
Police have arrested a North Carolina man accused of killing a woman and her three young daughters, whose bodies were found Tuesday night, reports CBS affiliate WNCT. Garlette Howard, 32, […]
Again unknown assailants kill 9 in Benue
August 11, 2018 Nigeria
Armed men struck afresh at Tse- Ujo village, Katsina Ala Local Government area in Benue state on Thursday killing 9 persons, according to residents. The hoodlums invaded the village at […]


Joe Cocker about his new album "Hard Knocks"
First Joe Cocker release date 01.05.1969 and latest album 04.11.2016. For these years artist Joe Cocker recorded 67 albums, 1 EP, 9 singles. On this page you can go to interested album and free listen Joe Cocker online preview. On release page also available album online artist Joe Cocker information and links to stores.


A few examples of beautiful and effective websites created by Zipline.
Bodine Electric Company's Improved Website Gets in Motion.
Medcurity Takes the Confusion out of HIPAA Compliance.
Looking to escape to the coast? Plan a trip to Ocean Shores.
Project Beauty Share is ready for its closeup.
Pinecroft Business Park is Expanding & Growing.
Halme Construction Builds a Fresh New Website Experience.
A new website for Puyallup's Popular Wicked Pie Pizza.
A new website for pro bass fisherman and TV personality Joey Nania.
Evergreen Funding launches a new site and business.
A fresh new website for Goodale & Barbieri.
Spokane Digestive revamps their online presence.
Gripper by Bauer launches a new Shopify store.
The sky's the limit for Sky Cannabis.
Versatility Tool Works reaches a global audience.
Reliance goes custom with its new website.
Cerium Networks explodes out of the box.
MiracleCord streamlines with a new Salesforce enabled website.
Saving the world one piece of metal at a time.
Spokane Federal brings its personality to the web.
Care to Stay Home takes a digital approach to lead gen.
Global Credit Union takes a unique approach.
Marken Law Group looks online for lead generation.
When Calls the Heart connects with the Hearties.
Golf in the NW expands its territory and website.
Ellerslie 66 Dental Clinic chooses the power of Wordpress.
A new and bolder look for the Fox Theater.
A smarter website for RESCUE! the Smarter Pest Control™ company.
Issaquah Schools Foundation Goes Interactive.
The Diocese of Juneau gets a whole new online experience.
Brain Healing goes mobile friendly with WordPress.
A new website for Ronald McDonald House Charities of the Inland Northwest.
A brand new Wordpress website for JD and the SS.
LuckyPet gets a new SEO and conversion optimized Shopify store.
A world class online experience for a world class symphony.
L'il Back Bracer increases sales with a move to Shopify.
A new patient centric website experience for Whitmore Dental.
A brand new "brand" and website for AAF Spokane.
TrustPoint Products launches with a cool new product and a cool new website.
Quanta Subsurface chooses Zipline for new responsive website.
Ventry Solutions is saving time and reaching new customers with Shopify.
ShePax™ gets a new custom Shopify theme with the help of Zipline Interactive.
Impel NeuroPharma's new website helps them reach new customers and audiences.
Learn how the new Ptera website helps to generate more leads.
Zipline Interactive helps Visual Orthodontics with a North American product launch.
Zipline helps INK Art Space reimagine their website and reach new audiences.
Infarsight gets a new brand platform and website.
Learn how we used analytical data to help Alderwood Landscaping generate more leads.
Moses Lake Industries ZLCMS Website Launch.


text:
Military base near virginia beach
What military bases are in Virginia Beach?
Military Installations  in the Virginia Beach MSA Naval Station Norfolk Joint Base Langley-Eustis. Naval Air Station Oceana Dam Neck Annex. Norfolk Naval Shipyard. Coast Guard Base – Portsmouth. Naval Weapons Station Yorktown-Cheatham Annex. Training Center Yorktown.
How many military bases are in Virginia Beach?
27 military bases
Is Virginia Beach a military town?
Virginia Beach is home to several United States Military bases. These include the United States Navy's NAS Oceana and Training Support Center Hampton Roads, and the Joint Expeditionary Base East located at Cape Henry.
Where is the Air Force Base in Virginia?
Langley Air Force Base
Hampton , Virginia in the United States of America
The first operational F-22A Raptor alongside a F-15D Eagle on its deliver flight to Langley AFB in May 2005.
Langley AFB Location in the United States
Coordinates 37°04′58″N 076°21′38″WCoordinates: 37°04′58″N 076°21′38″W
What is the largest US military base in the world?
What is the military base in Virginia called?
Fort Lee Army Base
What are the best Navy bases to be stationed at?
5 Best Duty Stations for Navy Personnel and Families Top 5 Duty Stations of the Navy. 5-Norfolk, VA- Naval Station Norfolk, NAS Oceana and others. Naval Station Norfolk. If you're looking for a job in the Navy, move to Virginia. Naval Air Station Jacksonville. Joint Base Pearl Harbor-Hickam. Everett Naval Station. San Diego Navy Bases.
What state has the most military bases?
How far is Norfolk from Virginia Beach?
27 kilometers
Why is Virginia Beach so popular?
What is Virginia Beach , VA, Most Famous For? Virginia Beach is a vibrant coastal city in southeastern Virginia which caters to year-round visitors. The oceanfront destination is rich with history, and home to a variety of arts and entertainment experiences, family-friendly activities, and a blossoming culinary scene.
You might be interested: Military base in scottsdale arizona
Is Virginia Beach Safe?
VIRGINIA BEACH, Va. – AdvisorSmith, a leading information resource for business advice and original research, released a new study, Safest Cities in America, which said Virginia Beach ranks as the #1 safest large city. The study examined data from 3,107 cities and based each city's safety ranking upon its crime score.
Does Virginia Beach get hit by hurricanes?
Why A Single Hurricane Has Not Come Ashore In Virginia , Maryland Or Delaware Since 1851. If you stare at a map of where hurricanes have made landfall in the United States since 1851, you'll notice an enormous void over the Mid-Atlantic coast. Virginia , Maryland and Delaware have never been directly struck .
Where is Airforce One kept?
Andrews, located near Morningside, Maryland in suburban Washington, DC, is the home base of two Boeing VC-25A aircraft with the call sign Air Force One when the president is on board, that serve the President of the United States.
What is the oldest Air Force Base?
F. E. Warren Air Force Base
How far is Fort Eustis from Virginia Beach?
Fallout 1 military base walkthrough
Us military base in australia


Alice L. Rohrer (nee: Frost), age 99, passed away October 21, 2017. She was born in New York to the late William and Letha Frost on July 9, 1918. Alice was a resident of Wadsworth since the age of four and was a member of the First Mennonite Church in Wadsworth.
Alice was preceded in death by her husband, Arden; son, Wayne (Shirley); and sister, Erma.
She is survived by her daughters, Linda Ann (Thomas) Swartz of Wadsworth and Becky Sue (Douglas) Westney of St. Petersburg, Florida; four grandchildren; eight great-grandchildren; seven great-great-grandchildren; extended family and friends.
Private inurnment will take place at Hillcrest Memorial Gardens in Wadsworth.
Memorial contributions may be made to First Mennonite Church Memorial Fund, 405 Trease Road, Wadsworth, OH 44281, or to a charity of your choice.