text:
DYNAMIC ADDITION OF PRODUCTS AND REMOVAL OF SOFTWARE PRODUCTS ON A DISTRIBUTION SERVER
A system and method for adding and/or removing a software product to a distribution server is provided. Upon identification that a software product desired is not indexed in the installation server database of the distribution server, then adding the software product to the distribution server. The distribution server maintains multiple products, every product components of the multiple products is indexed by the installation server database of the distribution server. Removal of a software product requires removal of the software product from the index maintained by the installation server database of the distribution server.
Rao, Siddhartha Ashok (Sandhausen, DE)
SAP AG (Walldorf, DE)
G06F9/445
20050177813 Component service network system August, 2005 Kayama et al.
20060130012 Program conversion device, program conversion and execution device, program conversion method, and program conversion and execution method June, 2006 Hatano et al.
20070169039 Application of optimization techniques to intermediate representations for code generation July, 2007 Lin
20080034362 Program Acquisition and Execution Apparatus, and Program Acquisition and Execution Method February, 2008 Hayama et al.
20070245300 APPARATUS, SYSTEM, AND METHOD FOR PRESENTING PROJECT SCHEDULING INFORMATION IN COMBINATION WITH WORKFLOW INFORMATION October, 2007 Chan et al.
20060059481 Presenting, delivering and installing electronic downloads with an installed list March, 2006 Smith et al.
20040205720 Augmenting debuggers October, 2004 Hundt
20080052687 Development environment for data transformation applications February, 2008 Gonzales-tuchmann et al.
20080046868 METHOD AND SYSTEM FOR TEMPLATE-BASED CODE GENERATION February, 2008 Tsantilis
20070143737 Using multi-resolution visual codes to facilitate information browsing in the physical world June, 2007 Huang et al.
20080046860 Method to assess the skill level of software development February, 2008 Kratschmer et al.
BANES, ADAM RICHARD
KENYON & KENYON LLP (WASHINGTON, DC, US)
1. A method of adding a software product to a distribution server, comprising: identifying an external software product; determining whether the distribution server contains the software product; if the distribution server does not contain the software product, then adding the software product to the distribution server, wherein the determining whether the distribution server contains the software product includes reading an installation server database of the distribution server, the installation server database having an index of all added product databases.
2. The method of claim 1, wherein the adding the software product to the distribution server is adding a link to the software product located elsewhere.
3. The method of claim 1, wherein the adding the software product to the distribution server is a copying of components associated with the software product.
4. The method of claim 1, further comprising indexing any components of the software product being added in the installation server database of the distribution server.
5. The method of claim 4, further comprising if the distribution server does contain the software product, then sending an alert to an administrator of the distribution server.
6. The method of claim 4, further comprising sending an alert to an administrator of the distribution server when the software product has been added.
7. The method of claim 4, wherein the distribution server maintains multiple software products, each of the multiple software products being indexed in the installation server database of the distribution server.
8. The method of claim 4, wherein the indexing is automatically triggered when the components are being added to the distribution server.
9. The method of claim 4, wherein a software product is a component of the software product.
10. The method of claim 4, wherein the software product is located on at least one of a different server, an internet site, a media, a CDROM, a DVD, a flash memory, and an email attachment.
11. The method of claim 4, further comprising: associating a user access security so that only an authorized user may add a software product, wherein the user access security is stored in the installation server database.
12. A method of removing a software product from a distribution server, comprising identifying the software product to be removed; determining whether the distribution server contains the software product; if the distribution server does contain the software product, then removing the software product from the index of the installation server database of the distribution server.
13. The method of claim 12, further comprising if the distribution server does not contain the software product, then an alert is communicated to an administrator of the distribution server.
14. The method of claim 12, further comprising removing the software product from the distribution server.
15. The method of claim 12, wherein the determination of whether the distribution server contains the software product includes a checking of the indexing of the installation server database.
16. The method of claim 12, wherein the distribution server maintains multiple software products, each of the multiple software products being indexed in the installation server database of the distribution server.
17. The method of claim 16, wherein multiple products may be removed from the distribution server.
18. The method of claim 12, wherein a software product is a component of the software product.
19. The method of claim 12, further comprising: associating a user access security so that only an authorized user may remove a software product, wherein the user access security is stored in the installation server database.
20. A computer-readable medium storing instructions for execution by a processor, which when executed by the processor perform: identifying an external software product; determining whether the distribution server contains the software product; if the distribution server does not contain the software product, then adding the software product to the distribution server, wherein the determining whether the distribution server contains the software product includes reading an installation server database of the distribution server, the installation server database having an index of all added product databases.
A business system may include a variety of software applications that can be installed on a distribution server for later distribution to user computers to allow users to perform operations within the business system. Each software application generally includes an installation application, which when run on a computer configures the software application on the computer. Since a business system may include a large number of software applications, many such installations may be required to properly configure a computer before it can be used in the business system. When a previously installed software application is to be replaced by an updated version of the application, the previous version often must be removed from the computer prior to installation of the new version. Software applications may rely on other applications, requiring the applications to be installed in a particular order or priority.
FIG. 1 shows an example system according to the present invention.
FIG. 2 shows a database system of a distribution server according to an embodiment of the present invention.
FIG. 3 shows a product database according to an embodiment of the present invention.
FIG. 4 shows a flowchart of adding files to a distribution server according to an embodiment of the present invention.
FIG. 5 shows a flowchart of removing files from a distribution server according to an embodiment of the present invention.
FIG. 6 shows a system according to an embodiment of the present invention.
FIG. 7 shows a user interface of an installation server database according to an embodiment of the present invention.
FIG. 8 shows an example installation software server according to an embodiment of the present invention.
FIG. 9 shows example functions of a system according to an embodiment of the present invention.
FIG. 10 shows a flow diagram of a system according to an embodiment of the present invention.
Embodiments of the present invention provide an administrator or other entity having access rights to effect the dynamic addition of multiple products to a distribution server. Embodiments of the present invention may also provide an administrator or other entity rights to effect the dynamic removal of multiple products from a distribution server. An administrator or other entity may request and obtain pre-configured installation packages containing the new products for essentially simultaneous installation.
In embodiments of the present invention, an installation server or distribution server 120 may be used not only as a distribution point for distributing software 100, 110, e.g., a front end software, as shown in FIG. 1, to one or more workstations 130, 140, 150 or other end entities, but also as the recipient of software products and parts thereof.
In embodiments of the present invention, an administrator or other entity may use the same installation software for past present and/or future products. Throughout this specification, the administrator or other entity which may include an automated function/machine, a person, and authorized person, etc.—will be referred to as "the administrator." This term is not meant to limit the type of entity who can effect such actions. Embodiments of the present invention allow for the administrator to add new products or parts thereof to an existing server and remove undesired products or parts thereof. Throughout this specification, the term product will be used to indicate a software product or application, and/or part thereof. Throughout this specification, the term server may refer to a computing device, a computer readable medium/media, and/or a network-accessed site. In further embodiments, the new product(s) to be added may be administrator-configurable, and may be made available for installation on user workstations or other computing devices.
In embodiments of the present invention, a database is split on hierarchical, location, and/or content. A database split on a hierarchical level provides for an installation server database which is the default database loaded by an installation server, and at least one product database. The at least one product database, or component(s), is associated with the software product. In embodiments of the present invention, when a product is added to a distribution server, an installation server database associated with that product is loaded by default. That installation server database then may enlist other product databases to be loaded by the distribution server. The loading of a product database by the server involves copying the product components to the distribution server and registering the new product database with the installation server database on the distribution server. The installation server database indexes the subsequently added products/components.
In embodiments of the present invention, a product is comprised of one or more components. A component or installation component, may include file(s), registry key(s), script, etc. An action can install a component. A UI layer, for example, may be a collection of actions. Installation of a component effects an installation of everything included in that product component, which may include multiple files and registry keys. Likewise, uninstallation of a component effects an uninstallation of everything included in the product component. In an embodiment, when a request is made to delete a product, a check is done to see if an installation component of the product is used by another product, and if not, the product may be deleted. An administrator may or may not request to remove a component of a product, but rather the product in its entirety.
FIG. 2 shows an exemplary database system of a distribution server 200. The distribution server contains an installation server database 210 which indexes each of the product A database(s) 220, product B database(s) 230, and, possibly, a package setup database 240 (for configuring packages to user workstations and the like).
FIG. 3 shows an exemplary database of a product A database 300. The product A database 300 is split on user interface information 310 and installation information 320. This architecture may allow for ease and flexibility in managing the product databases in the distribution server.
In embodiments of the present invention, an administrator can receive a new product via, for example, the Internet, a company Intranet, local area network (LAN), wide-access area network (WAN) a hardwired connection, a computer readable medium such as a DVD, CDROM, disk, and/or flash memory. The administrator may then start the installer's server management tool. The administrator is then able to select "add" or similar function, and add the desired new product to the administrators intended server destination. The server destination may have several products existing on it at the time. The effect of adding the new product to the server involves a copying by the installers server management tool of the product file(s) and product database(s) associated with the product. Further, the installer's server management tool registers the product database(s) with the installation server database on the server destination.
In embodiments of the present invention, the administrator or other entity may wish to remove a product or part thereof from the server or from the choices available for installation. To remove a product or part thereof, i.e., a component, from the choices available for installation, the administrator must remove the indexing of the product files/databases with on the installation server database. Upon removal, it is as if the product does not exist on the server even though it is essentially present. A user and the administrator will not see this product in the user interface generated by the server displaying the contents of the installation server database. Further, an administrator may remove the product components/databases from the server as well.
In embodiments of the present invention, a product may be shipped with a database. The database may contain pre-configured package installation data for the product. The database is registered by the server's installation server database.
In the distribution server, there is a database, e.g., the installation server database, which is made hierarchically superior. The installation server database indexes and reads the other databases. When a new product is shipped to the administrator e.g., via a computer the act of adding products involves getting the database from the new product location onto the server and indexed by the hierarchically first database.
In further embodiments, a notepad text file may keep information concerning the products to be installed.
In embodiments of the present invention, products and parts thereof are being added to the distribution server.
Installation is a database oriented activity. The changes to the state of an installed product is reflected in an installation database. In embodiments of the present invention, the server may provide for an abstraction of data management from the user interface and installation tools. The Data Manager of the distribution server may isolate the database syntax from the installation feature(s) implementations.
In embodiments of the present invention, the installation process may be synchronized by a visual basic script. It is appreciated here that other available programming languages may be used. Visual Basic is used here for illustrative purposes. The setup start application loads a script host that parses and executes the visual basic script. The script then uses the engine objects and tools to perform various installation activities.
In embodiments of the present invention, multiple products may be handled by a distribution server. Further, sharing of products and/or their components may be effected across products. Further, user interface data is isolated from the installation data. Further, the database having a split architecture may be in an easier to read and understand format, possibly allowing more users to configure product installations.
In embodiments of the present invention, the server design may provide that the script has superior control over the user interface on a page by page basis. Further, the script may validate user input and react to the same immediately rather than wait for a wizard object to complete execution. Further, defining server internal and external installation actions allow for scaling of the engine functionality for future usage.
In embodiments of the present invention, one may administer multiple products on a single distribution server. Further, products may be added or removed from the distribution server by an administrator or other authorized entity. Packages may be configured across products.
In embodiments of the present invention, there is an installation server database and a workstation database per product. When loaded, the default engine database is loaded first. Further, inter-dependency between products is recognized and may be indicated in the distribution server indexing installation server database. Some example engine classes include SetupEngine (instantiated by script), DataManager, DataExchange, SetupUIManager. The DataManager, DataExchange and SetupUIManager are instantiated by the server.
In embodiments of the present invention, the distribution database may also contain an uninstallation tool to remove software from the distribution database and/or other computers. The uninstallation tool involves reading and interpretation of the installation databases, providing options for partial uninstallment of components unnecessary for other component(s). Further, an administrator of the distribution server may delete products from the server or empty the server. Authorization may be provided to another as well. Further, an automatic deletion of products and/or their components may be instituted on the distribution server.
In embodiments of the present invention, the processes create server and add product are a part of the deployment tools. Thus, once an installation server is created, the add product process may extend the functional scope of the server to one that can handle and distribute multiple products over a network.
In embodiments of the present invention, every product in an installation server has its respective installation information stored in its own product database(s) which is a part of the installation server database. The installation server database contains a collection of individual product databases, and also information pertaining to configured product packages in the installation server. The deployment tools may use the installation server database to perform server administration, et al.
In embodiments of the present invention, the installation server database may be comprised of smaller product databases. Interaction between the installation server database and the products available on the server is via, e.g., the server engine.
In embodiments of the present invention, information contained in the installation server database is user interface information and product installation information. User interface information is, for example, information pertaining to the display of a product available for installation. User interface information may also be, for example, information pertaining to product component selection/auto selection/auto-deselection in the user interface. Product installation information is, for example, information regarding the product file(s) including paths, versions, etc. Further, product installation information also includes, for example, registration information for the product, data for the installer to configure product installations, etc. In embodiments of the present invention, the isolation of these two types of information provides for easy readability and changeability.
In embodiments of the present invention, a database is classified by type on the basis of the default installation server, or engine, database loaded by the server, and is categorized on the basis of its location. For example, an installation server database is a default database loaded by an installation software engine, and contains installation software relevant information and assists the server in identifying and locating product database(s). For example, a product database contains product installation information. It is appreciated that the databases may be maintained in various formats. For example, the database may be used in xml format which allows for a certain ease of readability, ease of data retrieval and insertion (with parsers readily available), and ease of distribution (due to compactness).
In embodiments of the present invention, an engine, or server, loads a respective installation server database on the basis of the context in which it has been started (e.g., distribution server or workstation). The content of the database tags inform the engine, or server, of the product(s) available by presenting the location of their respective product database(s). A server, or engine, may identify the contents of a database tag as belonging to a specific product, thus, the tag provides for a structural organization of installation data.
In embodiments of the present invention, the distribution server presents information to a user (i.e., administrator) via a user interface, and performs deployment, patch, or uninstallation activities. The user interface features allow for product listing, subcomponent of product listing, auto-selection of downward components (i.e., selection of parent provides for automatic selection of child), dependency selection, and package creation/information.
In embodiments of the present invention, for example, the implementation of user interface hierarchy may be achieved through nested <Contains> xml-tags. The higher-level tag becomes the parent of the tags below it. And, component installation order is affected by Requires> xml-tags which provide that required components are installed before the components or products that require them. The user interface tree may be constructed using <contains> xml-tags.
FIG. 4 shows a flowchart involving adding one or more products to a distribution server from other locations. The other locations may include networked resources, a portable medium, another server, etc. The distribution server identifies an external product A which it may wish to load 400. The distribution server may then proceed with checking whether it already contains product A or part thereof or if there are any conflicts involved in adding product A 410. The installation server database which indexes all of the product databases is checked for product A 420, instead of checking each individual product databases. If the distribution server already has product A, then the installation server database does not act further with respect to obtaining the product A 430. In this situation, an alert may be sent to the administrator, or a notation concerning the attempt may be logged in a table. If the distribution server does not already have product A 410, then the distribution server may copy all available components of product A from the source/location 440. The installation server database of the distribution server indexes each of the copied components/databases of product A 450. This indexing may be automatically triggered when a product files are being installed on the distribution server.
FIG. 5 shows a flowchart involving removing one or more products from a distribution server. A request to remove a product from the distribution server 500 may trigger a check of the installation server database of the distribution server for that product 510. If the product is not indexed in the installation server database 520, then an alert may be sent to the administrator or a notice logged which indicates that the product is not indexed on the distribution server. If the product is indexed, then a check is done whether the product or component thereof, is necessary for other product(s) to function as desired 540. If the product is necessary, then an alert may be sent to the administrator 550, or a notice is logged to indicate that the product will not be removed without, e.g., additional confirmation, in view of the dependence of another product. If the product is not necessary for other product(s) on the distribution server, then the administrator may be queried whether he would like to remove the product completely from the distribution server 560. If yes, then the product is deleted from the distribution server 570, and removed from the indexed listing on the installation server database 580. If the administrator does not wish to also remove the product from the distribution server, then the product is deleted from the indexed listing on the installation server database 580. Additionally, an alert or communication may be sent to the administrator or to a log file to indicate the removal of the product.
FIG. 6 shows another system embodiment of the present invention. Multiple software products 610, 620, . . . 630, may be added to a distribution server 600 essentially simultaneously. The first product 610 added to the distribution server creates the installation server database which indexes itself and all of the subsequently loaded products 620, 630. A server creation tool may be used to create the installation server database.
FIG. 7 shows an example user interface which indexes the products, the product GUID (globally unique identifier), etc. Here, the data manager keeps track of the databases to be loaded 720.
FIG. 8 shows an installation server database or engine 800 according to an embodiment of the present invention. The installation server database 800 contains an installation data manager 870 which manages the product databases 860, 862, 864. The installation data manager 870 also includes a data sorter 840 and a database read and write layer 850 in order to manage the resident databases. The installation server database 800 may also contain various tools including a user interface tool 830, installation tools 832, a data exchanger 834, additional tools (such as patch tools, check tools, update tools) 836, and uninstallation tools 838. Acting upon an installation server database 800 may be an external application launcher and scripting host 810 using a visual basic installation script 820. FIG. 9 shows exemplary functions and commands which may be employed in embodiments of the present invention. These functions and commands are those used by the setup engine of the installation server database or engine 900, the setup user interface manager (of the user interface) 910, the data exchanger 920, and the data manager 930.
FIG. 10 shows a flow diagram of the relationships between a network administrator 1010 and the various tools the network administrator may allow. For example, the network administrator may allow for creation of the distribution server 1020 and of the user interface server 1040. Other tools include an administer server 1030, an apply patch tool 1050, administer installation services 1060, add product tool 1070, an administer packages tool 1080, save server configuration tool 1090, remove product 1100, save server database tool 1110, and read server database 1120.
FIG. 11 shows a flow diagram of relationships between the create server user interface tool 1150 and other tools. For example, a network administrator 1130 uses the administer server 1140 to manage matters. The administer or distribution server may include configurable services 1160 and may activate the create server user interface 1150. The create server user interface tool 1150 may involve a reading of version information 1170, a display of log files 1180, a reading of installation packages 1190, a reading of security settings 1200, a reading of the installation server database 1210 and a display of product information 1220.
Software applications, or programs, may be stored in a business system. The software applications may be stored, for example, in a distribution server in communication with other servers and workstations in the business system. The applications may be stored and accessed using various storage devices and computer systems available. An administrator may access the software applications in the business system.
Although the present invention has been described with reference to particular examples and embodiments, it is understood that the present invention is not limited to those examples and embodiments. The present invention as claimed therefore includes variations from the specific examples and embodiments described herein, as will be apparent to one of skill in the art.
Previous Patent: MULTI-PRODUCT INSTALLATION TOOL DATABASE ARCHITECTURE
Next Patent: MULTI-PRODUCT PACKAGE CREATION AND EDITING


Just in the early hours of September 13, Apple announced the official launch of three new iPhones, and the three new models show that we may be saying goodbye to the small screen iPhone. Even if there is no official farewell, I believe it is not far away.
Apple's three new iPhones are the 5.8-inch iPhone XS, the 6.1-inch iPhone XR, and the 6.5-inch iPhone XS Max. Suddenly, the iPhone X, the largest in size last year, became the smallest option this year. Coupled with the fact that Apple has removed the 4-inch screen of the iPhone SE from the official website, it is almost equivalent to shutting down its production. So, all this means one thing: Apple is giving up the small screen iPhone, and it won't be there anymore.
Perhaps we could have a bigger range, and the entire smartphone industry, whether it's the iOS or the Android camp, will probably no longer have smaller smartphone options in the future. For many long-term preference for small size phones, or the hands themselves are relatively small people, should feel extremely disappointed, because now there are already a lot of friends on the Internet to express their feelings.
Back to the beginning, big-screen phones were not seen at first. As early as the 2011 Samsung Galaxy Note debut, this smart phone with a 5.3-inch display has been criticized, and people think that this device that can block the face has no future. However, Samsung is still marketing hard, especially for specific professional users. Samsung told them that the S-Pen provided by this device will further increase the productivity by being inserted into the body.
At that time, many people thought that the Galaxy Note was a niche product, and there should be no sales. At most, it would serve a small number of specific users who love to write and draw. However, after that, all the phones suddenly seemed to be getting bigger and bigger. In those days, mainstream manufacturers followed suit with the same strategy. For example, HTC released a 5.9-inch HTC One Max that was almost impossible to master, and Nokia also introduced the 6-inch Lumia 1520.
With more and more "megascreen" mobile phones coming out, things have become uncontrollable, so that new words that describe such devices, such as "cross-border devices" or "tablet phones", have emerged in those years. These new words are just to distinguish these large screen phones from ordinary phones. But later, the boundaries between tablets and smartphones have become more blurred, and the trend of tablet PCs has gradually subsided. On the contrary, large-screen phones are becoming more and more popular.
As the size of the display becomes larger, the technology of the display panel is also improving, the resolution is getting higher and higher, the color is more and more accurate, the color is more and more bright, the wide color range, the high pixel density screen becomes very common. Not only that, the corresponding streaming media services also began to increase, to meet the needs of large screen users of mobile multimedia. Arguably, the trend toward large screens is irreversible, with leading research firm IDC predicting that by 2021 global shipments of phones with 5.5-inch screens or larger screens will reach 1 billion. In 2019 shipments will exceed 5.5 inches.
Of course, not everyone likes big-screen smartphones. They don't like the need to have two hands to quickly reply to a message, and think that older and older devices can easily fall out of their pockets. . We can even see that there is a kind of accessory that sells very hot. Many users who use the big screen will buy this accessory to help hold the phone and fix it in the hand to avoid falling easily. This accessory is the ring bracket.
Is there a new smartphone with a small screen now? There are still some, such as Sony's Xperia XZ2 Compact, but the optional new one is really a handful. If you are an iOS user, you will definitely not consider the small screen mobile phone of the Android camp. Those who still insist on the iPhone SE, they expect a year of iPhone SE 2 did not appear, the current hope that the model is updated is very embarrassing, because Apple's enthusiasm for the "big screen" has been difficult to suppress, this year also Dedicated to "the largest display to date" as the main selling point of the iPhone Xs Max.
Telling the truth, the player who pursues the small-screen iPhone, even without the 4-inch iPhone SE II, is not willing to accept the 4.7-inch iPhone 8, because they want the small-screen iPhone to be a new machine, and the hardware specifications are upgraded to the latest and strongest. Not just a cheaper but gradual product. To put it simply, small-screen mobile phone enthusiasts have a "small steel gun" plot, they are pursuing one hand and want a big horse-drawn car. Maybe the small screen machine can't enter the multi-cylinder engine because of the limited space, but for the performance explosion, even if the fuselage becomes very thick, they are willing to accept it.
So why did the early Apples not follow the revolution of big-screen phones? I believe that many machine friends have come up with the answer to the standard, because Steve Jobs insists that the 3.5-inch screen is the most ideal gold size. So until the introduction of the 4-inch iPhone 5, Apple continued to promote the use of only the thumb to control, claiming that the iPhone 5 maintains the same grip as the iPhone 4S. Considering that there are many Bishops in Joe, there are quite a few fruit powders that he defended in the past, but there are also machine friends who have long been dissatisfied with Apple's slightly guilty rhetoric.
In 2015, the third year that Job was in charge of Apple after Steve Jobs left, the size of the iPhone screen that was no longer in the rebellious era finally got bigger, and the iPhone 6 Plus generation was as hot as mad, resulting in 4.7-inch and 5.5-inch sleeves. The appearance of the baby continued for four generations, and it was not until the advent of the iPhone X last year. This year, the iPhone has once again become bigger, and Apple wants to lead the trend of large-screen full-screen phones, so the 6.5-inch screen of the iPhone XS Max has surpassed the flagship of the Note series that Samsung is proud of. Just a 0.02-inch Galaxy Note 9 is a lot of 0.1 inches.
For now, you can still buy the new 4.7-inch iPhone 7 and iPhone 8 at a more affordable price, perhaps next year. However, with the retirement of the iPhone SE, the small screen seems to be a history in the iPhone product line, just as Apple still decided to cut off the iconic HOME button. Because iPhone SE has been hailed as a tool for the cheaper beauty of Apple to conquer larger markets, especially in China and India, the results of this machine are far less than expected.
Of course, maybe there will be a new iPhone SE 2 next year, but its screen may not be four inches in size anymore, but a full-scale screen phone with a grooving "bangs" to fit into the ID. Like the iPhone Xs Max, which is about the size of the iPhone 8 Plus, it naturally gets bigger as the screen ratio increases. By then, although the machine is still enough to please small screen iPhone enthusiasts, but the price is certainly not the original.
In any case, with the advent of the new iPhone of the 2018 generation, especially in the case of insisting on the biggest display in the history of the iPhone, the small-screen iPhone seems to be coming to an end. Even if it is not now, I believe it should not be far away. The 4-inch iPhone, goodbye!


The Estonian discovers the perfect recipe to prepare for the Ladies Championship Gstaad, sampling fondue in the Swiss mountains.
Anett Kontaveit took a unique approach to preparations for the Ladies Championship Gstaad this week, trekking into the surrounding Swiss Alps to sample the local cheese produce.
The 21-year-old, who reached the third round at Wimbledon earlier this month, visited the 'Fondue Caquelon Schlittmoos', an oversized fondue pot in the mountains near Gstaad.
Visitors to the village are given backpacks containing the necessary ingredients and cooking utensils, before making their way to the beauty spot, melting their cheese and enjoying the view.
Kontaveit enjoyed the excursion, adding to her appreciation of Switzerland. "The nature is so beautiful," she said of the surrounding countryside. "That's something that you don't really see at other tournaments."
Surprised to learn her Estonian compatriots consume more cheese per capita than the Swiss - "No way, I can not believe that!" - Kontaveit took inspiration from her visit into her opening match of the tournament on Tuesday. The third seed beat the Italian qualifier, Martina Trevisan, in straight sets, losing just four games.


text:
Q: CABasicAnimation causes freeze I have this code :
- (void) animationErreur {
CABasicAnimation* fade = [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
fade.fromValue = (id)[UIColor colorWithRed:1.0f green:0.0f blue:0.0f alpha:0.0f];
fade.fromValue = (id)[UIColor redColor].CGColor;
fade.toValue = (id)[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f];
[fade setDuration:1];
[self.topBar.layer addAnimation:fade forKey:@"fadeAnimation"];
}

Every time i call it, it works but if i click on the view during the animation, it crash. I have added the quartcore framework into my class. This code is called when i click on a button.
Any idea?

A: fade.toValue = (id)[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f].CGColor;

You've to add the .CGColor at the end for the toValue line.
- (void) animationErreur {
    CABasicAnimation* fade = [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
    fade.fromValue = (id)[UIColor redColor].CGColor;
    fade.toValue = (id)[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f].CGColor;
    [fade setDuration:1];
    [self.topBar.layer addAnimation:fade forKey:@"fadeAnimation"];
}

A: Try to make your animation object global. EXE_Bad_ACCESS is generally due to unreachability of a object in arc.

redpajama_set_name: RedPajamaStackExchange


text:
Q: What occurs when object is created in Java? My teacher gave me a question:

"What occurs when objects are created in Java".

To the best of my knowledge, memory allocation, variable initialization and constructor method invocation happen when an object is created.
But my teacher said that I was almost right. The 2 later things are right, except memory heap. Instead, he said the memory allocation occurs. I think that object is stored in heap, so my teacher is wrong. Do you think so?

A: I'll answer that using a simple example.
Say you have a class Car. Now you write:
Car car;
car = new Car();

The first statement creates a reference with car in the stack.
In the second statement, the Car class will be loaded to the main memory, then it will allocate memory for the members of Car in the heap. When this happens, the members will be initialized with values provided by the JVM.

A: While the JVM is running the program, whenever a new object is created, the JVM reserves as portion of the Heap for that object (where the object will be stored). The amount of Heap that gets reserved is based on the size of the object.
The JVM maps out this segment in the Heap to represent all of the attributes of the object being stored. A reference (address in Heap) to the object is kept by the JVM and stored in a table that allows the JVM to keep track of all the objects that have been allocated on the Heap. The JVM uses these references to access the objects later (when the program accesses the object).

A: On top of what other people have said, if this is the first use of the object then its Class must be initialised -as described in the JLS (the section before the one on new instance creation!).
This basically involves loading into memory the necessary information about the class i.e. creating a Klass object for the static variables and method table to live. This may also involve loading super classes and interfaces. This is all carried out by the ClassLoader.

A: When object is created in java then these 6 step will be happens one by one---
1.JVM allocates 8 bytes of memory for the reference variable & assign default value as null.

*JVM will verify whether class loading is done or not,if class is already loaded then it will ignore or else it will perform class loading.

*At the time of class loading ,if any static variable are there then it will allocating memory.

*By using new operator,object memory will e created inside heap memory.

*At the time of object creation,if any instance variables are there then those will allocate memory inside object Memory.

*It will assign object memory address to the reference variable which is created first.

A: As always, the best place to find a solution for these kinds of questions is in the Java Language Specification.
Specifically, from the section on new instance creation, it can be understood that this is the sequence when a new object is created, as long as no exceptions occur:

*

*Memory is allocated.

*Fields are initialized to their default values.

*The "first line" of the chosen constructor is invoked, unless it's an Object. By first line I mean either explicit call to super() or this(), or an implicit call to super().

*The instance initializer is executed and the fields are initialized to their requested values (actually field initialization is usually compiled as an inline part of the instance initializer).

*The rest of the constructor code is executed.

Now, it is possible that your teacher is talking about memory allocation as an actual operating system call - and in that case he's right in the sense that the JVM manages its own heap and thus a Java memory allocation does not necessarily translate to an OS memory allocation call (although it may).


There was a question in Oracle-L mailinglist recently, regarding excessive SQL*Net break/reset to client waiting by a session.
We are seeing an insert statement reporting "SQL*Net break/reset to client" as over 1⁄3 of its time.
On the face of it this event suggests network issues but nothing else backs this up as the cause.
So I looked at the Java code in question and a trace of one of the sessions.
What is happening is that an attempt is made to insert a row, most of the time a duplicate error results, the code catches this exception and does an update.
I was wondering if its the duplicate error and the exception handling which results in this wait event showing up.
Yes, a SQL*Net break/reset happens when an error/unhandled exception is raised during a call (which means that the call executed didn't complete normally, thus the call state must be reset).
The approach of "insert -> if failed then update" is basically what MERGE does.
You need to change the application to use MERGE command. Alternatively you could use an "update -> if no-rows-updated then insert" approach, but MERGE makes much more sense nowadays.
So, these waits aren't really indicating any network bottleneck, but rather just the fact that the client needs to be notified if it's call has failed and Oracle has to clean up after the failed call. Apparently on some (network protocol) architectures or in some scenarios these operations have taken significant time (and may have required a system call), so a kernel developer has decided to wait instrument them.
As V$SESSION_EVENT (like also V$SYSTEM_EVENT) doesn't display events for which nobody has waited yet, I see that my session's wait count for that event is zero.
Still no breaks/resets as the error was handled and the OPI call completed properly.
You see, there are 2 break/reset waits registered.
Anyway, as I said in my Oracle-L reply, these breaks are caused by bad application design which allows too many unhandled exceptions to be propagated all the way up to the client.
The solutions would be to reduce or eliminate the number of errors occurring, or at least put that code into PL/SQL blocks where errors would be handled and not propagated back to client every time.


text:
Home World News Anjem Choudary convicted of supporting ISIS
Anjem Choudary convicted of supporting ISIS
Anjem Choudary, one of the most notorious hate preachers living in Britain, is facing jail after being found guilty of supporting Islamic State.
Following years in which he avoided arrest despite his apparent sympathy for extremism and links to some of Britain's most notorious terrorists, Choudary was convicted at the Old Bailey court in London after jurors heard he had sworn an oath of allegiance to Islamic State, also known as Isis.
The 49-year-old, who has links to one of Lee Rigby's killers, Michael Adebolajo, and the Islamist militant Omar Bakri Muhammad , also urged followers to support Isis in a series of talks broadcast on YouTube.
Choudary and his co-defendant, Mohammed Rahman (33) told their supporters to obey Abu Bakr al-Baghdadi , the Isis leader, who is also known as a caliph, and travel to Syria to support Islamic State or "the caliphate", the court heard.
They were convicted in July but details of the trial, including the verdict, could not be reported until now.
Choudary and Rahman face up to 10 years in jail for inviting support for a proscribed organisation. They will be sentenced in September.
Prosecutor Richard Whittam QC said: "The prosecution case is that whichever name is used, the evidence is quite clear: when these defendants were inviting support for an Islamic state or caliphate they were referring to the one declared in Syria and its environs by Ibrahim [Abu Bakr] al-Baghdadi at the end of June 2014.
"Terrorist organisations thrive and grow because people support them and that is what this case is about. Do not confuse that with the right of people to follow the religion of their choice or to proclaim support for a caliphate."
Choudary, who has a long history with groups involved in radical Islamist demonstrations, such as the now-banned al-Muhajiroun and Islam4UK, denied he was inviting support for Isis and claimed to be a "lecturer in sharia law" giving "the Islamic perspective".
He began studying sharia law under Syrian-born Bakri Muhammad, a Salafi Islamist militant leader who formed al-Muhajiroun with the aim of promoting sharia in the 1990s, the court heard.
Bakri Muhammad fled to Lebanon in 2005, where he was joined by Choudary for about 10 weeks. Bakri Muhammad was ultimately jailed in Lebanon for terror offences.
Choudary admitted he was media spokesman for Islam4UK during a time in which the controversial group put out "incendiary statements" calling for Buckingham Palace to be turned into a mosque and Nelson's Column to be destroyed.
On the ninth anniversary of the London terror attacks – July 7th 2014 – Choudary and Rahman posted an oath of allegiance online under their kunyas or Islamic names, Abu Luqman, used by Choudary, and Abu Baraa, used by Rahman, on the website AlMustaqbal.net.
Between August and September 2014, Choudary and Rahman posted speeches on YouTube encouraging support for Isis.
An audio clip, lasting one hour and six minutes, uploaded to Choudary's YouTube channel on September 9th 2014 was played to jurors.
Titled How Muslims Assess the Legitimacy of the Caliphate, the speech was played over the image of a map of northern Africa, the Middle East, north-west Asia and southern Europe.
Choudary begins by setting out his views about the requirements of a legitimate Islamic caliphate, then explains why he sees Islamic State as meeting the criteria.
"The lesson from this narration is that obedience to the caliph is an obligation, if they rule by the sharia. And to obey them obviously means they must be established," Choudary said.
He added: "I would just say, uh you know, for people who want to live under sharia law, obviously this is a great thing, and for those people who say we are promoting Isis, they are not even called Isis any more. Rather, you have an Islamic state where you have millions of people who are governed by the sharia law and I don't think it is against the law to go and live there and want to abide by sharia law."
The prosecution also played an older lecture given by Choudary in March 2013, which did not form part of the charge but was provided to the jury for background.
We don't have any borders … it is about time we resumed conquering for the sake of Allah.
In the lecture, titled Duties of the Khilafah State, Choudary makes clear his desire for the establishment of a caliphate as well as his support for the military action of Islamic State.
He said: "That is why the kuffar [non-believers] are worried, my dear Muslims. When the Muslims of the subcontinent gather together. When the Taliban inshallah [God willing] and the mujahideen take Afghanistan and then declare jihad against the mourtad of Zardini and his army of tawaghit, and when they annex and take India and they take Bangladesh and they take Indonesia, you have over a billion Muslims in the area.
"We don't have any borders, my dear Muslims. It is about time we resumed conquering for the sake of Allah.
"Next time when your child is at school and the teacher says 'what do you want when you grow up, what is your ambition?', they should say to dominate the whole world by Islam, including Britain, that is my ambition."
The prosecution told the court that the defendants were "acutely aware" of the potential criminal implications of being overt in their support for Isis.
Whittam told the court: "The prosecution alleges that this led to great care in the way in which the defendants expressed themselves publicly, particularly after Isil was proscribed as a terrorist organisation by the home secretary."
Choudary also took to social media to express support for Isis, the court heard. In late July 2014, he engaged in a series of messages with others as to the authority for the declaration of Eid (the Islamic festival) coming from "the office of the Islamic State".
Born in north London, he initially studied medicine at Barts medical school before changing courses and enrolling at Guildford College of Law. He opened his own solicitor's practice in his late 20s but told the court that by that point he had become religious and his beliefs did not sit easily with certain aspects of the law.
Islam4UK
Previous articleIndia enraged Over CPEC and Growing Ties Between Pakistan and China
Next articleTurkish Coup and Russia-Turkey relations | Zain Khan & Peter Lavelle
Scooby Doo's Voice of Daphne Dies

redpajama_set_name: RedPajamaCommonCrawl


text:
Lady Pens Basketball History
The Penguins' first year of competition was in 1975-76 under Joyce Ramsey, who was also the first coach of the YSU volleyball team. The program has had seven head coaches, including current coach John Barnes.
The Penguins won five conference championships while in the Mid-Continent Conference. The Penguins won three postseason tournament titles and advanced to the NCAA Tournament three times (2000, 1998, 1996). YSU advanced to the second round of the NCAA Tournament in 1998 beating Memphis in the first round before losing at North Carolina State. All-time, the Penguins have had six players named Conference Player of the Year. YSU has had 25 all-conference selections since 1983-84 as members of the Ohio Valley, Mid-Con and Horizon League.
The program has had eight 20-win seasons, including a school best 28 wins in 1997-98. Coach Ed DiGregorio was a key figure on the sidelines spending 20 years with the program compiling a 319-241 record from 1983-84 through 2002-03.
Prepared, in part, by YSU Sports Information Director Trevor Parks.


text:
The Knoxville Horror: Lemaricus Davidson Gets Sentenced to Back-to-Back Death Penalties
Lemaricus Davidson at his June 11 sentencing hearing.
My reader-researcher David in Tennessee just wrote me at 11:33 p.m. with the news:
I attended the sentencing hearing today. WATE has the best account. See the two videos.
Davidson looked well-fed, not "Slim" any longer. Has grown back the goatee he shaved off for the trial. The families' victim impact statements were great. Davidson looked stoic, then defiant.
Judge Baumgartner at one point said, "I can't understand this" over and over. I'm not sure if he said it directly, but the judge seemed to endorse the death sentence, apart from giving it as he was required by law.
Back-to-back death penalties for Davidson in Christian-Newsom murders
Posted: Jun 11, 2010 10:17 AM EDT Updated: Jun 11, 2010 6:36 PM EDT
By HANA KIM
6 News Reporter
KNOXVILLE (WATE) - LeMaricus Davidson, one of four convicted in the Christian-Newsom murders case, was sentenced Friday to back-to-back death penalties.
Judge Richard Baumgartner called his consecutive death penalty sentencing decision "unprecedented."
Davidson was already serving time on death row for the four capital convictions he received in the case in October 2009.
As he prepared to announce his decision, Judge Baumgartner said this is one of the most "incredibly outrageous, cruel, inhumane cases that this court has ever seen." He also called it one of the most "horrendous" crimes in Knox County that he knows of.
The judge also said it's clear to him that Davidson was the ringleader in the crimes and how anyone can engage in that kind of conduct is "unexplainable."
Judge Baumgartner said the Tennessee foster family who testified at Davidson's sentencing hearing hoping to save him from the death penalty instead showed the judge that Davidson had a chance to change his life, but he didn't.
"I'm sorry, but I have no mercy," the judge told Davidson and his defense team.
Davidson was also found guilty in his trial of especially aggravated robbery, especially aggravated kidnapping, aggravated rape and theft of Channon Christian and her boyfriend, Chris Newsom, in January 2007.
The jury found Davidson guilty of the lesser charge of facilitating Newsom's rapes, rather than raping Newsom himself. Davidson was found guilty of raping Christian.
Judge Baumgartner sentenced Davidson to 80 years for those lesser convictions.
Before Davidson was sentenced Friday, state prosecutors said they were seeking another death sentence for Davidson in case the others were overturned. The defense argued that another death sentence is illogical.
After hearing arguments from attorneys on both sides regarding Davidson's criminal past, Judge Baumgartner said Davidson is a "range 2 offender" so that increased his sentencing range.
Davidson was convicted of aggravated robbery and carjacking when he was a teen and served time in prison. He was also charged with home invasion and thefts.
Victims' impact statements
Deena Christian, the mother of murder victim Channon Christian, asked in a victim's impact statement she read from the witness stand if Davidson "bothered" to learn Channon's name before he kidnapped, raped and tortured her.
She called Davidson an animal who has no remorse for what he did.
Deena also told Davidson he and his "cohorts" destroyed the lives of her family and they miss Channon, but they won't miss him. Deena called Davidson an "animal" to his face.
Gary Christian, Channon's father, said in his statement that he dreams of his daughter and smells her hair and hears her voice. He said in the dreams, she has his grandchild.
"I can see her smile and then it fades away."
Gary said he wakes up and hates even more.
In his dreams, Gary said he and his son, Chase, find Davidson and give him a little "East Texas justice," not this."
Gary says every day he has nightmares, except he's awake. Glaring at Davidson from the stand, Gary said he could see his daughter being tortured over and over again and he can't stop it.
"Any man, woman or beast who speaks against my daughter is my enemy," Gary said.
Gary directed his anger at Davidson's defense attorneys saying the couple's characters were dragged through the mud unjustly during the trial.
"I will do everything in my power to have that needle stuck in you as soon as possible," Gary told Davidson.
The statements by the Christians are different from any they've given in previous sentencing hearings in this case.
The Newsoms
Mary Newsom, the mother of Chris Newsom, said in her statement that Davidson deserves nothing less than the death penalty.
"How can a normal person" do these things, Mary asked Davidson. "I'm sorry. I guess you're not normal."
Hugh Newsom, Chris' father, said when he saw the autopsy photos and imagined what Chris went through in his last hours, it sent "indescribable rage" through him.
He pointed out that although Davidson was raised in the Memphis housing projects so was Elvis Presley.
Davidson's sisters made successful lives for themselves, Hugh pointed out. "What happened to you," he asked.
Defense attorney Doug Trant interrupted Hugh's statement when he referred to Davidson's past crimes. The judge advised Hugh not to make those references so he altered his statement to address Davidson's past time served instead.
Davidson declined to make any comments on his own behalf when the victims' impact statements were finished.
Reaction afterward
During the hearing, Davidson showed no emotion but he also didn't look away when the victims' families cast emotional daggers at him.
"I don't think he has any reaction to anything. He has no feelings. He may not be human," Mary Newsom said.
"He showed no remorse and no feelings," Hugh said.
However, the victims' parents expressed their satisfaction with the sentencing. "He got what he deserved. I am just proud of the judge. He did the right thing," Deena said.
"I'm glad. That's exactly what he deserves. He should be locked up for the rest of his life, no chance of getting out whatsoever," Mary said.
"There's never been a crime in the state that horrendous and he gave him everything he could give him," Gary Christian said. He added that Davidson will die. "Just wish he could die twice."
The parents were happy with Judge Baumgartner's ruling, but said they were disappointed in the justice system.
Hugh Newsom said the couple could still be alive if Davidson wasn't let out on the streets before the murders.
Amen to that, Mr. Newsom!
In 2001, Davidson was sentenced to 8 years for carjacking with a weapon. As the sentences were concurrent, instead of consecutive, Davidson was released in 2005 and went to Knoxville to sell dope along with armed robbery, home invasion, etc. The torture-rape-murder of Channon and Chris was less than 6 months after Davidson's parole.
David In TN
Saturday, June 12, 2010 at 12:38:00 AM EDT
Nicholas Stix said...
Carjacking is a federal felony for which one can get the death penalty. How the hell do you get sentenced to a mere eight years, and serve only five, for carjacking with a weapon?! I keep seeing cases of violent black (and sometimes Hispanic) felons getting token sentences, and getting out to commit ever more heinous crimes.
Meanwhile, since modern police managers keep telling us that violent crime is getting ever more rare, I must be imagining that America is becoming ever more violent!
And you can't bring up selling dope, David! Didn't you know that our prisons are full of non-violent black and Hispanic men who were victimized by racist drug laws, laws which, moreover, somehow know not to victimize those hard-core white men who, the same "experts" tell us, are much more prolific in the drug trade?
Saturday, June 12, 2010 at 4:52:00 AM EDT
I feel so much sympathy for the families of Channon and Christian, my heart just bleeds for them. These killers were not kids they were adults who knowed ahead of time they were going to kill whom ever they carjacked that night. As they rode around they had the weapon and they did not show any mercy when kidnapping them. these kids were innocent and not thinking were alone in there car in a horrible side of the town and probably never feared any danger. How these people were tortured is almost too much to bear. I just wish the killers could die this way. Can u imagine being raped anally and then use an object just to torture him.The girl friend watching. Why don't someone pour bleach down there throats. oh god we all know what bleach does. I ask God to give them the hottest place in hell and to show no mercy when it is there time to die. Diane
Sunday, February 20, 2011 at 7:27:00 PM EST
Fundraising Campaign Proceeding Briskly
Nicholas Stix, Uncensored/The Wyatt Earp Journalis...
Bill Clinton: Is He an Attempted Rapist, in Additi...
Election Blues
AZ Gov. Jan Brewer to "Barack Obama": "Do Your Job...
The Rape Tree: Paul Streitz Sends a Photograph
Gore to U.S.: Drop Dead
Al Gore's Greatest Hits
The Rape Tree
Leaving Arizona: Invader Felon Manuela Quintana, ...
2010 FIFA World Cup South Africa: Hitler Learns Th...
Solving Philly Crime with an Eraser: The "Good Iri...
Father's Day, 2010
The Philadelphia Story: When the Cops are Crooks
Moslems Behaving Badly: The Iraq Honor Killing Sto...
AOL Continues Total Censorship Comments Policy…
Has Anyone Ever Seen these Two in the Same Room To...
American Renaissance Needs Your Help!
Babelicious Nikki Haley for the Rule 5 Draft
The Atlanta Child Murders Case: Convicted Killer W...
The Knoxville Horror: Lemaricus Davidson Gets Sent...
Affirmative Action's Perpetual Hoax Machine
Certifiably Insane: New York City's Schools
(Diana West and) John L. Work: The Case Against Ba...
Mexican Government Opening CA Office to Issue Fake...
Helen Thomas: Jews Have No Right to Live in Israel...
D-Day, Sixth of June
Allegations of War
Dead-Enders Seek to Maintain the Duke Rape Hoax/Ce...
Ken Griffey Jr. Has Announced His Retirement
Stacie Huckeba Video: The Human Face of the Nashvi...
Ray Stevens Song Video: "Come to the USA"
Ken Fells: Racist Principal Caught on Camera Assau...
A Fake Death Threat from a Fake Web Site, Represen...