is deployed, and once the deployment is complete, the already deployed revision is undeployed.
$ curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
_URL_ \
-u email:password
You can further optimize deployment by setting the delay parameter. The delay parameter specifies a time interval, in seconds, before which the previous revision should be undeployed. The effect is that in-flight transactions have a time interval in which to complete before the API proxy processing their transaction is undeployed. Following is what occurs with override=true and the delay parameter set:
 - Revision 1 is handling requests.
 - Revision 2 is being deployed in parallel.
 - When Revision 2 is fully deployed, new traffic is sent to Revision 2. No new traffic is sent to Revision 1.
 - However, Revision 1 may still be processing existing transactions. By setting the delay parameter (for example, 15 seconds), you give Revision 1 15 seconds to finish processing existing transactions.
 - After the delay interval, Revision 1 is undeployed.
With override set to true, Apigee will not undeploy Revision 1 if the basepath of Revision 1 differs from that of Revision 2. In such a scenario, you will end up having two revisions deployed in the same environment. This can break other plugins and wrappers that make use of the seamless deployment API if you are not accommodating for this scenario in your assertion.
$ curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
_URL_ \
-u email:password
Query Parameter Description
override
Default is false (normal deployment behavior: existing revision is undeployed, then new revision is deployed).
Set to true to override the normal deployment behavior and provide seamless deployment. The existing revision remains deployed while the new revision is also being deployed. When the new revision is deployed, the old revision is undeployed. Use in conjunction with the delay parameter to control when undeployment occurs.
delay
To allow transaction processing to complete on the existing revision before it is undeployed—and eliminate the possibility of 502 Bad Gateway or 504 Gateway Timeout errors—set this parameter to the number of seconds you want undeployment to be delayed. There is no limit to the number of seconds you can set, and there are no performance ramifications for setting a large number of seconds. During the delay, no new traffic is sent to the old revision.
Default is 0 (zero) seconds. When override is set to true and delay is 0, the existing revision is undeployed immediately after the new revision is deployed. Negative values are treated as 0 (zero) seconds.
When override=true is used along with a delay, HTTP 5xx responses during deployment can be eliminated. This is because both API proxy revisions will be deployed simultaneously, with the older revision undeployed after the delay.
See all deployments of an API Revision
Sometimes it's necessary to fetch a list of all of the currently deployed revisions of an API proxy.
$ curl _URL_ \
-u email:password
{
 "aPIProxy" : "weatherapi",
 "environment" : [ {
 "configuration" : {
 "basePath" : "",
 "steps" : [ ]
 },
 "name" : "test",
 "server" : [ {
 "status" : "deployed",
 "type" : [ "message-processor" ],
 "uUID" : "90096dd1-1019-406b-9f42-fbb80cd01200"
 }, {
 "status" : "deployed",
 "type" : [ "message-processor" ],
 "uUID" : "7d6e2eb1-581a-4db0-8045-20d9c3306549"
 }, {
 "status" : "deployed",
 "type" : [ "router" ],
 "uUID" : "1619e2d7-c822-45e0-9f97-63882fb6a805"
 }, {
 "status" : "deployed",
 "type" : [ "router" ],
 "uUID" : "8a5f3d5f-46f8-4e99-b4cc-955875c8a8c8"
 } ],
 "state" : "deployed"
 } ],
 "name" : "1",
 "organization" : "org_name"
}
The response above contains many properties specific to the internal infrastructure of Apigee Edge. Unless you are using Apigee Edge on-premise, you can't change these settings.
The important properties contained in the response are organization, environment, aPIProxy, name, and state. By reviewing these property values, you can confirm that a specific revision of an API proxy is deployed in an environment.
See all deployments in the test environment
You can also retrieve the deployment status for a specific environment (including the revision number of the currently deployed API proxy) using the following call:
$ curl -u email:password _URL_
This returns the same result as above for every API deployed in the test environment
See all deployments in your organization
To fetch a list of all currently deployed revisions of all API proxies in all environments, use the following API method:
$ curl _URL_ -u email:password
This returns the same result as above for all API proxies deployed in all environments.
Since the API is RESTful, you can simply use the POST method, along with a JSON or XML payload, against the same resource to create an API proxy.
A profile for your API proxy is generated. The default representation of an API proxy is in JavaScript object notation (JSON). Below is the default JSON response to the POST request above, which created an API proxy called 'weatherapi'. A description of each element in the profile follows:
{
 "configurationVersion" : {
 "majorVersion" : 4,
 "minorVersion" : 0
 },
 "contextInfo" : "Revision 1 of application weatherapi, in organization {org_name}",
 "createdAt" : 1357172145444,
 "createdBy" : "_EMAIL_",
 "displayName" : "weatherapi",
 "lastModifiedAt" : 1357172145444,
 "lastModifiedBy" : "_EMAIL_",
 "name" : "weatherapi",
 "policies" : [ ],
 "proxyEndpoints" : [ ],
 "resources" : [ ],
 "revision" : "1",
 "targetEndpoints" : [ ],
 "targetServers" : [ ],
 "type" : "Application"
}
Keep in mind that the response payload merely contains a representation of an API resource — you can create an API proxy using JSON or XML, and you can also retrieve representations of the API proxy as XML or JSON, depending on your needs.
The API proxy profile that is generated demonstrates the complete structure of an API proxy:
 - APIProxy revision: The sequentially numbered iteration of the API proxy configuration, as maintained by API Services
 - APIProxy name: The unique name of the API proxy
 - ConfigurationVersion: API Services version to which the API proxy configuration conforms
 - CreatedAt: Time when the API proxy was generated, formatted in UNIX time
 - CreatedBy: Email address of the Apigee Edge user who created the API proxy
 - DisplayName: A user-friendly name for the API proxy
 - LastModifiedAt: Time when the API proxy was generated, formatted in UNIX time
 - LastModifiedBy: Email address of the Apigee Edge user who created the API proxy
 - Policies: A list of policies that have been added to this API proxy
 - ProxyEndpoints: A list of named ProxyEndpoints
 - Resources: A list of resources (JavaScript, Python, Java, XSLT) available to be executed in this API proxy
 - TargetServers: A list of named TargetServers (that can be created using the management API), used in advanced configurations for load balancing purposes
 - TargetEndpoints: A list of named TargetEndpoints
Note that many of the elements of the API proxy configuration created using the simple POST method above are empty. In the following topics, you will learn how to add and configure the key components of an API proxy.
You can also read about these configuration elements in the API proxy configuration reference.
Scripting against the API
The Using the sample API proxies, available on GitHub provide shell scripts that wrap the Apigee deploy tool. If for some reason you cannot use the Python deploy tool, then you can call the API directly. Both approaches are demonstrated in the sample scripts below.
Wrapping the Deploy Tool
First, make sure the Python deploy tool is available in your local environment.
Then create a file to hold your credentials. The deployment scripts that you write will import these settings, helping you to centrally manage the credentials for your account. In the API Platform sample, this file is called setenv.sh.
#!/bin/bash
org="Your ORG on enterprise.apigee.com"
username="Your USERNAME on enterprise.apigee.com"
# While testing, it's not necessary to change the setting below
env="test"
# Change the value below only if you


text:
Skip to Main Content
This paper investigates the noise reduction in the slot-induced ground bounce noise by using differential signaling. An efficient 2-D finite-difference time-domain method together with equivalent circuits for both the differential line and the slot is established and simulations are performed for a three-layer structure to characterize the ground bounce coupling. A simple model is then proposed to understand how the differential coupled microstrip lines can help reduce ground bounce. Different factors which affect noise reduction are investigated, such as the coupling coefficient, rising time, skew of differential signaling, and structure asymmetry in slotline. An experimental setup is devised to demonstrate the noise coupling between signal lines due to the slot-induced ground bounce and significant noise reduction by employing differential signaling. A favorable comparison between the simulation and measured results validates the proposed equivalent circuit model and analysis approach.
Date of Publication: Aug. 2009

source: m-a-p/FineFineWeb


text: In this paper, the effects of rotation on the distribution of a layer of oil on a bearing raceway are analyzed in relation to the geometry of the raceway. The research is motivated by the need to understand the behavior of grease lubricated bearings. Some specific aspects of grease lubrication can be understood by approximating the contact as a starved lubricated elastohydrodynamic lubrication contact. In such a contact, the shape and thickness of the inlet layer of oil, supplied to the contact on the running track, are of crucial importance to the film formation and contact performance. Small changes in the distribution of lubricant on the rolling track, as a result of reflow or redistribution, may have a large (local) effect on the film thickness inside the contact. Starting from the Navier–Stokes equations, the free surface thin layer flow equation for axisymmetric rotating surfaces is derived. For the case of bearing applications, it is shown that a simple quasilinear equation can be derived for the layer thickness, as a function of location and time, which can be solved analytically. Experiments have been carried out, measuring the changes of a layer of oil on rotating raceways in time in relation to the rotational speed and the raceway geometry. It is shown that the simplified model accurately predicts the thin layer flow, except in a region near the outflow boundary, where the effect of the boundary condition on the layer shape is crucial. This is further illustrated by results of numerical simulations.

source: openbmb/Ultra-FineWeb


Is there a form for reporting travel expenses?
Yes. The form is intended to help you claim your travel expenses. If your research institution requires you to use forms that are comparable in terms of content or even better suited to the specific travel activity for the project, you can continue to use these forms. However, the FWF project number must appear on this form.
Statement of travel expenses (pdf, 1.10MB)
What information must always be provided when reporting travel expenses?
The statements must clearly identify who travelled where, when and for what purpose. If this is not clear from the research institution's detailed list of expenses for projects conducted at university research institutions according to the Universities Act 2002 (UG 2002), additional information must be included with the statement (additional list by the principal investigator).
How do I find out how to calculate the travel expenses?
Please ask the finance/human resources department of your research institution for projects running at a research institution subject to the Universities Act 2002 (UG 2002).
Otherwise, the following applies (based on the federal regulations governing travel costs (RGV)):
The domestic rates of the RGV are:
Per diem allowance: €26.40 per day (Rate I), €19.80 per day (Rate II)
Overnight accommodation rate: €15.00
Rate I is used for trips lasting less than 30 days, and Rate II is used for trips starting on day 31.
The per diem allowances for international travel expenses can be downloaded as a PDF document.
Please pay attention to the following breakdown of the rate levels for work-related international travel:
Rate level 1: Non-academic staff
Rate level 2a: Mag./Dr./DI/research grant recipients
Rate level 2b: Academic title: Univ.-Ass./Univ.-Doz.
Rate level 3: Academic title: Univ.-Prof.
Federal Law Gazette on International Travel Rates (pdf, 102KB)
The kilometre allowance rates are:
Kilometre allowance: €0.42
Additional amount for passengers involved in the project: €0.05
The amounts apply for domestic and international travel. The audit department usually does not accept the kilometre allowance for trips along main railway routes but rather the analogous costs of a second-class train ticket.
Please be aware that no additional costs (such as motorway tolls, motorway tax stickers, parking fees, petrol receipts) may be counted towards your travel expenses. All costs incurred are covered by the lump sum paid per kilometre. Even in the case of small amounts, any expenses mistakenly submitted twice will be reclaimed by the FWF Audit department.
back to overview


.resource_id is not None:
 try:
 self.client().<entity>.delete(self.resource_id)
 except Exception as ex:
 self.client_plugin().ignore_not_found(ex)
 return None
 return self.resource_id
For this to work for a particular resource, the entity and default_client_name attributes must be overridden in the resource implementation. For example, entity of Aodh Alarm should equals to "alarm" and default_client_name to "aodh".
handle_delete_snapshot(self, snapshot)
Delete resource snapshot.
Parameters
snapshot – dictionary describing current snapshot.
Returns
a token containing sufficient data to verify the operations status
Raise
any Exception if the delete operation failed
handle_snapshot_delete(self, state)
Called instead of handle_delete when the deletion policy is SNAPSHOT. Create backup of resource and then delete resource.
Parameters
state – the (action, status) tuple of the resource to make sure that backup may be created for the current resource
Returns
a token containing sufficient data to verify the operations status
Raise
any Exception if the delete operation failed
check_delete_complete(self, token)
Verify the delete operation completed successfully.
Parameters
token – the return value of handle_delete or handle_snapshot_delete (for deletion policy - Snapshot) used to verify the status of the operation
Returns
True if the delete operation completed and the physical resource is deleted; False otherwise.
Raise
any Exception if the delete operation failed.
check_delete_snapshot_complete(self, token)
Verify the delete snapshot operation completed successfully.
Parameters
token – the return value of handle_delete_snapshot used to verify the status of the operation
Returns
True if the delete operation completed and the snapshot is deleted; False otherwise.
Raise
any Exception if the delete operation failed.
Resource Dependencies
Ideally, your resource should not have any 'hidden' dependencies, i.e. Heat should be able to infer any inbound or outbound dependencies of your resource instances from resource properties and the other resources/resource attributes they reference. This is handled by heat.engine.resource.Resource.add_dependencies().
If this is not possible, please do not simply override add_dependencies() in your resource plugin! This has previously caused problems for multiple operations, usually due to uncaught exceptions, If you feel you need to override add_dependencies(), please reach out to Heat developers on the #heat IRC channel on FreeNode or on the openstack-discuss mailing list to discuss the possibility of a better solution.
Registering Resource Plug-ins
To make your plug-in available for use in stack templates, the plug-in must register a reference name with the engine. This is done by defining a resource_mapping function in your plug-in module that returns a map of template resource type names and their corresponding implementation classes:
def resource_mapping():
 return { 'My::Custom::Plugin': MyResourceClass }
This would allow a template author to define a resource as:
resources:
 my_resource:
 type: My::Custom::Plugin
 properties:
 # ... your plug-in's properties ...
Note that you can define multiple plug-ins per module by simply returning a map containing a unique template type name for each. You may also use this to register a single resource plug-in under multiple template type names (which you would only want to do when constrained by backwards compatibility).
Configuring the Engine
In order to use your plug-in, Heat must be configured to read your resources from a particular directory. The plugin_dirs configuration option lists the directories on the local file system where the engine will search for plug-ins. Simply place the file containing your resource in one of these directories and the engine will make them available next time the service starts.
See Configuring Heat for more information on configuring the orchestration service.
Testing
Tests can live inside the plug-in under the tests namespace/directory. The Heat plug-in loader will implicitly not load anything under that directory. This is useful when your plug-in tests have dependencies you don't want installed in production.
Putting It All Together
You can find the plugin classes in heat/engine/resources. An exceptionally simple one to start with is random_string.py; it is unusual in that it does not manipulate anything in the cloud!
Resource Contributions
The Heat team is interested in adding new resources that give Heat access to additional OpenStack or StackForge projects. The following checklist defines the requirements for a candidate resource to be considered for inclusion:
 - Must wrap an OpenStack or StackForge project, or a third party project that is relevant to OpenStack users.
 - Must have its dependencies listed in OpenStack's global-requirements.txt file, or else it should be able to conditionally disable itself when there are missing dependencies, without crashing or otherwise affecting the normal operation of the heat-engine service.
 - The resource's support status flag must be set to UNSUPPORTED, to indicate that the Heat team is not responsible for supporting this resource.
 - The code must be of comparable quality to official resources. The Heat team can help with this during the review phase.
If you have a resource that is a good fit, you are welcome to contact the Heat team. If for any reason your resource does not meet the above requirements, but you still think it can be useful to other users, you are encouraged to host it on your own repository and share it as a regular Python installable package. You can find example resource plug-ins that have all the required packaging files in the contrib directory of the official Heat git repository.


text:
REGISTRATION OPEN: Zero Robotics High School Tournament 2014
The Zero Robotics High School Tournament 2014 will take place this fall, offering U. S. high school students the opportunity to design experiments that will be tested in space.
Zero Robotics challenges high school student teams to write their own algorithms to fly the Synchronized Position Hold, Engage, Reorient, Experimental Satellites, or SPHERES. The competition starts online where teams compete to solve an annual challenge guided by mentors. Students can create, edit, share, save, simulate and submit code from a Web browser. After several phases of virtual competition, finalists will be selected to compete in a live championship aboard the International Space Station.
Registration for the competition closes on Sept. 5, 2014. The competition begins with a live webcast kickoff event from the Massachusetts Institute of Technology on Sept. 6, 2014.
For more information about the tournament and to register your team to participate, visit _URL_.
Zero Robotics is organized by Massachusetts Institute of Technology Space Systems Laboratory, Aurora Flight Sciences Corporation and TopCoder, and is sponsored by The Defense Advanced Research Projects Agency, NASA and the Center for Advancement of Science in Space.
Please email any questions about this opportunity to _EMAIL_.


text:
- The Federal Transit Administration is proposing to strengthen regulations relating to safety oversight of rail transit. This oversight is delegated to eligible states with rail transit systems.
- The proposed revisions broaden the definition of events that must be reported to the FTA by state safety oversight agencies, adds new required tasks for these agencies and encourages them to take an active role during the engineering and construction of rail transit projects.
- The FTA's actions are consistent with requirements of the 2021 infrastructure law that gave new authority to state safety oversight agencies and required them to review and approve the rail transit agency safety plans they oversee.
The FTA's state safety oversight program came into the limelight last year following a series of accidents on rail transit lines operated by the Massachusetts Bay Transportation Authority. The FTA faulted both MBTA leadership and the Massachusetts Department of Public Utilities, which oversees safety at the transit agency.
As far back as 2018, a Government Accountability Office report found that the FTA had "not provided all the necessary guidance and support to states' safety agencies to ensure they develop appropriate and effective rail transit safety inspection programs." Since 2017, the FTA has issued special directives to the Massachusetts DPU, the Illinois Department of Transportation, the Georgia Department of Transportation and the New York State Department of Transportation's Public Transportation Safety Board.
Under the FTA's proposed revisions to the state safety oversight regulation, published Nov. 15 in the federal register, all "safety events" must be reported to the federal agency within two hours. These include collisions, derailments, fires and unintended train movements. The FTA would require state safety oversight agencies to conduct "risk-based inspections" of the rail public transportation systems they oversee, reflecting new requirements of the 2021 infrastructure law. The proposed regulation also adds specific oversight requirements related to mitigating safety risks at rail transit agencies. The new rules would also give state oversight agencies the authority to review and approve the persons responsible for safety supervision at each transit agency it oversees.
The FTA's newly proposed rules are open for public comments until Jan. 16, 2024.


text:
Fragment of Temple Relief with Ducks
Originally this relief fragment belonged to a depiction of an offering bearer carrying three pintail ducks to the king. Amunemhat I used many Old Kingdom royal reliefs in the construction of his pyramid complex at Lisht, so it is sometimes difficult to distinguish reliefs made during his reign from original Old Kingdom works. Certain details of this exquisite fragment—particularly the elegant sweep of the duck's wing and the unnatural bend of the servant's fingers—suggest a Middle Kingdom date.
- Medium: Limestone. traces of paint
- Place Excavated: Lisht, Egypt
- Dates: ca. _PHONE_ B.C.E. or earlier
- Dynasty: XII Dynasty or earlier
- Period: Middle Kingdom
- Dimensions: 18 1/16 x 9 3/16 in. (45.8 x 23.3 cm) (show scale)
- Collections:Egyptian, Classical, Ancient Near Eastern Art
- Museum Location: This item is on view in Egypt Reborn: Art for Eternity, Old Kingdom to 18th Dynasty, Egyptian Galleries, 3rd Floor
- Accession Number: 52.130.2
- Credit Line: Charles Edwin Wilbour Fund
- Rights Statement: Creative Commons-BY
- Caption: Fragment of Temple Relief with Ducks, ca. _PHONE_ B.C.E. or earlier. Limestone. traces of paint, 18 1/16 x 9 3/16 in. (45.8 x 23.3 cm). Brooklyn Museum, Charles Edwin Wilbour Fund, 52.130.2. Creative Commons-BY
- Catalogue Description: Fragment of limestone tomb relief with portion of standing male servant holding in extended hands three pintail ducks; from Mastaba near pyramid of Amenemhet I, at Lisht. Condition: Broken into two pieces, upper right surface gouged. Slight remains of paint.
- Record Completeness: Best (86%)

source: HuggingFaceFW/fineweb-edu


Skip to content
Switch branches/tags
Latest commit
Git stats
Failed to load latest commit information.
Latest commit message
Commit time
Public Transport Accessibility Index
Development of Transit Score measure for CANUE - Canadian Urban Environmental Health Research Consortium.
The Public Transport Accessibility Index (PTAI) was calculated based on the method described by Saghapour, 2016[1] to measure the access level to public transport for each census tract in different metropolitan areas of Canada. This approach consists of two main procedures. The first of them relates to the distances from points of interest and their closest stops/stations. The second one includes walking catchments and CTs population densities proportions calculations. The PTAI was calculated for each census tract. In addition, the access level was calculated for each DA. In this case, the proportions between population densities in different geographic levels were not considered. A flow chart is attached to visualize the algorithm.
Input Data
The input data for calculating the PTAI are as follows:
1. Geographic data at Census Tract (CT) level
This is a shapefile contains geographic features at CT level in cencus year 2016. CT are small, relatively stable geographic areas that have a population of less than 10, 000. It's downloaded from Statistics Canada.
2. Geographic data at Dissemination Area (DA) level
This is a shapefile contains geographic features at DA level in cencus year 2016. DA are small, relatively stable geographic unit composed of one or more adjacent dissemination blocks with an average population of 400 to 700 persons. It's downloaded from Statistics Canada.
3. Postal Code Conversion File (PCCF)
The PCCF provides a correspondence between the Canada postal code and geographic areas.
4. Road network data
This is transportation feature of topographic data at the scale of 1:50 000, in 2017.
5. General Transit Feed Specification (GTFS) data
A series of text files collected in a ZIP file. Each file models a particular aspect of transit information: stops, routes, trips and other schedule data.
6. Population data
This is an excel table contains population information in census year 2016. It's downloaded from Statistics Canada.
Preprocessing Steps
The preprocessing steps are as follows:
1. Divide the CT and DA data into provinces/territories and project them to North_America_Albers_Equal_Area_Conic
Because the size of the dataset for whole Canada is large, it's easier to work with data at province/territory level. Projecting to the equal area coordinate system is because this coordinate system preserves areas and we will calculate area in the following steps.
2. Create population data table for each province/territory
3. Table joint between DA data and population data, calculate and add population density, population as new fields in DA attribute table
4. Create a summary table to calculate the population in each CT
5. Table join between CT and the summary table from step 4
6. Calculate the population density for CT, add population density, population as new fields in CT attribute table
7. Project DA and CT data to North_America_Equidistant_Conic
Later we will calculate distance, projecting to this coordinate system will get a more accurate result of distance.
8. Create CT and DA for cities using "select by attribute"
9. Create PCCF point feature and clip by the CT boundary
10. Create roads network for cities
 - Project the input data to North_America_Equidistant_Conic coordinate system
 - Clip the roads segment data using CT for cities boundaries, get roads line feature for cities
 - In Catalog, right click the roads line feature, click "New Network Dataset", and notice that the network dataset can be only created based on shapefile.
11. Download GTFS data for each city
This step can be done either by the script or manually, but it's important to check the format and the name of the files.
Steps (Demonstrated by the flow chart)
1. Estimation of the Service Frequency (SF) at each public transport access point from the timetables of each mode during the morning peak hours from 7 am to 9 am.
2. Walking Time (WT) calculations from the POI to the closest Service Access Point (SAP).
3. Calculating Total Access Time (TAT) that combines the WT and the Average Waiting Time (AWT).
4. Calculating Equivalent Doorstep Frequency (EF) for each point by dividing 30 (minutes) by TAT.
5. Estimation of the Weighted Equivalent Frequency (WEF) as a sum of all EDFs with a weighting factor in favour of the most dominant mode.
6. Calculation of the ratios between population densities in walk catchments areas and CT.
7. Calculate the PTAI
No description, website, or topics provided.
No releases published
No packages published
Contributors 4


text:
Dr Greenthumbs – Go + Grow
$35.00 Incl GST
Go + Grow has been rigorously formulated and trialled to deliver explosive vegetative growth and to create a healthy environment for your roots and soil microbes!
Only 1 left in stock
- 1 x 1.5kg Go + Grow
How to use :
- For fast vegetative growth use 1/4 to 1/2 cup per plant.
- For new soils we recommend using 1/2 cup of Go & Grow in conjunction with 1/2 cup of Bud & Bloom for each 30L of soil you are using.
- If using Go & Grow to amend your soil or as a boost to your vegetative growth, use 1/4 of a cup (more if your plants are heavy feeders).
- For in-ground use, use 1-2 cups per square meter as required.
- This product is best applied 2-4 weeks prior to planting.
Both Go + Grow and Bud + Bloom are designed to be used in conjunction with the gardeners liquid feeding regime. If you are looking for a "water only" option please see our very popular Super Soil!


text:
Distance from USA
Asheville to Chattanooga distance
The driving distance or the travel distance from Asheville to Chattanooga is 226.5 Miles
. The straight line distance from Asheville to Chattanooga is 160.1 Miles. The kilometer based traveling distance is 364.458 KM and the KM based straight line distance is 257.7 KM.
Asheville location and Chattanooga location
Asheville is located at the latitude of 35.594981 and the longitude of -82._PHONE_. Asheville is situated at the latitude of 35._PHONE_ and the longitude of -85._PHONE_. The traveling source point address is Asheville, NC, USA. The destination travel point address is Chattanooga, TN, USA.
Asheville to Chattanooga travel time
The travel time between Asheville and Chattanooga is 3.52 hours
. We assumed that you are traveling at the speed of 60km per hour from Asheville to Chattanooga. The given travel time between Asheville to Chattanooga may vary based on the travel route, speed and consistent traveling.
Asheville location and Chattanooga fuel cost
The Fuel cost( Gas cost, Petrol cost) to travel from Asheville location to Chattanooga is 30.37 USD. The given fuel cost may vary based on the fuel consumption of your vehicle and varying price of the fuel. ;
Asheville travel distance calculator
You are welcome to find the travel distance calculation from asheville
You are viewing the page distance between asheville and chattanooga. This page may provide answer for the following queries. what is the distance between Asheville to Chattanooga?. How far is Asheville from Chattanooga?. How many kilometers between Asheville and Chattanooga?. What is the travel time between Asheville and Chattanooga. How long will it take to reach Chattanooga from Asheville?. What is the geographical coordinates of Asheville and Chattanooga?. The given driving distance from Chattanooga to Asheville may vary based on various route.


R - "\\" and "$" signs
#1
[SOLVED] R - "\\" and "$" signs
I was looking into some packages on GitHub and trying to make sense of functions in these packages.
I came across this function to read csv-files (from ProjectTemplate package). I was however wondering what the "\\" and "$" signs stand for.
I suppose "\\" is something like "any characters" or has to do with the "." preceding zip. I also don't understand why the "$"-sign is used at the end of zip. If you just want to check if ".zip" is part of a filename why not just use "\\.zip"?
To conclude (although this isn't strictly speaking an R related question), what is the best way to search for the meaning of symbols (or e.g. logical operators) in google or what is a good R-resource to look up such things?
Code:
csv.reader <- function(data.file, filename, variable.name)
{
 if (grepl('\\.zip$', filename))
 {
 tmp.dir <- tempdir()
 tmp.path <- file.path(tmp.dir, data.file)
 file.copy(filename, tmp.path)
 unzip(filename, exdir = tmp.dir)
 filename <- file.path(tmp.dir, sub('\\.zip$', '', data.file))
 }

 assign(variable.name,
 read.csv(filename,
 header = TRUE,
 sep = ','),
 envir = .GlobalEnv)
}
Thanks!

Last edited:
bryangoodrich
Probably A Mammal
#2
The "\\" is used in the regular expressions for grep and sub. Read the help files on them. The "\" is an escape character saying "within this string, the following character should be taken as is." Thus, if you want to actually look for "\" you need to escape it. However, when doing regular expressions in R, you have to "double escape" which is why you see "\\". In R regular expressions like these, if you wanted to actually include "\" you would have to use "\\\". Again, see the help file.
The "$" has a number of meanings, such as identifying a list element.
Code:
x <- list()
x$foo <- rnorm(10)
x$bar <- runif(10)
x
However, in the function above it is being used in a regular expression, again. See the help files or Google about this. The "$" means "look at the end of the string." Thus, the two instances are looking for files that end in ".zip" and the "\\" escapes the "." which has a special meaning in regex.

Dason
Ambassador to the humans
#3
To answer your question about the R code: grepl is a form of grep that returns a boolean value instead of the matching response. If you want to understand this better you should probably try to understand regular expressions. The period is a special symbol in regular expression. When left by itself it just means "any character". That's not what the programmer wanted - they wanted the literal period character. To do that we need to escape the period so that the regular expression knows we want a period and not the special "any character" symbol it thinks it should mean. In most languages we only need to use one slash to escape the period ("\.") but in R we need two for some symbols ("\\."). The reason they use the dollar sign ($) at the end of the regular expression is to denote that they only want to match the expression if it occurs at the end of the string of interest. For instance they want to match "My_Wallaby_Videos.zip" or "CATSLOL.zip" but not "My.zipper.txt" (notice that .zip occurs in that last one but not at the very end).
To answer the question about searching for symbols: I've hear decent things about _URL_ It's a search site that doesn't strip symbols away.
To answer your question about searching for R stuff: R Seek is probably the way to go there!
Edit: **** ninjas...

Dason
Ambassador to the humans
#4
In R regular expressions like these, if you wanted to actually include "\" you would have to use "\\\". Again, see the help file.
Not quite. The reason we need to double escape in R initially is so that R recognizes that we want to include a "\" but if we don't double escape it then it will think we're including a special character and it'll mess up.
Code:
> x <- c("\\", "C:\\Program Files", "CATSLOL.zip")
> grep("[\\]", x)
[1] 1 2
> grep("\\\", x)
+ Oh noes! At the moment it still thinks I'm continuing the string
+ Because I started the string then had \\ which gives a slash and
+ then I followed that with \" which is an escaped quote.
+ So it's going to think this whole thing is the regular expression.
+ Oh my.
+ ", x)
integer(0)
>
> grep("\\", x)
Error in grep("\\", x) :
 invalid regular expression '\', reason 'Trailing backslash'
>
> grep("\\", x, fixed = T)
[1] 1 2


text:
Definition of anaemia
a. - A morbid condition in which the blood is deficient in quality or in quantity. 2
The word "anaemia" uses 7 letters: A A A E I M N.
No direct anagrams for anaemia found in this word list.
Words formed by adding one letter before or after anaemia (in bold), or to aaaeimn in any order:
s - anaemias
Shorter words found within anaemia:
aa ae ai aim ain am ama amain amen ami amia amie amin amine amnia an ana ane anemia ani anima anime em en in ma mae main man mana mane mania me mean men mi mien mina minae mine na nae nam name ne nema nim
List shorter words within anaemia, sorted by length
All words formed from anaemia by changing one letter
Browse words starting with anaemia by next letter


Free Dictionary
Free Dictionary
Home ×
Link Link Link Link
Search Result for "lambast":
Wordnet 3.0
VERB (2)
1. beat with a cane;
[syn: cane, flog, lambaste, lambast]
2. censure severely or angrily;
- Example: "The mother scolded the child for entering a stranger's car"
- Example: "The deputy ragged the Prime Minister"
- Example: "The customer dressed down the waiter for bringing cold soup"
The Collaborative International Dictionary of English v.0.48:
lambast \lam*bast"\, v. t. Same as lambaste. [WordNet 1.5]


Skip To Content
Is Null
Available with Spatial Analyst license.
Available with Image Analyst license.
Summary
Determines which values from the input raster are NoData on a cell-by-cell basis.
Returns a value of 1 if the input value is NoData and 0 for cells that are not.
Illustration
Is Null illustration
OutRas = IsNull(InRas1)
Usage
Syntax
IsNull (in_raster)
ParameterExplanationData Type
in_raster
The input raster being tested to identify the cells that are NoData (null).
The input can be either integer or floating-point type.
Raster Layer
Return Value
NameExplanationData Type
out_raster
The output raster.
The output identifies with an integer value of 1 which cells in the input are NoData. If the input is any other value, the output is 0.
Raster
Code sample
IsNull example 1 (Python window)
This example identifies which cells in the input raster are NoData, and outputs the result as an IMG raster.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outIsNull = IsNull("degs")
outIsNull.save("C:/sapyexamples/output/outisnull.img")
IsNull example 2 (stand-alone script)
This example identifies which cells in the input raster are NoData, and outputs the result as a Grid raster.
# Name: IsNull_Ex_02.py
# Description: Find which cell values of the input raster are NoData
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "degs"
# Execute IsNull
outIsNull = IsNull(inRaster)
# Save the output
outIsNull.save("C:/sapyexamples/output/outisnull")
Licensing information
 - Basic: Requires Spatial Analyst or Image Analyst
 - Standard: Requires Spatial Analyst or Image Analyst
 - Advanced: Requires Spatial Analyst or Image Analyst
Related topics


text:
Clover seed brings benefits to Oregon's growers and the environment
Expanding the market for crimson clover seed means economic growth and fertilizer reduction
Crimson clover isn't just a pretty sight to passersby – the seed crop was worth more than $5 million to Oregon in 2011. OSU Extension is working to boost that number by promoting the clover's nitrogen-producing qualities to growers in other states.
Crimson clover has long been used as a cover crop, and because it puts nitrogen into the soil, it can help growers save on fertilizer and reduce chemicals from leaching into groundwater. More than 95 percent of the crimson clover seed produced in the United States comes from western Oregon. Of the 7,650 acres harvested last year in Oregon, 63 percent of it came from Washington County.
Extension field crop faculty member Nicole Anderson has been working with the Oregon Clover Commission to form partnerships with local Extension agents, crop consultants and growers in other states. Anderson and the commission also created a popular brochure with recommendations for establishing and managing crimson clover cover crops.
Source: Oregon Agricultural Information Network, Nicole Anderson


text:
Visualization of water surface using GPU
MetadataShow full item record
Several methods for simulating a body of water and a water surface has been investigated. A method by Layton & van de Panne based on a simplification of the Navier-Stokes equations was selected. A number of simplifications was made to increase the performance of the method, and it was implemented on the programmable graphical processing unit (GPU) using the Jacobi method to solve the linear equations. A conjugate gradient solver was also implemented on the GPU. The performance of the methods were measured and recorded.


text:
Peter Jonsson, Christer Bäckström
One of the most widespread approaches to reactive planning is Schoppers' universal plans. We propose a stricter definition of universal plans which guarantees a weak notion of soundness not present in the original definition. Furthermore, we isolate three different types of completeness which capture different behaviours exhibited by universal plans. We show that universal plans which run in polynomial time and are of polynomial size cannot satisfy even the weakest type of completeness unless the polynomial hierarchy collapses. However, by relaxing either the polynomial time or the polynomial space requirement, the construction of universal plans satisfying the strongest type of completeness becomes trivial.


text:
(PhysOrg.com) -- Technology developed at The University of Nottingham will be giving James Bond the edge over his enemies when the latest high octane 007 adventure hits cinema screens later this week.
When Daniel Craig reprises the role of Fleming's iconic superspy in The Quantum of Solace, he will continue the franchise's special relationship with Aston Martin by taking the wheel of their flagship model, the DBS.
And a new lightweight but super strong material developed by researchers in the University's Polymer Composites Group, in collaboration with Aston Martin engineers, will be helping to ensure that any high-speed chases leave him stirred, but not shaken.
Underneath the cool, sleek exterior of the DBS is a highly engineered body structure which contains components made using a unique process, Directed Carbon Fibre Preforming (DCFP). During the process, carbon fibres are placed by a robot into a carefully controlled form and epoxy resin is injected around the fibres to create a carbon fibre composite component.
The DCFP process produces a material that is both light and incredibly strong and is able to withstand huge impacts in the event of a crash, making it ideal in the use of high performance cars like the DBS. In addition to this, the material is greener than many of its mainstream counterparts as it can be recycled in accordance with European vehicle end of life directives.
Professor Nick Warrior, in the University's Faculty of Engineering, said it was exciting to think that technology which originated in Nottingham would be seen by cinema-goers around the world.
He added: "The high strength and low weight characteristics of the DCFP have enabled the Aston Martin designers to increase the performance of the DBS reduce its fuel consumption and ultimately minimise 007's carbon footprint — we hope to be able to spin-out DCFP to more affordable vehicles in the near future."
The DCFP process is part of a longstanding research collaboration between The University of Nottingham and Aston Martin. A unique carbon fibre 3-D braiding process, developed by the research group, was an integral component used in the windscreen pillar of the Aston Martin Vanquish, seen in the 20th James Bond film, Die Another Day.
The DCFP technology was also used in the Aston Martin DBSV12 car seen in Daniel Craig's first outing as Bond, Casino Royale. The car was seen in a spectacular crash in which stunt driver Adam Kirley used an air cannon behind the driver's seat to propel the car into a record seven rolls.
The DCFP process was developed during the ALBOS project (Affordable Lightweight Body Structures), government-funded Technology Strategy Board (TSB) programme through the Department for Business, Enterprise and Regulatory Reform (BERR). Aston Martin, The University of Nottingham and composites materials suppliers Hexcel and Toho Tenax formed the industrial partnership to create the new process. The project was managed by Qinetiq.
The University continues to work with Aston Martin in a new BERR TSB project, Advanced Structural Preforming.
Provided by University of Nottingham
Explore further: Sensitive bomb detector to rove in search of danger


Regripping Instructions
If you don't feel comfortable regripping your own clubs, contact you local Golf Pro, and they will be able to do it for you.
Step 1:
Apply the white side of the tape lengthwise along a clean shaft. Allow 1/4 of an inch to extend beyond the butt end of the shaft.
**Note: This tape can be applied over build up tape, just like the solvent-activated, double coated tape.**
Step 2:
Remove the white liner and carefully wrap the tape around the shaft. Twist the end of the tape and push the twist inside the butt end of the shaft. This will prevent water from entering the shaft during the grip installation process.
Step 3:
Plug the hole in the grip cap with a tee or cover the hole with your finger, then pour solvent both into the grip and along the surface of the tape. Cover the open end of the grip and shake to thoroughly wet the entire inside.
**Note: One drop of liquid dish soap can be added to 16 ounces of water to make the grip slide on easier.**
Step 4:
Pour the solvent from the grip along the entire length of the solvent soluble tape to again moisten the tape.
**Note: Shake the grip briskly to remove any excess solvent that may be trapped.**
Step 5:
It is very important that the entire surface of the tape is wet (be sure that the butt end is also saturated) to facilitate installation. Position the open end of the grip just beneath the shaft butt and quickly slide the grip up and over the shaft until the shaft hits the end cap.
**Note: The grip should be applied as closely as possible in the correct alignment at this point.**


Technically Strong Market
Definition of 'Technically Strong Market'
A market in which both open interest and prices are increasing or in which both open interest and prices are decreasing. A market in which trading volume corresponds to price change where increasing volume accompanies increasing prices, and decreasing volume accompanies decreasing prices is considered technically strong.
Investopedia explains 'Technically Strong Market'
Technical analysts try to profit from trends in the prices of securities. They believe that historical pricing trends tend to repeat themselves, and by using price charts to identify these trends they can determine the best times to buy or sell to make a profit. Technical analysts are not concerned with fundamentals like the quality of a company's product or service, or its management.
comments powered by Disqus
Hot Definitions
 1. Joint Venture - JV
 2. Aggregate Risk
 3. Organic Growth
 4. Family Limited Partnership - FLP
 5. Yield Burning
 6. Marginal Analysis
Trading Center


{"community_link":"_URL_
Router data as components inputs in Angular v16
Router data as components inputs is a new feature coming in Angular 16. In this article, we will explore how it works, and learn how to use it.
Router data as components inputs in Angular v16
Up until now, we have considered properties decorated with @Input as properties bound to the DOM properties. These properties can be used to pass data from parent to child. For instance, if a child component has an input property called name, we can use it like this:
<app-child name="John"></app-child>
Starting from Angular version 16, we can use inputs to declare properties that will bind to route parameters.
What does this mean? Let's consider the following route definition:
const routes: Routes = [
 {
 path: 'hero/:id',
 component: ChildComponent,
 },
];
When we need to obtain the ID in our component, such as when fetching a hero using its ID, we would do the following in the component:
export class ChildComponent {
 constructor(route: ActivatedRoute) {
 route.params.subscribe((params) => console.log(params.id));
 }
}
Now we can use @Input for that. It's as simple as that.
export class ChildComponent {
 @Input() id: string;
}
That's not all! We can access variety of route parameters, including:
 - route parameters
 - query parameters
 - route data from data property
 - route data from resolvers
Let's quickly check the rest, starting from this route definition:
const routes: Routes = [
 {
 path: 'hero/:id',
 component: ChildComponent,
 resolve: {
 heroName: () => 'Yoda',
 },
 data: {
 heroPower: 'Force',
 },
 },
];
We have
 - id as route parameter
 - heroName as data from resolver
 - heroPower as data from data property
In the component, we can add input properties for all of these, as well as an additional one for a query parameter, as follows:
export class ChildComponent {
 @Input() id?: string;
 @Input() heroName?: string;
 @Input() heroPower?: string;
 @Input() heroParameter?: string;
}
That's it! Everything works automatically, and input properties pick up the current route parameters without the need for injecting ActivatedRoute into the component anymore.
Have fun and enjoy Angular 16 features! 🤓


Volume Snapshots
Volume snapshots are immutable, point-in-time images of the contents of one or more volumes.
FlashArray User Guide.
All Pure Storage® FlashArray devices support volume snapshots. Because of the innovative technology used to implement the volume snapshots, snapshot creation and its lifecycle management does not impact an array's performance. Generally snapshots are classified as crash consistent or application consistent. Crash consistent snapshots preserve the data at the moment of snapshot but without the application awareness that snapshot is created. It is conceivable that open files will not be properly protected with a crash consistent snapshot. Application consistent snapshots ensure that all pending transactions and file system operations are completed at the time the snapshot is created. Application consistent snapshots provide reliable means of full data recovery.
MongoDB Replica Sets
MongoDB has been designed and developed with high availability features which are provided by replica sets. A replica set duplicates database data across all replica set members. At a minimum, three servers are required to configure the replica set. One of the replica set members serves as a primary with two or more secondaries (slaves). By default, the primary replica set member is responsible for read and write database operations. In the event of a primary failure, the remaining members elect a new primary. MongoDB 4.0 supports up to fifty nodes in a replica set with seven members participating in the primary member election. Besides high availability, the replica set model provides great flexibility in situations where software and hardware updates are required. Nodes can be safely evacuated from a replica set without impacting database performance and availability. Moreover, delayed replica set members can be utilized for a database point in time recovery operations or backups. Replica set members can be geographically dispersed and located in different data centers. An example of a five node MongoDB replica set is shown in Figure 1.
Figure 1.
Taking Advantage Of FlashArray Data Services With MongoDB
In most cases, MongoDB replica sets have been deployed on servers with Direct-Attached Storage (DAS). While using servers with DAS offers some benefits, there are also many challenges associated with this deployment model such as lack of integrated data services (data reduction and snapshots). The benefits of FlashArray data reduction are covered in MongoDB: (Disk) Space The Final Frontier blog. To determine how volume snapshots can benefit MongoDB FlashArray deployments, let us examine the replica set member failure or scheduled maintenance activity and corresponding recovery scenario. In a MongoDB replica set, the primary node maintains oplog (operations log) which is a rolling record of all inserts and updates. Secondary nodes also posses the oplog copy which is asynchronously updated from the primary. If the secondary node is unavailable for an extended period of time, the oplog on the primary may be overwritten without being duplicated to the secondary. Once the oplog has been overwritten or the disk subsystem on the failed node has been corrupted or lost, content of the entire database must be copied from another surviving node. This process, depending on the size of the database, workload and the network throughout can be time consuming. During the replication process, MongoDB replica set is at higher risk of failure should another node or nodes malfunction.
This risk can be easily reduced or mitigated if MongoDB data files are stored on FlashArray. By utilizing volume snapshots, the failed node may be recovered much faster than copying database files across the network. The possible MongoDB replica set with a FlashArray deployment is shown in Figure 2.
Figure 2.
MongoDB Replica Set Node Recovery Using FlashArray Snapshots
By utilizing MongoDB's replica set high availability features and FlashArray snapshots, the failed node recovery process is simple and efficient. The steps outlined below provide a general MongoDB replica set node recovery guidelines where database disks (dbpath) are located on FlashArray volumes. See Figure 3 (animated).
 1. Secondary Replica Set Member B: down for maintenance or failed
 2. Secondary Replica Set Member A: flush writes to disk and lock the database (db.fsyncLock())
 3. FlashArray: Snapshot database volume or volumes connected to Secondary Replica Set Member A locked in step 1 (purevol snap)
 4. Secondary Replica Set Member A: Unlock the database locked in step 1 (db.fsyncUnlock())
 5. FlashArray: Copy snapshot to volume/volumes or overwrite from snapshot existing volume/volumes which are connected to the recovering node (purevol copy)
 6. Secondary Replica Set Member B: Start mongod process on the recovering node (/usr/bin/mongod)
 7. Verify the replica set status (rs.status() and rs.printSlaveReplicationInfo())
Note: If the volume snapshot (step 3) is not required for longer term retention, volume copy with overwrite option (purevol copy –overwrite) may be executed eliminating step 5.
Figure 3 (animated).
Replica Set Secondary Node Recovery Test
The criterion for successful recovery was when the tested node reached the SECONDARY state. The node status can be obtained by executing rs.status() command.
In Pure Storage lab, the recovery of a 230 GB idle (no workload) database on the secondary replica set member with an empty dbpath (no database files) using MongoDB replication mechanism took approximately eighteen minutes. Recovering the same secondary node using FlashArray snapshots completed in less than a minute after starting mongod process.
Repeating the same test scenario with database under load (50% reads 50% updates) the recovery time on node with an empty file system (dbpath) took approximately twenty five minutes. Restoring identical node with FlashArray snapshot, the node state change from STARTUP2 to SECONDARY occurred in less than a minute. See table below.
MongoDB Replication FlashArray Snapshot Improvement
No Workload 18 minutes 1 minute 18x
Workload (50%reads 50% updates)
25 minutes 1 minute 25x
All data services such as snapshot, Snap to NFS, CloudSnap, data reduction, synchronous and asynchronous replication are included with all FlashArray models. By taking advantage of volume snapshots, MongoDB replica set instances can be quickly recovered reducing the node downtime and without increasing the network congestion and bandwidth requirements. Furthermore, adding a new replica set node will be also greatly simplified and significantly faster than native MongoDB replication.
As an additional benefit, utilizing Snap to NFS or Purity CloudSnap™ and MongoDB delayed replica set members, FlashArray volume snapshots can be offloaded to another media providing convenient and inexpensive (lower storage cost) means of maintaining multiple point in time database recovery options.


text:
It's my body: calls to ChildLine Scotland about sexual health and wellbeing
MetadataShow full item record
The last decade has seen increasing efforts by central and local government to target sexual health services and initiatives at young people in order to improve their sexual health. However, for Scotland's Sexual Health Strategy and associated initiatives to be effectively implemented, more information is needed about children and young people's own views, concerns and experiences regarding their sexual health and well-being. This briefing reports on a research study funded by the Scottish Executive and carried out by the Centre for Research on Families and Relationships (CRFR) and ChildLine Scotland to explore over 14,000 calls made to the helpline in this area. Calls to ChildLine Scotland about sexual health and well-being issues, including sexual abuse, have increased steadily over the years and are the primary reason for calling in over a quarter of all calls. These calls reflect children's own agendas, supporting an approach which treats children and young people as competent reporters on their own lives.


Export (0) Print
Expand All
Expand Minimize
NSEventWrite (Transact-SQL)
SQL Server 2005
Submits one event to the events table for the event class. You must use NSEventBeginBatchEventClassName to open a new batch and NSEventFlushBatchEventClassName to close the batch. You can submit multiple events before closing the batch.
[ schema_name. ] NSEventWriteEventClassName
 [ _USER_ = ] event_batch_ID,
 [ _USER_ = ] event_class_field_value [,...n]
[ _USER_ = ] event_ batch_ID
Is the ID of the event batch for the event. The event batch ID number must exist in the event batches table. event_batch_ID is bigint and has no default value.
[ _USER_ = ] event_class_field_value
Provides a name/value pair for an event class field. One event_class_field_name and event_class_field_value pair can be supplied for each column in the event table. If the column has a default value or accepts NULL, the name/value pair is not required.
0 (success) or 1 (failure)
Microsoft SQL Server Notification Services creates the NSEventWriteEventClassName stored procedure in the application database when you create the instance. When you update the application, Notification Services recompiles the stored procedure.
To use a query to obtain a set of events and then submit them to an application, use NSEventSubmitBatchEventClassName.
The following example shows how to begin an event batch, write one event, and then close the event batch. The event provider for the event batch is StockEP and the event batch ID number is returned in the _USER_ output parameter.
DECLARE _USER_ bigint;
EXEC dbo.NSEventBeginBatchStockEvents N'StockEP', _USER_ OUTPUT;
EXEC dbo.NSEventWriteStockEvents
EXEC dbo.NSEventFlushBatchStockEvents _USER_;
SELECT _USER_ 'Event Batch';
This example assumes that you are using SQL Server Management Studio, because the event batch ID is returned in the SELECT statement so you can see which event batch was created.
Community Additions
© 2015 Microsoft


text:
a typical SoDIMM.
The SoDIMM package proved so compelling it has been adapted for SDRAM modules. The SDRAM SoDIMMs are slightly longer than those used by older technologies, measuring 2.67 inches (67.6 millimeters) long.
As with full-size DIMMs, SDRAM SoDIMMs come in two physically incompatible styles for SDR and DDR.
SDR SoDIMMs have 144 contacts on their edge connectors. DDR modules have 200. Each style of SoDIMM has a single notch, but the position of the notch is different for SDR and DDR modules. With SDR modules, the notch is only slightly offset from the center; with DDR modules, the notch is near one edge (the pin 1 side) of the module. Figure 16.7 shows the difference in the notches used by the two varieties of SDRAM modules.
|[ Team LiB ]|


Home of RF and Wireless Vendors and Resources
One Stop For Your RF and Wireless Need
Harvard architecture vs Von Neumann architecture-Difference between Harvard and Von Neumann architectures
This page compares Harvard architecture vs Von Neumann architecture and mentions difference between Harvard and Von Neumann architectures. Both of these are different types of CPU architectures used in DSPs (Digital Signal Processors).
Harvard Architecture
Harvard architecture
The figure-1 depicts harvard architecture type.
➨It will have separate memories for data and instructions(i.e. code)
➨It will have two sets of address/data buses between CPU and memory.
➨Harvard architecture allows two simultaneous memory fetches.
➨Most DSPs available today use harvard architecture for sreaming of data due to greater memory bandwidth and more predictable bandwidth.
Examples of Harvard architecture based microprocessors:
ARM9 and SHARC (DSP)
Von Neumann Architecture
Von Neumann architecture
The figure-2 depicts Von Neumann architecture type.
➨It will have common memory to hold data and instructions.
➨It will have single set of address/data buses between CPU and memory.
Examples of Von Neumann architecture based microprocessors:
ARM7 and Pentium
Also refer difference between RISC and CISC, RISC vs CISC➤➤.
What is Difference between
difference between FDM and OFDM
Difference between SC-FDMA and OFDM
Difference between SISO and MIMO
Difference between TDD and FDD
Difference between 802.11 standards viz.11-a,11-b,11-g and 11-n
RF and Wireless Terminologies


text:
Juniper Research forecasts that 80% of global operator-billed service revenue will be attributable to 5G services by 2027
Mobile operators are forecast to generate $625 billion from 5G services globally by 2027, up from $310 billion in 2023, according to recent analysis by Juniper Research.
The new report predicts that this growth of 100% over the next four years will be chiefly driven by the migration of mobile subscriptions to 5G networks, and the increasing inclusion of eSIMs in devices such as laptops and Wi-Fi hotspots.
Juniper Research also forecasts that 80% of global operator-billed service revenue will be attributable to 5G services by 2027; allowing operators to secure a return on investment into their 5G networks. However, the increasing implementation of eSIMs into new devices will drive global cellular data traffic to grow by over 180% between 2023 and 2027, as data traffic is offloaded from fixed and Wi-Fi networks to 5G.
"eSIM-capable devices will drive significant growth in cellular data, as consumers leverage cellular networks for use cases that have historically used fixed networks. Operators must ensure that networks, including 5G and upcoming 6G networks, are future‑proofed by implementing new technologies across the entirety of networks," said research author Frederick Savage.
To prepare for this increasing demand in cellular data, the report predicts that 6G standards must adopt innovative technologies that are not currently used in 5G standards. It identified Non‑terrestrial Networks (NTNs) and sub-1 THz frequency bands as key technologies that must be at the center of initial trials and tests of 6G networks, to provide increased data capabilities over existing 5G networks.
However, the research cautions that the increased cost generated by the use of satellites for NTNs and the acquisition costs of high-frequency spectrum will create longer timelines for securing return on 6G investment for mobile operators. As a result, it urges the telecommunications industry to form partnerships with specialists in non-terrestrial connectivity, to benefit from lower investment costs into as-yet-unstandardized 6G networks.
A separate report by Juniper Research recently forecasted that the embedded SIM market is expected to grow from about $4.7 billion this year to $16.3 billion by 2027—representing 249% growth during the period.
The total number of smartphones that use eSIM will jump from about 986 million this year to 3.5 billion by 2027, Juniper estimates. The analyst firm say that eSIM-enabled consumer devices, like Apple's eSIM-only iPhone 14, will trigger increased operator acceptance of the technology.
China and India are expected to account for about 25% of smartphones that use eSIM by 2027, with the United States making up about 10% of the projected smartphone eSIM market. But, Juniper notes, that depends on the tech being developed to the satisfaction of the Chinese government, which currently does not allow its domestic device manufacturers to sell eSIM devices in their home market because eSIM does not allow the level of device monitoring and tracking required by the Chinese government. Juniper said that growth of eSIM in China will depend on country-specific standards being implemented.


text:
3rd International Conference on Environment, Resources and Energy Engineering (EREE 2021) will be held on July 15-17, 2021 in Singapore.
With increasingly serious environmental pollution, developing an economic, simple and efficient technology of Resources, Environmental & Energy Engineering has now become a hot topic. EREE 2021 is an optimal platform for academic communications, exchange of ideas and inspirations between specialists and scholars in the fields of Environment, Resources and Energy Engineering, including hot issues such as solar energy, natural environment and renewable resources. The event will encourage the exploration of the potential synergies that may arise from pooling the different perspectives.
Call For Paper
Topics of interest for submission include, but are not limited to:
Land resources environment
Environmental analysis and monitoring
Environmental analysis and methods
Environmental protection material
Forest cultivation and protection
Environmental safety and health
Global environmental change and ecosystems management
Climate and climatic changes
Environmental restoration and ecological engineering


Ilan Manouach
Ilan Manouach (Athens, 1980) is a multidisciplinary artist with a specific interest in conceptual comics. His book works claim for the importance of comics as a materially self-reflexive medium, unaffiliated to any general history of the medium. Since 2014, he concentrates his practice around Shapereader, a community-specific tactile constructed language, initially designed and conceptualized for the purposes of visually impaired users that promotes an embodied textual experience. In addition, he works as a book publisher and a musician. He is a PhD researcher at the Aalto University.


Creating and managing blocks on your Vineyard
Blocks in Platfarm let you define management zones, and create jobs quickly.
Blocks contain attributes of:
 1. a name
 2. a Vineyard
 3. a Variety
 4. Vine rows
Vinerows are the most important geographical element of your Vineyard and blocks. You do not need to define the geographical area of your block boundaries, the system will automatically identify them based on the vine
You can use block colours to help create visual separation of your vineyard maps. For example give all Shiraz blocks the colour blue, and Grenache the colour orange.


Mini Light Bar - Small in Size But Big In Performance
by：JINCHU 2020-06-18
A mini light bar is quite compact normally cost under $300. It comes good not just for smaller cop vehicles but also for the bigger ones particularly budget is one of your concerns. These mini light bars make sure that you have a powerful emergency warning signal that can be relied upon. The main issue with a mini bar is its smaller size can mean lesser array of features and a less powerful warning signal. However, what mini bars miss in terms of number LED elements, they more than make up with good technology and optical enhancements. One of extra impressive features in the mini light bar is the utilization of advanced modern technology such as ROC LED technology, total internal reflection technology and light house optics, which help you make the most of this lighting. The technology helps you in maximising the lighting out from the LED elements, sometimes providing good therapy of the various light beam parameters and extending the beam far and wide. The use of optic spreading filters for example, can be useful for expanding the beam on either direction, horizontally and up and down. There are slide in and double Fresnel lenses which are present to help enhance the quality of the beam, ensuring that it travels farther and wider without much dispersion. A mini light bar can also provide 360-degree light distribution, uniformly in all directions. You can come up a bar that includes a pair of LED light strobes with a diamond mirror installed in between them. In other cases, there are LED elements which are beautifully placed in the parabolic centre of chrome or aluminium deflectors. This helps to ensure that the light emanation from the LED elements is collected and then deflected in an outwardly direction. There both are coloured as well as white LEDs of different sizes used in mini bars. Some mini bars have a grouping of 5mm LEDs which usually are used to offer the lighting. The 1, 2 or 5 Watt LEDs are utilized in modules of 4 or 8. Gen III LEDs moved to such small modules provide bright and effective lighting without taking too much disk space. Coloured lenses can provide the chances to flash a multi-coloured beam that can grab the attention with greater potency. A mini light bar with dual coloured LEDs, lenses or filters with flash patterns incorporated in without the requirement of an external flasher, can be greatly efficient in sending across a powerful warning signal. The mini bar and smaller in size can be mounted with ease with the help of swivel brackets or stainless steel ties. It is possible to synchronize the flash patterns belonging to the mini bar with another dash light or deck light bar for a more effective warning point. There are light bars which come without any dark spots or shadows. Some mini bars along with as many as 20 flash patterns, along with default patterns that can be easily operated, through pattern selection push button switches.
Custom message
Chat Online 编辑模式下无法使用
Chat Online inputting...


text:
ELABORATELY TRANSFORMED MANUFACTURES
This article presents statistics for manufactured goods classified by degree of transformation. The basic premise of this classification is that each manufactured product reaching the point of sale will have been subjected to one or more processes beginning at a raw material state and passing through a range of manufacturing processes and intermediate products to become a final end use product. The number and complexity of such processes determine the category for degree of transformation to which that product is classified. Readers should note that the statistics presented are still experimental as the classification used to categorise goods by degree of transformation is still under development by the ABS. Statistics in graph 19.8 and table 19.9 are indicative rather than precisely classified estimates.
The concept of degree of transformation is also related to the concept of value adding. The amount and complexity of transformation strongly influence the amount of value added by manufacturing processes. However, in making the connection between degree of transformation and value adding, it should be noted that other factors also influence the amount of value added by manufacturing activity. Furthermore, for a given Australian produced final product, not every transformation required to produce the product has necessarily been carried out in Australia.
The classification has five broad categories. However, the first three of these have been combined together in the graph and table below because the boundaries between the categories have not been finally established. The categories are:
- Primary products (such as butter, pasteurised milk, red meat, hides and skins)
- Primary product manufactures (such as beer, flour, refined sugar, wood pulp)
- Simply transformed manufactures (such as clay bricks, paper, pig iron, plaster)
- Moderately transformed manufactures (such as broadwoven fabrics, soaps and detergents, steel wire)
There are slight differences between the classification used for production statistics and the classification used for export statistics. However, both classifications describe elaborately transformed manufactures in a virtually identical manner.
Graph 19.8 shows that the proportions of Australian produced goods classified as simply modified, moderately modified or elaborately modified have remained virtually unchanged over the three years to 1998–99.
Table 19.9 shows that Machinery and equipment manufacturing is the industry subdivision with the greatest proportion of elaborately transformed manufactures among its products, while Metal product manufacturing and Wood and paper product manufacturing have the most even spread of values across the various degrees of transformation categories.
- Elaborately transformed manufactures (such as clothing, motor vehicles, machinery, paint)
Table 19.10 shows that elaborately transformed manufactures now exceed 20% of goods exported, and remain the fastest growing category of exports.
19.9 DEGREE OF TRANSFORMATION OF MANUFACTURED GOODS(a)
|Industry subdivision |
|Food, beverage and tobacco manufacturing |
|Textile, clothing, footwear and leather manufacturing |
|Wood and paper product manufacturing |
|Printing, publishing and recorded media |
|Petroleum, coal, chemical and associated product manufacturing |
|Non-metallic mineral product manufacturing |
|Metal product manufacturing |
|Machinery and equipment manufacturing |
|Other manufacturing |
|Total manufacturing |
|(a) Excludes approximately $600m of goods which have not yet been classified to any degree of transformation category.|
(b) Also includes products classified to the 'Primary products' and 'Primary product manufactures' categories.
Source: Manufacturing Australia (8225.0).
19.10 DEGREE OF TRANSFORMATION OF EXPORTED GOODS(a)
|Category of goods|
1988-89 to 1998-99
|Unprocessed primary products and minerals |
|Processed primary products and minerals|
|Simply transformed manufactures|
|Elaborately transformed manufactures|
|Other (mainly non-monetary gold)|
|(a) As classified by the Department of Foreign Affairs and Trade (DFAT).|
Source: Exports of primary and manufactured products, Australia, 1999 (DFAT).
This page last updated 25 May 2009


text:
Similarities between Yellowknife Bay and the Kimberley as seen from orbit
The image on the left shows the Yellowknife Bay area. The red arrow points to a scarp, the contact between lower Sheepbed mudstone and upper Gillespie sandstone. The blue arrow points to a scarp at the boundary between Gillespie and Glenelg units. A similar set of scarps appears at the Kimberley, shown on the right. At Yellowknife Bay, the Curiosity team determined that the scarps' retreat had recently exposed the Sheepbed mudstone. It is possible the same process is operating at the Kimberley. The purple arrow marks a scarp separating the lowermost striated unit and the middle bedded unit. The yellow arrow marks the contact between the middle bedded unit and the upper smooth hummocky material.


text:
Revista mexicana de biodiversidad
versión impresa ISSN _PHONE_
The species of Psocoptera currently known for Brazil are listed, with state distribution and biogeographic status. The categories of geographic distribution are discussed, as well as some of the evidence indicating that the present size of the Brazilian fauna is underestimated.
Palabras llave : Psocodea; Psocoptera; Brazil; geographic distribution.


text:
- About CSAM
- Public Policy
The California Society of Addiction Medicine is accredited by the Institute for Medical Quality/California Medical Association (IMQ/CMA) to provide continuing medical education for physicians. The California Society of Addiction Medicine takes responsibility for the content, quality and scientific integrity of this CME activity.
The California Society of Addiction Medicine designates this educational activity for a maximum of 34 AMA PRA Category 1 Credit(s)™ (see below for breakdown. Physicians should only claim credit commensurate with the extent of their participation in the activity. This credit may also be applied to the CMA Certification in Continuing Medical Education.
7 for pre-conference workshops
20.5 for Review Course
- 10 for ABAM Certification Exam Preparation Track (if you are taking the exam track you can only take a morning workshop, 3.5 hours)
The California Board of Psychology accepts CME courses accredited by the California Medical Association for continuing education credit. In other states, where requirements vary, psychologists should check with their state board.
This course meets requirements for up to 20.5 hours of continuing education credit for MFTs, MFCCs and LCSWs as required by the California Board of Behavioral Sciences. The provider number is PCE3447.
DRUG ABUSE COUNSELORS
CSAM has been approved as California Foundation for Advancement of Addiction Professionals. CSAM's provider number is 4C-05-_PHONE_
The California Board of Registered Nursing recognizes Category 1 CME for RN license renewal purposes. Nurses may report Category 1 CME on a one-to-one basis. Write Category 1 CME in place of a provider number when reporting credits.
The American Academy of Physician Assistants and the NCCPA accept Category 1 Physician CME on a one-to-one basis.


text:
Problem : SAP Material documents associated with goods movements can be tracked via SAP Document Flow. Material documents generated via other processes like initial entry of goods into SAP, stock input into SAP cannot be viewed via document flow.
Solution : Use Transaction code MB03. The menu path for the same is [ SAP Easy Access -> Logistics -> Material Management -> Physical Inventory -> Environment -> MB03 Material Document ]
Step 1 : Enter SAP tcode MB03 and Enter/ Search the material document number and Fiscal year
Step 2 : SAP will display the material document number which includes
- The materials associated with the material document
- Quantities, Plants etc
- Also the Accounting documents ( By clicking on the Accounting Documents button in the toolbar) associated with the material movement if any.
This post is also useful for SAP MM training and SAP PP Training students. If you have issues with SAP IDES Access, like expired user id or locked user id, please contact us and mention your SAP ID and name.
Question 1 : What is the significance of "Posting Date" in the material document?
Question 2 : Can you change the material document after it is being posted?
Question 3 : Find out some (random) material documents generated for material M-01 in the FY 2003 and write them down here
Question 4 : Do Material Document types have a Document Type? ( Similar to SAP Sales Document type )


text:
Monitoring linear antenna arrays using an exponentially weighted moving average-based fault detection scheme
Additional Document Info
2014 The Author(s). Published by Taylor & Francis. The evolution of modern wireless communications systems has dramatically increased the demand for antenna arrays. An antenna array with certain radiation characteristics is often desired. However, the actual radiation pattern of an antenna array changes when faults are introduced in the array. In this paper a statistical fault detection methodology based on the exponentially weighted moving average (EWMA) control scheme is proposed to detect possible faulty radiation patterns in linear antenna arrays. The proposed method detects the faults based on deviation in the radiation pattern from the desired ones. The difference between synthesized radiation pattern obtained using the Minimax algorithm and the measured pattern can be used as an indicator about the existence or absence of faults. To assess the fault detection abilities of the EWMA control scheme, three case studies are considered, one involving a complete failure in one element in the array, one involving partial failure in two elements, and one involving degradation caused by random noise due to interference and other factors. The simulation results for all cases show the effectiveness of the proposed EWMA fault detection method.


text:
The first annual Cancer Nurse Coordinator Initiative (CNCI) evaluation report has drawn on a number of data sources, including:
- a specific Cancer Nurse Coordinator (CNC) database that provides information about the activity and function of the nurses
- a CNC online survey which profiles CNCs and their activities, contribution and perceived effect on patient experience
- a provider online survey to assess understanding and perceived effects on patient experience
- a patient survey to assess patient experience of the new role and its contribution
- qualitiative interviews.
The data collected to inform the 2014 annual report provides high level insight into implementation of the CNCI and shows that:
- the CNCI is implemented across 20 DHBs using four delivery models that reflect DHBs' existing cancer care structures and population profile
- CNCs have an important role in the treatment team and contribute to improving communication between health professionals about patient care
- CNCs are seen to be contributing to a more coordinated patient journey and making a difference to patients and their family/whanau.
The evaluation provider is looking at enhancing the data collection tools to further improve data quality for the 2015 annual report.


text:
Application of hot isostatic pressing (HIP) technology to diffusion bond refractory metals for proton beam targets and absorbers at CERN
A target assembly, composed of several collinear molybdenum (Mo)‐based and tungsten (W)‐based cylindrical blocks, will reside in the core of the new beam dump facility (BDF) being designed at the European Laboratory for Particle Physics (CERN). The target blocks will be protected from the cooling water erosion‐corrosion by a tantalum (Ta)‐based cladding. In order to obtain intimate and reliable bonding between the several cylinders composing each target block and with the cladding, hot isostatic pressing (HIP) assisted diffusion bonding technique was explored. Several down‐scaled target block prototypes were conceived to investigate the bondings. Starting from the previously gained experience in Ta cladding on W from neutron spallation targets, here, we present results on Ta cladding on TZM (Mo alloy), Ta2.5W (Ta alloy) cladding on TZM and W, and on TZM to TZM and W to W self‐bondings. The resulting interfaces were systematically characterized with electron microscopy, tensile testing, and thermal conductivity measurements. Successful diffusion bonding was achieved for all the studied material combinations, resulting in homogeneous and defect‐free interfaces, strong interfacial bondings, and limited interfacial thermal contact resistance. The HIP parameters and diffusion interfacial aids were of great importance to optimize the interface and bulk material properties.


text:
WEATHER REVIEW FOR THE LAST SEVEN DAYS (1ST TO 7THJULY, 2019)
Significant rainfall was reported over the Highlands West and the Central Rift Valley,as depicted inFigure 1. The Lake Victoria Basin, and South Rift Valley, the Central Highlandsand the Coast received light to moderate rainfall. The Northeast, the Northwest and the Southeast Lowlands remained mainly dry.A comparison between the previous seven days (24th to 30th June, 2019)with the period under review (1st to 7th July, 2019) indicatesa general reduction in rainfall amounts across the country although some stations in the Western Highlands and the Rift Valley recorded increases.
Butere Rainfall Station in Kakamega Countyrecorded the highest seven-day total rainfall of78.5mm. Other stations that recorded significantrainfall totals during the review period include Kanduyi Agricultural (68.6mm), Bungoma Water Supply (61.8mm), Eluuya Girls (56.3mm)Rainfall Stations in Bungoma County, Nyamira D.O Rainfall Station in Nyamira County (39.3mm), Kakamega Meteorological Station (37.2mm), NyahururuMeteorological Station (36.6mm), KerichoMeteorological Station (36.4mm), Busia Ministry of Water Rainfall Station (31.4mm), and Kabarnet DC in Baringo County (31.1mm)as depicted in Figure 2…….read more
Powered by WPeMatico


The name Nye is a baby boy name.
Rate this name:
Max 5 stars
My Rating
This name has 0 vote.
Welsh Meaning:
The name Nye is a Welsh baby name. In Welsh the meaning of the name Nye is: Uncertain origin, but may be derived from the Latin Honorius meaning man of honour, or from the Welsh eur meaning gold.
English Meaning:
The name Nye is an English baby name. In English the meaning of the name Nye is: Island.
SoulUrge Number: 5
Expression Number: 8
SheKnows Media ‐ Family
Popular Baby Name Articles
You Might Like


text:
NTU researchers have found a way to extract pectin from durian husks and turn it into biodegradable packaging materials.
Researchers at the Nanyang Technological University (NTU) have found a way to turn durian husks into biodegradable packaging materials.
Pectin is a natural part of the human diet, and can be found in fruits and vegetables. Most fruits - like pears and apples - contain large amounts of pectin.
While pectin can be used to make jam hold its structure, or in some medical adhesives, Professor William Chen, director of NTU's food science and technology programme, has found a way to extract pectin from durian husks and turn it into biodegradable packaging materials.
To do so, the husks are cut, then ground and shredded to produce a cellulose powder.
This is then used to create sheets of the biodegradable material.
The material is shiny and slightly cloudy - and can be degraded within a month if it is put in the soil. If required, the material's colouring can be changed by introducing colour into the cellulose shreds.
Prof Chen and his team are in talks with several food and beverage companies to work on commercialising the material.


SAOImage DS9 Reference Manual
DS9 is the next version of the popular SAOtng display program. It is a Tk/Tcl application which utilizes the SAOtk widget set. It also incorporates the new X Public Access (XPA) mechanism to allow external processes to access and control its data, GUI functions, and algorithms. DS9 supports the direct display of FITS images and binary tables, multiple frame buffers, region cursor manipulation, many scale algorithms and colormaps, and easy communication with external analysis tasks. It is highly configurable and extensible to meet the evolving needs of the astronomical community.
DS9 supports advanced features such as multiple frame buffers, mosaic images, tiling, blinking, geometric markers, colormap manipulation, scaling, arbitrary zoom, rotation, pan, and a variety of coordinate systems (including Image, Physical, Detector, and WCS). DS9 also supports FTP and HTTP access. The GUI for DS9 is user configurable.
How It Works Backup and Restore File Formats
Mouse and Keyboard Coordinate Grids Preferences
Command Line Options Catalogs 3-D Frames
XPA Access Points Colorbar
Printing IRAF Support
Regions Analysis Binning


or Connect
AVS › AVS Forum › Display Devices › Screens › Reflected Light
New Posts All Forums:Forum Nav:
Reflected Light
post #1 of 4
Thread Starter
This may be an elementary question but if I'm getting about 10 foot lamberts of light from my projector and I'm using a 1.8 gain screen should I get approximately 18 foot lamberts of reflected light from the screen?
post #2 of 4
Thread Starter
post #3 of 4
Yes, your math is correct. That is exactly how a screen's "gain" works. A Unity gain screen is 1.0, i.e. it returns exactly the same FtL back that strikes it.
How does a higher gain screen "do it"? By redirectly most of the light energy back within a smaller angle of reflectance, effectively concentrating the light output for that given viewing angle range.
- Tom C
post #4 of 4
The correct formula for calculating screen luminance (in foot-lamberts) is: (projectors light output (in ansi lumens) x screen gain) / screen sq ft.. You can work this formula back and forward to derive you desired screen luminance. Once you know the projectors light output, you can play with screen size and gain to reach the desired number. Somewhere between 10-16 foot-lamberts would match the light output at the theater (they measure 16 with the gate open and no film, it ends up being about 12foot lamberts during the film presentation). You may want a higher number if you have poor control of ambient light. To get higher screen luminance:
-higher gain screen (trade offs can be numerous)
-smaller screen
-brighter projector
Don O
New Posts All Forums:Forum Nav:
 Return Home
 Back to Forum: Screens
This thread is locked
AVS › AVS Forum › Display Devices › Screens › Reflected Light


share the android_app and ALooper data structures. ptrace also requires a child process.
Redefining fopen locally would work for C fopen, but not for C++ cout.
Pre-extracting assets requires additional disk space to store the files, but is the more reasonable solution.
Accessing assetsEdit
Developers have been struggling to access resources easily in the NDK:
 - Android API : you can call the Android Java functions through JNI, but getting a file descriptor requires using unofficial functions and only work on uncompressed files; using Java buffer operations instead is quite tedious C/C++
 - libzip : you can easily access the .apk with libzip, though you need to integrate the library in your build system
 - NDK API : in Android 2.3/Gingerbread/API android-9 at last, there is an NDK api to access resources
Let's use the NDK API. It is not transparent for the developer either (no fopen/cout replacement) but is reasonably easy to use.
What's a bit more tricky is to grab the AssetManager from Java/JNI in our native activity.
Note: we'll use the slightly simplified C++ syntax for JNI (not the C syntax).
First, our native activity works in its own thread, so we need care when retrieving the JNI handle in android_main:
 JNIEnv* env = state_param->activity->env;
 JavaVM* vm = state_param->activity->vm;
 vm->AttachCurrentThread(&env, NULL);
Then let's get a handle on our calling NativeActivity instance:
 jclass activityClass = env->GetObjectClass(state_param->activity->clazz);
We also need to decide where to extract the files. We'll use the application's standard cache directory:
 // Get path to cache dir (/data/data/org.wikibooks.OpenGL/cache)
 jmethodID getCacheDir = env->GetMethodID(activityClass, "getCacheDir", "()Ljava/io/File;");
 jobject file = env->CallObjectMethod(state_param->activity->clazz, getCacheDir);
 jclass fileClass = env->FindClass("java/io/File");
 jmethodID getAbsolutePath = env->GetMethodID(fileClass, "getAbsolutePath", "()Ljava/lang/String;");
 jstring jpath = (jstring)env->CallObjectMethod(file, getAbsolutePath);
 const char* app_dir = env->GetStringUTFChars(jpath, NULL);
 // chdir in the application cache directory
 LOGI("app_dir: %s", app_dir);
 chdir(app_dir);
 env->ReleaseStringUTFChars(jpath, app_dir);
We now can get the NativeActivity AssetManager:
#include <android/asset_manager.h>
 jobject assetManager = state_param->activity->assetManager;
 AAssetManager* mgr = AAssetManager_fromJava(env, assetManager);
The actual extraction is simple: browse all files and copy them on disk one by one:
 AAssetDir* assetDir = AAssetManager_openDir(mgr, "");
 const char* filename = (const char*)NULL;
 while ((filename = AAssetDir_getNextFileName(assetDir)) != NULL) {
 AAsset* asset = AAssetManager_open(mgr, filename, AASSET_MODE_STREAMING);
 char buf[BUFSIZ];
 int nb_read = 0;
 FILE* out = fopen(filename, "w");
 while ((nb_read = AAsset_read(asset, buf, BUFSIZ)) > 0)
 fwrite(buf, nb_read, 1, out);
 fclose(out);
 AAsset_close(asset);
 }
 AAssetDir_close(assetDir);
Now, all files can be accessed using plain fopen/cout by the application.
This technique is adapted to our tutorials, but probably not for bigger applications. In this case, you could either:
 - request write privilege on the SD card and extract files there (that's what the SDL Android port does),
 - use a wrapper around your file accesses that uses the AssetManager on Android (beware that it's read-only access)
OrientationEdit
By setting:
 <activity ...
 android:screenOrientation="portrait"
Your application only works in portrait mode, independently of the device orientation or shape. This is not recommended but this may be useful for some games.
To handle orientation more efficiently, you theoretically need to check for onSurfaceChanged events. The onSurfaceChanged_native handler in android_app_NativeActivity.cpp wrapper doesn't seem to create a onNativeWindowResized event appropriately on orientation change, so instead we'll just monitor it regularly:
/* glutMainLoop */
 int32_t lastWidth = -1;
 int32_t lastHeight = -1;
 // loop waiting for stuff to do.
 while (1) {
 ...
 int32_t newWidth = ANativeWindow_getWidth(engine.app->window);
 int32_t newHeight = ANativeWindow_getHeight(engine.app->window);
 if (newWidth != lastWidth || newHeight != lastHeight) {
 lastWidth = newWidth;
 lastHeight = newHeight;
 onNativeWindowResized(engine.app->activity, engine.app->window);
 // Process new resize event :)
 continue;
 }
Now we can process the event:
static void onNativeWindowResized(ANativeActivity* activity, ANativeWindow* window) {
 struct android_app* android_app = (struct android_app*)activity->instance;
 LOGI("onNativeWindowResized");
 // Sent an event to the queue so it gets handled in the app thread
 // after other waiting events, rather than asynchronously in the
 // native_app_glue event thread:
 android_app_write_cmd(android_app, APP_CMD_WINDOW_RESIZED);
}
Note: it is possible to process APP_CMD_CONFIG_CHANGED events, but it happens before the screen is resized, so it's too early to get the new screen size.
Android can only detect the new screen size after a buffer swap, so let's abuse another hook to get a resize event:
/* android_main */
 state_param->activity->callbacks->onContentRectChanged = onContentRectChanged;
...
static void onContentRectChanged(ANativeActivity* activity, const ARect* rect) {
 LOGI("onContentRectChanged: l=%d,t=%d,r=%d,b=%d", rect->left, rect->top, rect->right, rect->bottom);
 // Make Android realize the screen size changed, needed when the
 // GLUT app refreshes only on event rather than in loop. Beware
 // that we're not in the GLUT thread here, but in the event one.
 glutPostRedisplay();
}
Input eventsEdit
We reuse engine_handle_input from the native-activity sample.
It's important to return 0 when the event is not directly handled, so that the Android system does it. For instance we usually let Android take care of the Back button.
The NativeActivity framework doesn't seem to send appropriate repeat events: the key is pressed and unpressed at the exact same time, and the repeat count is always 0. Consequently it doesn't seem possible to process arrow keys from Hacker's Keyboard without rewriting part of the framework.
Motion (touchscreen) and keyboard events are handle through the same channel.
The allow users without keyboard to use the arrow keys, we implemented a virtual keypad (VPAD), located in the bottom-left corner, activated on touchscreen. Effort was made to avoid mixing a VPAD event with an existing motion event and vice-versa.
ReferencesEdit
 1. That's the technique used by SDL for Windows's WinMain.
LinksEdit
Source code for


text:
SIMUL8 Tip – Copy All Results to Excel
There may be times where you want to take all of your results from your simulation and analyze them using a different program such as Excel. In SIMUL8 it is really easy to copy all your results to Excel, to give you added flexibility for results analysis, or perhaps if you want to share your results with non-SIMUL8 users.
Here's how to do it:
1. After running the simulation open the Results Manager in the 'Home' menu.
2. Click on the tab for 'All Object Results'.
This tab shows all of the results that have been collected for each object in the simulation
3. Click on the tab for 'KPIs'.
4. Click on the button with the plus symbol – this is an alternative way of adding results to the KPIs list and will allow you to select all of the results of selected objects.
5. Highlight all of the objects listed by using the 'Shift' key.
6. Click on the 'Add all results' button to add all of the results of the selected objects to the listed KPIs.
7. Click on this button once to copy all of the results to the clipboard
8. Paste into Excel.
It's really that simple, and this provides you with the added flexibility of being able to view, analyze and work with your results outwith SIMUL8.


Nate Nate - 8 months ago 80
SQL Question
Error when inserting row into MySQL database from Python
I'm trying to update an empty mySQL database using Python.
This is the error I receive:
pymysql.err.InternalError: (1416, 'Cannot get geometry object from data you send to the GEOMETRY field')
Here's the problematic code:
with connection.cursor() as cursor:
# Create a new record
sql = "INSERT INTO 'projects' ('name', 'country', 'activation_date', 'active') VALUES (%s, %s, %s, %s)"
cursor.execute(sql, ('Nate', 'USA', '2016-06-23 09:11:32', '1'))
Here is what the table looks like in the database (it's empty):
enter image description here
enter image description here
It looks like you're using the MySQL type linestring to represent a string, while in MySQL the correct type to represent a string of characters would be text or varchar(). linestring is a representation of a geometric line, as you can see here:
To fix this, simply change the column types of name and country to varchar() or text. See:


text:
stick very well to cotton cloth, but did not wash out with soap or laundry detergent. The uranium would wash out with a 2% solution of sodium bicarbonate (baking soda). Clothing can become contaminated with depleted uranium (DU) dust and normal laundering will not remove it. Those at risk of DU dust exposure should have their clothing washed with baking soda (about 6 ounces (170g) of baking soda in 2 gallons (7.5l) of water).
As a biopesticide
Sodium bicarbonate can be an effective way of controlling fungus growth, and in theUnited Statesis registered by the Environmental Protection Agency as a biopesticide.
Cattle feed supplement
Sodium bicarbonate is sold as a cattle feed supplement, in particular as a buffering agent for the rumen.
Category: Food Additive Chemicals