Available Projects
$project.name
$project.description
$project.name
$project.description
Error
WE ARE DE Ltd


| HOME | DOWNLOAD | DOCUMENTATION | FORUM | FAQ |
> Home > Documentation > Spherical Harmonic Transformations
SHEXPANDDH(1) SHTOOLS 2.6 SHEXPANDDH(1)
SHExpandDH
SHExpandDH - Expand an equally sampled or equally spaced grid into spherical harmonics using Driscoll and Healy's (1994) sampling theorem.
SYNOPSIS
SUBROUTINE SHExpandDH ( GRIDDH, N, CILM, LMAX, NORM, SAMPLING, CSPHASE, LMAX_CALC ) REAL*8 GRIDDH(N, N) or GRIDDH(N, 2*N), CILM(2, N/2, N/2) or CILM(2, LMAX_CALC+1, LMAX_CALC+1) INTEGER N, LMAX INTEGER, OPTIONAL NORM, SAMPLING, CSPHASE, LMAX_CALC
DESCRIPTION
SHExpandDH will expand an equally sampled (N by N) or equally spaced grid (N by 2N) into spherical harmonics using the sampling theorem of Driscoll and Healy (1994). The number of latitudinal samples, N, must be even, and the transform is exact if the function is bandlimited to spherical harmonic degree N/2 - 1. The inverse transform is given by the routine MakeGridDH. If the optional parameter LMAX_CALC is specified, the spherical harmonic coefficients will only be calculated to this degree instead of N/2 - 1. The algorithm is based on performing FFTs in longitude and then integrating over latitude using an exact quadrature rule. The default is to use an input grid that is equally sampled (N by N), but this can be changed to use an equally spaced grid (N by 2N) by the optional argument SAMPLING. When using an equally spaced grid, the Fourier components corresponding to degrees greater than N/2 - 1 are simply discarded; this is done to prevent aliasing that would occur if an equally sampled grid was constructed from an equally spaced grid by discarding every other column of the input grid. The first latitudinal band of both grids corresponds to 90 N, the latitudinal band for 90 S is not included, and the latitudinal sampling interval is 180/N degrees. The first longitudinal band is 0 E, the longitudinal band for 360 E is not included, and the longitudinal sampling interval is 360/N for equally sampled and 180/N for equally spaced grids, respectively. The employed spherical harmonic normalization and Condon-Shortley phase convention can be set by the optional arguments NORM and CSPHASE; if not set, the default is to use geodesy 4-pi normalized harmonics that exclude the Condon-Shortley phase of (-1)^m.
ARGUMENTS
GRIDDH (input) REAL*8, DIMENSION (N, N) or (N, 2*N) A 2D equally sampled (default) or equally spaced grid that conforms to the sampling theorem of Driscoll and Healy (1994). The first latitudinal band corresponds to 90 N, the latitudinal band for 90 S is not included, and the latitudinal sampling interval is 180/N degrees. The first longitudinal band is 0 E, the longitude band for 360 E is not included, and the longitudinal sampling interval is 360/N for an equally and 180/N for an equally spaced grid, respectively. N (input) INTEGER The number of samples in latitude of GRIDDH. If SAMPLING is 1 (default) then the number of samples in longitude is N. If SAMPLING is 2 then the number of longitudinal samples is 2*N. N must be even. CILM (output) REAL*8, DIMENSION (2, N/2, N/2) or (2, LMAX_CALC+1, LMAX_CALC+1) The real spherical harmonic coefficients of the function. These will be exact if the function is bandlimited to degree LMAX = N/2 - 1. The coefficients C1lm and C2lm refer to the "cosine" (Clm) and "sine" (Slm) coefficients, respectively, with Clm = CILM(1, l+1, m+1) and Slm = CILM(2, l+1, m+1). Alternatively, C1lm and C2lm correspond to the positive and negative order coefficients, respectively. LMAX (output) INTEGER The maximum spherical harmonic bandwidth of the input grid, which is N/2 - 1. If the optional parameter LMAX_CALC is not specified, this corresponds to the maximum spherical harmonic degree of the output coefficients CILM. NORM (input) INTEGER, OPTIONAL 1 (default) = Geodesy 4-pi normalized harmonics; 2 = Schmidt semi-normalized harmonics; 3 = unnormalized harmonics; 4 = orthonormal harmonics. SAMPLING (input) INTEGER, OPTIONAL If 1 (default) the input grid is equally sampled (N by N). If 2, the grid is equally spaced (N by 2*N). CSPHASE (input) INTEGER, OPTIONAL 1 (default) = do not apply the Condon-Shortley phase factor to the associated Legendre functions; -1 = append the Condon-Shortley phase factor of (-1)^m to the associated Legendre functions. LMAX_CALC (input) INTEGER, OPTIONAL The maximum spherical harmonic degree calculated in the spherical harmonic expansion.
NOTES
The normalized legendre functions are calculated in this routine using the scaling algorithm of Holmes and Featherstone (2002), which are accurate to about degree 2800. In contrast, the unnormalized functions are only accurate to about degree 15. This routine takes into account the symmetry of the associated Legendre functions about the equator in order to reduce computational time.
SEE ALSO
makegriddh(1), dhaj(1), shexpandglq(1), makegridglq(1), SHExpandLSQ(1) <http://www.ipgp.jussieu.fr/~wieczor/SHTOOLS/SHTOOLS.html>
REFERENCES
Driscoll, J.R. and D.M. Healy, Computing Fourier transforms and convolutions on the 2-sphere, Adv. Appl. Math., 15, 202-250, 1994. Holmes, S. A., and W. E. Featherstone, A unified approach to the Clenshaw summation and the recursive computation of very high degree and order normalised associated Legendre functions, J. Geodesy, 76, 279- 299, 2002.
COPYRIGHT AND LICENSE
Copyright 2005-2007 by Mark Wieczorek<EMAIL_ADDRESS>This is free software; you can distribute and modify it under the terms of the revised BSD license. SHTOOLS 2.6 2009-08-18 SHEXPANDDH(1)
> Home > Documentation > Spherical Harmonic Transformations
| Centre National de la Recherche Scientifique | Institut de Physique du Globe de Paris | © 2011 Mark Wieczorek |


"Found the best bag from this site! And that's saying a lot, since I've used many!"
"Amazing bags! Great service! Couldn't ask for more! I'll use heerock again and again!"
"Found the best bag from this site! And that's saying a lot, since I've used many!"


3. Registering for the platform and certification¶
The VERCE platform can be accessed through a normal web browser. The portal has been well tested with browsers such as Mozilla Firefox and Safari, and should also work with Google Chrome. At this stage the portal doesn’t support Internet Explorer or Microsoft Edge.
3.1 Registering for the platform¶
Registering for the portal is exceptionally easy. Simply go to the VERCE portal website on the link below and click the icon. Fill in your details ensuring that you use your university email address (i.e. your academic email address) if at all possible. This can take one or two working days to be processed so please leave yourself time for this.
Figure 3.1: The VERCE sign up page
3.2 Getting a certificate¶
In addition to registering for the platform you must also get an e-science certificate from the relevant authority. This is an internationally recognised certification scheme that will allow you to submit simulations to a wide range of supercomputers. Without an e-science certificate you will be able to log into the portal website, but you will not be able to submit jobs to any of the super computers, or access any data through the portal.
The procedure for getting an e-science certificate depends on the where you are based as the e-science certificates are distributed by national certification authorities. First you must request an e-science certificate from your national provider, following the instructions on the relevant website:
- For the UK: http://www.ngs.ac.uk/ukca/certificates
- For Germany: https://pki.pca.dfn.de/grid-root-ca/cgi-bin/pub/pki?RA_ID=101
- For the Netherlands: http://ca.dutchgrid.nl/
- For France: https://igc.services.cnrs.fr/GRID2-FR
- For Italy: http://security.fi.infn.it/CA
You then have to go to an administrator (usually in your university) who confirms who you are, and (hopefully) approves the certificate. This can also take a day or two, so please leave time for this.
It is important to back up this certificate in a different location to the host computer (i.e. the computer that you used to request and download the certificate). Your local certificating authority will provide full details of how to do this.
3.3 Installing your certificate in your browser¶
To make the next stages of registration easier it is recommended that the users install their new certificate to the browser. Ideally this should be done on the computer you are most likely to be using the VERCE portal from. The certificate must first be exported from the certificate manager (see instructions from your national certificating authority). Both the ‘Private Key’ and the Certificate should be exported in ‘PKCS#12’ format. The certificate is exported to the local machine, and is protected with a new password.
To install the certificate on Mozilla you must first select ‘Options/Preferences’ from the menu button () in the top right of the browser. Select the ‘Advanced’ tab from the left-hand panel and then the ‘Certificates’ tab under the ‘Advanced’ menu. Finally select ‘View Certificates’ and click ‘Import’ to upload your certificate from its location on your local machine using the new password set when exporting the certificate.
Other browsers can be used (see start of section for browser options), but the procedure for uploading the certificate will vary. You must then ensure that you use this browser for the validation steps outlined below, and ideally when you log in to the portal.
3.4 Registering for super computing and data resources¶
The VERCE portal and iRODS are currently hosted by the ‘SCAI Fraunhofer’ supercomputer, in Germany.
To register for SCAI and iRODS, please send the information listed below to André Gemünd<EMAIL_ADDRESS>at SCAI Fraunhofer, and request to be registered for the VERCE portal. André will be able to give you an account on ‘SCAI’ and ‘iRODS’ that will allow you to calculate and manage waveforms respectively. ‘iRODS’ is a suite of data management software that is embedded within the VERCE platform, and allows you to easily access your data regardless of where you submitted your simulation.
- First Name
- Last Name
- Nationality
- Affiliation
- Professional Address (including country)
- Telephone Number
- Email address
- Certificate DN (distinguished name, also called subject) of your certificate
3.5 Creating and uploading proxy certificates¶
Once you have got your national e-science certificate, you will need to load a proxy certificate up to the portal to allow you to access data and submit jobs to the available supercomputers. A proxy certificate is essentially a copy of the full certificate that will expire after a short time period (usually 24 hours). This allows you to upload and use your certificate, while the limited life span of the proxy minimises the risk of the certificate falling into the wrong hands.
Currently you can create a Proxy certificate using either the GSISSH_Term tool or the command line MYPROXY tools, both described below. We hope to provide a proxy certificate tool in the near future.
3.5.1 MYPROXY Tools¶
To run simulations on the VERCE Portal it is necessary to have stored your credentials (a proxy certificate) in a MyProxy repository so that it’s available for download through the portal when needed. To create a proxy certificate, you need to have a user certificate (from your national provider, listed above) and a private key file (with a .PEM format).
If your certificate is in p12 format, the relevant certificate format and private key file can be created as below. Run the following commands in the command line:
openssl pkcs12 -clcerts -nokeys -out usercert.pem -in cert.p12
openssl pkcs12 -nocerts -out userkey.pem -in cert.p12
The above commands should generate the files usercert.pem and userkey.pem. Once this is done then to protect your keys you would need to run the following commands:
chmod 644 usercert.pem
chmod 400 userkey.pem
Before you could use the below proxy tools you will need first to perform the following:
Create a “. globus” folder in your home directory and then copy the files usercert.pem and userkey.pem to this particular folder
Install Java Runtime Environment (JRE) 1.7 or higher
For the GSISSH_term tool you should also do the following steps:
Download the “Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files”
Extract the two jar files, “local_policy.jar” and “US_export_policy.jar”, and copy them to {JRE_HOME}/lib/security
<IP_ADDRESS> GSISSH_Term Tool¶
The GSISSH_Term is a Java based application supported on most platforms. It is currently available for download on https://www.lrz.de/services/compute/grid_en/software_en/gsisshterm_en/ and can be installed either as a desktop application or as a Java webstart application.
To run GSISSH-Term as a Java webstart application, you need to have Java webstart (javaws) installed on your machine. This should already be included in the Java Runtime Environment (JRE) for Java SE 7.
Once the GSISSH-Term application has ran successfully then you can launch “MyProxy Tool” by selecting “MyProxy Tool” option from the “Tools” menu. A new popup window should appear as shown Figure <IP_ADDRESS>.
Figure <IP_ADDRESS>: Launching MyProxy Tool on GSISSH_Term application.
With MyProxy Tool you can upload, check and remove your credential to/from a MyProxy server. The tool also supports the generation and upload of voms-enabled proxy.
To create and store a proxy certificate in a MyProxy server, do the following steps:
- Launch MyProxy Tool on a machine where your Grid credentials are located.
- Select “Create and upload proxy” from the dropdown list.
- In the “MyProxy Server Information” panel enter:
- a URL of MyProxy server,
- a port number to connect to MyProxy server,
- a lifetime span for your proxy certificate and
- a username you could use later to retrieve or download your credentials from MyProxy server.
- In the “Local Certificate” panel:
- choose your certificate format from the dropdown list,
- for PEM format as mentioned above place both usercert.pem and userkey.pem in a folder named “.globus” which should be located within your home directory.
- For passphrase enter your grid-proxy passphrase.
- Click on the “Create and Store” button.
- Once the connection to MyProxy server has been established then you will be prompted to enter a new passphrase which you will need to use later along with other details to access your credentials on MyProxy server. It is recommended to use a passphrase that is different to your grid-proxy passphrase
<IP_ADDRESS> MYPROXY command line tool¶
The MYPROXY tools can then be installed as by running the following commands in the command line of a Linux or mac machine:
sudo apt-get install myproxy
sudo apt-get install voms-clients
Installing the packages below will allow you to manage your certificate (from your national certificating authority). More details on this are given at https://wiki.egi.eu/wiki/EGI_IGTF_Release. To install the relevant packages:
Add the following line to your dpkg sources (sources.list file):
#### EGI Trust Anchor Distribution #### deb http://repository.egi.eu/sw/production/cas/1/current egi-igtf core
Run the following to add the EUGridPMA PGP key:
sudo wget -q -O –`https://dist.eugridpma.info/distribution/igtf/current/GPG-KEY-EUGridPMA-RPM-3\| <https://dist.eugridpma.info/distribution/igtf/current/GPG-KEY-EUGridPMA-RPM-3|>`__ sudo apt-key add –
Populate the cache and install the meta-package
sudo apt-get update sudo apt-get install ca-policy-egi-core
To store a credential in the MyProxy repository, run the myproxy-init command on a computer where your Grid credentials are located. For example:
myproxy-init -s myproxy.lrz.de
This will prompt you for your grid-proxy passphrase and then for a new passphrase for accessing your credentials from the MyProxy server. It is recommended to use a passphrase that is different to your grid-proxy passphrase.
By default, MyProxy uses your local Unix username to store your credentials and the proxy certificate is stored for 7 days in the MyProxy server. However, you can change this and register a proxy certificate for a specific number of hours using the -c option.
For example, running the following command will register a proxy certificate for 2 hours
myproxy-init -c 2 -s myproxy.lrz.de
To download your certificate, go to the ‘Security’ tab on the VERCE Portal and click on the ‘Download’ button under the ‘Certificate’ panel then under ‘Hostname’ enter the MyProxy server (e.g. myproxy.lrz.de) and your MyProxy username and passphrase. This is described in more detail in section 3.5.2 (below).
For more details of MyProxy commands, see
http://toolkit.globus.org/toolkit/docs/4.0/security/myproxy/user-index.html
3.5.2 Uploading a proxy certificate to the VERCE platform¶
Once you have created you proxy certificate using one of the methods above, you need to load the certificate into the VERCE platform in order to be able to submit jobs and access the data.
To do this you need to go to the ‘Security’ page. On this page click the button which will display the proxy certificate upload panel as shown below in Figure 3.5.
Figure 3.5: The proxy certificate upload panel.
Here you need to enter the address of the institution hosting your proxy certificate in the ‘Hostname’ box (e.g. myproxy.lrz.de). The username and password you set for your proxy certificate must then be entered in the ‘Login’ and ‘Password’ boxes respectively. Clicking the button then adds the proxy certificate to the portal, allowing you to access the high performance computing (HPC) resources and data.
The proxy certificate will only be valid for up to 24 hours, so you will need to repeat this process of creating and uploading the proxy certificate every time you wish to use the VERCE portal to run simulations or access data.
3.5.3 Certificate Association¶
Once you have successfully uploaded your certificate, you must associate the certificate with the platform (verce.eu) and any resources you intend to use in this session (e.g. supercomputing resources). The proxy certificate will then authenticate you as a user, and allow you to access the HPC and memory resources.
First navigate to the ‘Security’ tab. Here you will see details of the proxy certificate you have just uploaded as shown below. Click the ‘Associate to VO’ button to bring up the page shown in figure 3.6. You can now select the resource you wish to associate your proxy certificate to from the drop-down menu located below your certificate details. You can see in both figure 3.5 and figure 3.6 that the proxy certificate here is associated to verce.eu, SuperMUC and SCAI_Cluster2.
Figure 3.5: The proxy certificate loaded into the certificates page of the portal. This proxy certificate has been associated with SCAI computing resources.
Figure 3.6: The certificate association page. The resources to which the certificate may be associated are listed in the dropdown box shown in the bottom right of the figure.


FLUKE A film review by Steve Rhodes Copyright 1997 Steve Rhodes
RATING (0 TO ****): **
The 1995 movie FLUKE takes the premise that humans can be reincarnated into animals. Its lead is a dog named Fluke who used to be a human named Thomas Johnson (Matthew Modine).
Thomas dies in a dramatic and realistic car accident in the opening. He appears to have been forced off the road by his business partner, Jeff Newman (Eric Stoltz). The story then switches to Fluke when he is a newborn puppy. As Fluke grows up he will remember the accident in terrifying flashbacks. He will also conjure up good old memories of his wife Carol (Nancy Travis) and his son Brian (Max Pomeranc).
The show has two parts. In the first, it is mainly the animals' story. Here Fluke runs around with a streetwise dog named Rumbo (voice by Samuel L. Jackson). In all of the show the animals talk to each other, but without the mouth movements popularized in BABE. In the second part of the show, Fluke goes back to live with his old family, and the humans take over more of the narrative.
The story has an interesting premise, but second time director Carlo Carlei does not know how to craft an involving movie out of it. A pleasant enough film, but never a compelling one.
FLUKE has high quality production values, but that is about it. The cinematography by Raffaele Mertes is more impressive than the sets. Similarly the music by Carlo Siliotto is much more touching than the script by Carlo Carlei and James Carrington, based on a book by James Herbert.
All of the cast, especially Stoltz and Modine, have talent, but none of it is demonstrated in FLUKE. There is one consistently good part, the acting by the dogs. They perform many antics and behaviors that you do not normally see in movies. Too bad they could not have inspired the Homo sapiens.
The low point of the film occurs when the dogs are taken to a cosmetics company so they can do research on them. This segment is little more than sensationalism masquerading as comedy, and not very funny comedy.
There are many better animal pictures out there. Rent one of them instead of FLUKE.
FLUKE runs 1:36. It is rated PG for a few bad words and some very scary scenes of a vicious dog attack, a person dying, and two dramatic car accidents - shown again and again. Young kids are likely to be frightened.  He said it was an okay movie except for the dogs who were really good actors. I found it a well made, but mediocre film that I cannot recommend. I give it **.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEW WRITTEN ON: January 1, 1997
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


This simple page demostrates the formatting tags covered in this lesson
The strong tag has the same visual effect as the bold tag, but the strong tag also marks teh enclosed text as more important.
This is what strong text looks like.The emphasis tag has the same visual effect as teh italic tag but the emphasis tag also marks the enclosed text as more important.
This is what emphasized text looks like.Marked text looks like this: This is marked.
This is the blockquote
This is code


/* -------------------------------------------------- Answer the questions in line 19, 27, and 31 -------------------------------------------------- */ var school = {name:"MIT", school:"cambridge", state:"masschusetts", river:{name:"charles", sailing:true, rowing:true}}; // get rowing value var rowing = school.river.rowing; // assign a new value to rowing rowing = false; // has the value to "school.river.rowing" changed? // --- output value of "school.river.rowing" // --- your code --- // get river and assign a new value to "name" var river = school.river; river.name = "mishaum"; // has the value to "school.river.name" changed? // --- output value of "school.river.name" // --- your code --- // can you explain the behavior?


--- layout: default title: "Lostcast episodes" comments: hidden ---
Lostcast is a weekly podcast about game development.


{% extends "layout.html" %} {% block content %}
The Tribal Box for enthusiast and hobby travellers
The Tribal Box provides platform and financial support to enthusiast and hobby travellers who travel for a specific social cause, adventure or with a specific set of skills. The Tribal Box One Stop Platform connect, build, collaborate and network with brands and sponsors who are willing to provide funds and other promotions to the trip of travellers. .


188 North 3050 East, St. George, UT 84790
<EMAIL_ADDRESS>(435) 673-4696
Home
About
Company
In the News
Services
Commercial
Solar
Street Projects
Service/Repairs
Contact Us


Click here to go to the corresponding page for the latest version of DIALS
Data files¶
The DIALS programs read and write three main types of data file for storing the experimental geometry, image data and processed reflection data. These are summarized in the following table and described in more detail in the sections below.
| File type | Contains |
|---|---|
| Datablock | Experimental geometry and image data |
| Experiment list | Experimental geometry (plus crystal) and image data |
| Reflection table | Processed reflection data |
The data files input and output from the main dials programs are described below.
| Program | Reads | Writes |
|---|---|---|
| dials.import | N/A | datablock.json |
| dials.find_spots | datablock.json | strong.pickle |
| dials.index | datablock.json
strong.pickle
|
experiments.json
indexed.pickle
|
| dials.refine | experiments.json
indexed.pickled
|
refined_experiments.json
refined_reflections.pickle
|
| dials.integrate | refined_experiments.json
refined_reflections.pickle
|
integrated_experiments.json
integrated.pickle
profile_model.phil
|
| dials.scale | integrated_experiments.json
integrated.pickle
|
scaled_experiments.json
scaled.pickle
|
Datablock files¶
The datablock file is stored as a JSON file in ascii format. Whilst being human readable (and editable), it is generally recommended to let dials.import generate the datablock file. The file contains the location of any imported imagesets and the initial experimental models (i.e. beam, detector, goniometer and scan) for the sets of sweeps or still images. It also encodes the relationship between models if multiple sweeps or sets of stills are imported. An example of a short file is shown below.
[
{
"__id__": "DataBlock",
"imageset": [
{
"__id__": "ImageSweep",
"template": "image_####.cbf",
"beam": 0,
"detector": 0,
"goniometer": 0,
"scan": 0
}
],
"beam": [
{
"direction": [
0.0,
0.0,
1.0
],
"polarization_normal": [
0.0,
1.0,
0.0
],
"divergence": 0.0,
"polarization_fraction": 0.999,
"sigma_divergence": 0.0,
"wavelength": 0.9795
}
],
"detector": [
{
"panels": [
{
"origin": [
-212.47848,
220.00176,
-190.17999999999998
],
"fast_axis": [
1.0,
0.0,
0.0
],
"name": "Panel",
"slow_axis": [
0.0,
-1.0,
0.0
],
"trusted_range": [
-1.0,
495976.0
],
"image_size": [
2463,
2527
],
"px_mm_strategy": {
"type": "ParallaxCorrectedPxMmStrategy"
},
"type": "SENSOR_PAD",
"pixel_size": [
0.17200000000000001,
0.17200000000000001
]
}
]
}
],
"goniometer": [
{
"fixed_rotation": [
1.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
1.0
],
"rotation_axis": [
1.0,
0.0,
0.0
]
}
],
"scan": [
{
"exposure_time": [
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
],
"epochs": [
1360324992.0,
1360324992.0,
1360324993.0,
1360324993.0,
1360324993.0,
1360324993.0,
1360324993.0,
1360324994.0,
1360324994.0
],
"image_range": [
1,
9
],
"oscillation": [
0.0,
0.2
]
}
]
}
]
Experiment list files¶
The experiment list file is stored as a JSON file in ascii format. Whilst being human readable (and editable), editing the file directly is generally not recommended. The file contains the location of any imported imagesets and the same experimental models contained in the datablock file (i.e. beam, detector, goniometer and scan). It also contains the crystal models found during indexing. The data is modelled by a set of experiments which each contain a single set of models. Experiments can share models. For example two experiments may share detector models. This allows, for example, joint refinement of experiments.
An example of a short file is shown below.
{
"__id__": "ExperimentList",
"experiment": [
{
"__id__": "Experiment",
"beam": 0,
"detector": 0,
"goniometer": 0,
"scan": 0,
"crystal": 0,
"imageset": 0
}
],
"imageset": [
{
"__id__": "ImageSweep",
"template": "centroid_####.cbf"
}
],
"beam": [
{
"direction": [
-0.007852057721998333,
3.772524827250213e-14,
0.9999691721195861
],
"polarization_normal": [
0.0,
1.0,
0.0
],
"divergence": 0.0,
"polarization_fraction": 0.999,
"sigma_divergence": 0.058,
"wavelength": 0.9795
}
],
"detector": [
{
"panels": [
{
"origin": [
-211.53596470096178,
219.45303890619488,
-192.7062494437063
],
"fast_axis": [
0.9999551354884303,
0.0021159302715049923,
0.009233084500921031
],
"name": "Panel",
"slow_axis": [
0.0021250002879257116,
-0.999997269169901,
-0.0009726389448611214
],
"trusted_range": [
-1.0,
495976.0
],
"image_size": [
2463,
2527
],
"px_mm_strategy": {
"type": "ParallaxCorrectedPxMmStrategy"
},
"type": "SENSOR_UNKNOWN",
"pixel_size": [
0.172,
0.172
]
}
]
}
],
"goniometer": [
{
"fixed_rotation": [
1.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
1.0
],
"rotation_axis": [
1.0,
-1.5919306617286774e-16,
-6.904199434387693e-16
]
}
],
"scan": [
{
"exposure_time": [
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2
],
"epochs": [
1360324992.0,
1360324992.0,
1360324993.0,
1360324993.0,
1360324993.0,
1360324993.0,
1360324993.0,
1360324994.0,
1360324994.0
],
"image_range": [
1,
9
],
"oscillation": [
0.0,
0.2
]
}
],
"crystal": [
{
"__id__": "crystal",
"real_space_a": [
35.23781811553089,
-7.600614003857873,
22.077690418635804
],
"real_space_b": [
-22.657129890916668,
-1.4698317405529955,
35.65693038892429
],
"real_space_c": [
-5.295803077552249,
-38.99952334925477,
-4.972795822746061
],
"space_group_hall_symbol": " P 4 2",
"mosaicity": 0.157
}
]
}
Reflection files¶
The reflection files are saved in python’s “pickle” format. This is a binary format that is convenient for serializing python classes. The reflection files will contain a table with some or all of the following columns.
| Column | Description |
|---|---|
| flags | bit mask status flags |
| id | experiment id |
| panel | the detector panel index |
| miller_index | miller indices |
| entering | reflection entering/exiting |
| s1 | the diffracted beam vector |
| xyzcal.mm | the predicted location (mm, mm, rad) |
| xyzcal.px | the predicted location (px, px, frame) |
| ub_matrix | predicted crystal setting |
| xyzobs.px.value | centroid pixel position (px, px, frame) |
| xyzobs.px.variance | centroid pixel variance |
| xyzobs.mm.value | centroid millimetre position (mm, mm, rad) |
| xyzobs.mm.variance | centroid millimetre variance |
| rlp | reciprocal lattice point |
| intensity.sum.value | raw intensity value |
| intensity.sum.variance | raw intensity variance |
| intensity.prf.value | profile fitted intensity value |
| intensity.prf.variance | profile fitted intensity variance |
intensity.scale.value
|
intensity value used for scaling
(without scale factor applied)
|
| intensity.scale.variance | variance of intensity value used for scaling |
| inverse_scale_factor | scale factor determined by scaling (divisory) |
| inverse_scale_factor_variance | variance of inverse scale factor |
| lp | LP correction (multiplicative) |
| qe | detector quantum efficiency correction (divisory) |
| profile.correlation | correlation in profile fitting |
partiality
|
fraction of reflection measured
(i.e. Ifull = Isum/partiality)
|
| bbox | bounding box |
| shoebox | shoebox data/mask/background struct |


Personality Exploration
I've always found that I have never really fit into a category of intraversion or extraversion, I was never satisfied with the ENTJ personality Myers-Briggs described me as. Most of us find it difficult to choose between introversion and extraversion
because the introvert/extrovert dichotomy reflects a tired and outdated view of personality. Personality traits exist along a continuum, and the vast majority of us fall somewhere in the middle.
Ambiverts have a distinct advantage over true introverts and extroverts. Because their personality doesn’t lean too heavily in either direction, they have a much easier time adjusting their approach to people based on the situation.
This enables them to connect more easily, and more deeply, with a wider variety of people. Ambiverts naturally engage in a flexible pattern of talking and listening, ambiverts are likely to express sufficient assertiveness and enthusiasm
to persuade and close a deal, but are more inclined to listen to customers’ interests and less vulnerable to appearing too excited or overconfident.
How Ambiversion Works In The Brain
How social you are is largely driven by dopamine, the brain’s feel-good hormone. We all have different levels of dopamine-fueled stimulation in the neocortex (the area of the brain that is responsible for higher mental functions such as language and conscious
thought). Those who naturally have high levels of stimulation tend to be introverts—they try and avoid any extra social stimulation that might make them feel anxious or overwhelmed. Those with low levels of stimulation tend to be extroverts.
Under-stimulation leaves extroverts feeling bored, so they seek social stimulation to feel good.
Most people’s levels of natural stimulation don’t reach great extremes, though it does fluctuate. Sometimes you may feel the need to seek out stimulation, while other times, you may avoid it.
Find out if you are an Ambivert
If you think that you might be an ambivert, but aren’t certain, see how many of the following statements apply to you. If most of them apply, you’re most likely an ambivert.
- I can perform tasks alone or in a group. I don’t have much preference either way.
- Social settings don’t make me uncomfortable, but I tire of being around people too much.
- Being the center of attention is fun for me, but I don’t like it to last.
- Some people think I’m quiet, while others think I’m highly social.
- I don’t always need to be moving, but too much down time leaves me feeling bored.
- I can get lost in my own thoughts just as easily as I can lose myself in a conversation.
- Small talk doesn’t make me uncomfortable, but it does get boring.
- When it comes to trusting other people, sometimes I’m skeptical, and other times, I dive right in.

Values Exploration
I am a list making and structure loving idealist (with a bit of a hero-complex AKA I’m suuuuuper nosey). I have been writing things down since I was a kid so I gravitated towards my career as a business analyst. On a very high level, I would describe
my job as listening to and articulating what people want and when they want it.
Where I come from
My culture may not have played a defining role in creating my identity, but my family certainly did. I was diagnosed with ADHD as a child and my parents realised that my lack of attention could be dangerous for children especially while crossing the street.
They taught me to create checklists as a young child and assigned places to keep things so I would always be able to find them. Nows making lists is just second nature! Another weakness was my lack of focus, my father introduced a
system where he taught me to write down what people were saying or what was happening around me on my way home. This way I would have to pay attention to what was being said or what was happening around me because I was narrating a
story. Very soon, taking notes either physically or mentally just became a habit. I used this as a tool to pay attention when I feel my focus change. Unfortunately people have caught me having conversations by myself which always had
me embarrassed and mentally cringing.
My Strengths and Weaknesses
Though planning and creating vision boards are one of my strengths, once I deviate from my plans I find it extremely difficult to go back to course. My main weakness would be not being able to be able to cope with anything that changes my otherwise meticulous
schedule.
As a strength I generally listen to people well and have good attention to detail but I do oft times get frustrated when things do not go according to plan. When this is the case I either procrastinate or become too focussed and
can lose trace of other priorities.
As mentioned earlier, I was diagnosed with ADHD and with this comes hyperfocus. Hyperfocus has been a dual blessing and a curse, once I am focussed on something, I can work on it for hours to achieve the outcome I want. Sometimes, when I put my mind to
something, I can be relentless to achieve my goals but this comes at the cost of having a work life balance. Incorporating excercise to my routine helps me manage stress and productivity.


Shape the American frontier with these Red Dead Redemption 2 cheats
by Elizabeth HengesRed Dead Redemption 2 cheats let you do a wide range of things in the American frontier. Without the hassle of getting them yourself you can magically whip up weapons and upgrades to make your life as an outlaw even easier. Or you can just make yourself drunk without spending any of your ill-gotten gains at a bar, and ain;t that the dream?
Cheat codes are tradition in Rockstar titles, but RDR2 cheats work a little differently. With this guide you can learn more about how to find and activate cheat codes in Red Dead Redemption to give Arthur Morgan an easier (or more intoxicated) ride through the harsh Western plains.
How to get cheats in Red Dead Redemption 2
All of the cheat codes you can use in Red Dead Redemption 2 are readily available in the world, provided you know where to look. In RDR2, cheat codes are actually cheat phrases, and you can find these phrases carved into furniture, scribbled on pieces of paper, for instance. Generally, if you find a phrase in a seemingly unusual place, that’s your cue to head into the Cheats section of the menu and give it a try.
Most newspapers have a chance of containing a phrase that you can use as a cheat, those being the New Hanover Gazette, Saint Denis Times, and Blackwater Ledger. The former can be picked up in Annesburg and Valentine, the Saint Denis Times in Rhodes and Saint Denis, and the latter in Strawberry and Blackwater.
Open up a newspaper, zoom in, and have a look at the bottom right corner. If you see a phrase underneath one of the news articles, that'll usually be a cheat code. Secret phrases you find in the newspaper can only be activated when you have bought the paper, too, so make a habit of purchasing any newspaper you see during your adventure.
RDR2 cheats list
If you don’t want to try and find the codes naturally, below are the cheat phrases and what they unlock. Please note, as I've mentioned already, that some specific cheat codes will not unlock unless you have bought the corresponding newspaper, even if you know the phrase. Also, proper punctuation is required for the cheat codes to work, but capitalization is not.
Cheats that require a newspaper purchase are:
- Abundance is the dullest desire: Purchase newspaper after completing Chapter 1 - Infinite ammunition
- Greed is American virtue: Purchase newspaper in Chapter 3 after completing the mission 'Advertising, the New American Art' - Get a set of heavy weapons
- You long for sight and see nothing: Purchase newspaper in Chapter 3 after completing the mission 'Blood Feuds, Ancient and Modern' - Removes Fog of War from the map
- Virtue unearned is not virtue: Purchase newspaper in Chapter 4 after completing the mission 'Urban Pleasures' - Puts Arthur's Honor to maximum
- The lucky be strong evermore: Purchase newspaper after completing Chapter 5 - Receive infinite stamina
- You seek more than the world offers: Purchase newspaper in Chapter 6 after completing the mission 'The King's Son'. Fill all meters and fortify Arthur's cores
- You are a beast built for war: Purchase newspaper after completing the Epilogue - Spawn a warhorse
- Would you be happier as a clown?:  All is vanity: Unlock all in-game outfits
- Eat of knowledge: Learn every crafting recipe
- Share: Unlock all camp upgrades
- You revel in your disgrace, I see: Puts Arthur's Honor at minimum
- Balance. All is balance: Resets Arthur's Honor to neutral
- You want punishment: Gives Arthur a Wanted Level
- You want freedom: Drops Arthur’s Wanted Level(s)
- You want everyone to go away: Removes Arthur’s notoriety and bounties
- Guide me better: Dead-Eye Level 1
- Make me better: Dead-Eye Level 2
- I shall be better: Dead-Eye Level 3
- I still seek more: Dead-Eye Level 4
- I seek and I find: Dead-Eye Level 5
- Be greedy only for foresight: Infinite Dead-Eye
- Seek all the bounty of this place: Permanently increases Health, Stamina, and Dead-Eye meters
- You flourish before you die: Refills Health, Stamina, and Dead-Eye meters
- My kingdom is a horse: Increases Horse Bonding level
- Better than my dog: Call your horse from any distance
- Run! Run! Run!: Spawns a racehorse
- You want more than you have: Spawns a Superior Horse
- You want something new: Spawns a random horse
- The best of the old ways: Spawns a stagecoach
- Keep your dreams simple: Spawns a wagon
- Keep your dreams light: Spawns a horse-drawn buggy


How to use Fortran 77 Compiler
Introduction
Installation and Setup
libf2c Installation
Fortran Driver Setup
Usage
Bugs and Limitations
Language Specifications
Driver Usage
→ top


1
2
List name is required.
Email is required.
Name is required.
Company name is required.
Address is required.
Pin/Zip code is required.
Pin/Zip code must be valid.with minimum 3 characters.
Pin/Zip code must be numeric.
State/Province is required.
Country is required.
Phone number is required.
Phone number must be minimum of 10 digit.
Phone number must be numeric.


Home
Albums
Add Album
Welcome to the Albums page !
Album Title :
Artist :
Album Song Count :
Album Length :
Welcome to the Albums page !
Album Title :
Artist :
Album Song Count :
Album Length :


Home
About
Widgets
Analytics
Business Intelligence
DevOps
Administration
Big Data
Custom
Market Research
Design
...
Contact
Grid Menu Panel


Grokking PyTorch Intel CPU performance from first principles (Part 2)¶
Authors: Min Jean Cho, Jing Xu, Mark Saroufim
In the Grokking PyTorch Intel CPU Performance From First Principles tutorial , we have introduced how to tune CPU runtime configurations, how to profile them, and how to integrate them into TorchServe for optimized CPU performance.
In this tutorial, we will demonstrate boosting performance with memory allocator via the Intel® Extension for PyTorch* Launcher , and optimized kernels on CPU via Intel® Extension for PyTorch* , and apply them to TorchServe showcasing 7.71x throughput speedup for ResNet50 and 2.20x throughput speedup for BERT.
Prerequisites¶
Throughout this tutorial, we will use Top-down Microarchitecture Analysis (TMA) to profile and show that the Back End Bound (Memory Bound, Core Bound) is often the primary bottleneck for under-optimized or under-tuned deep learning workloads, and demonstrate optimization techniques via Intel® Extension for PyTorch* for improving Back End Bound. We will use toplev, a tool part of pmu-tools built on top of Linux perf, for TMA.
We will also use Intel® VTune™ Profiler’s Instrumentation and Tracing Technology (ITT) to profile at finer granularity.
Top-down Microarchitecture Analysis Method (TMA)¶
When tuning CPU for optimal performance, it’s useful to know where the bottleneck is. Most CPU cores have on-chip Performance Monitoring Units (PMUs). PMUs are dedicated pieces of logic within a CPU core that count specific hardware events as they occur on the system. Examples of these events may be Cache Misses or Branch Mispredictions. PMUs are used for Top-down Microarchitecture Analysis (TMA) to identify the bottlenecks. TMA consists of hierarchical levels as shown:
The top level, level-1, metrics collect Retiring, Bad Speculation, Front End Bound, Back End Bound. The pipeline of CPU can conceptually be simplified and divided into two: the frontend and the backend. The frontend is responsible for fetching the program code and decoding them into low-level hardware operations called micro-ops (uOps). The uOps are then fed to the backend in a process called allocation. Once allocated, the backend is responsible for executing the uOp in an available execution unit. A completion of uOp’s execution is called retirement. In contrast, a bad speculation is when speculatively fetched uOps are canceled before retiring such as in the case of mispredicted branches. Each of these metrics can further be broken down in the subsequent levels to pinpoint the bottleneck.
Tune for the Back End Bound¶
The majority of untuned deep learning workloads will be Back End Bound. Resolving Back End bound is often resolving sources of latency causing retirement to take longer than necessary. As shown above, Back End Bound has two sub-metrics – Core Bound and Memory Bound.
Memory Bound stalls have causes related to the memory subsystem. For example, last-level cache (LLC or L3 cache) miss causing access to DRAM. Scaling deep learning models often requires significant compute. And high compute utilization requires that data is available when the execution units need it to execute the uOps. This requires prefetching the data and reusing the data in cache instead of fetching that same data multiple times from main memory which causes execution units to be starved while data is being returned. Throughout this tutorial, we wll show that a more efficient memory allocator, operator fusion, memory layout format optimization reduce overhead on Memory Bound with better cache locality.
Core Bound stalls indicate sub-optimal use of available execution units while there are no uncompleted memory accesses. For example, several general matrix-matrix multiplication (GEMM) instructions in a row competing for fused-multiply-add (FMA) or dot-product (DP) execution units could cause Core Bound stalls. Key deep learning kernels, including the DP kernels, have been well optimized by oneDNN library (oneAPI Deep Neural Network Library), reducing overhead on Core Bound.
Operations like GEMM, convolution, deconvolution are compute-intensive. While operations like pooling, batch normalization, activation functions like ReLU are memory-bound.
Intel® VTune™ Profiler’s Instrumentation and Tracing Technology (ITT)¶
The ITT APIs of Intel® VTune Profiler is a useful tool to annotate a region of your workload for tracing to profile and visualize at a finer granularity of your annotation – OP/function/sub-function granularity. By annotating at the granularity of your PyTorch model’s OPs, Intel® VTune Profiler’s ITT enables op-level profiling. Intel® VTune Profiler’s ITT has been integrated into PyTorch Autograd Profiler. 1
The feature has to be explicitly enabled by with torch.autograd.profiler.emit_itt().
TorchServe with Intel® Extension for PyTorch*¶
Intel® Extension for PyTorch* is a Python package to extend PyTorch with optimizations for extra performance boost on Intel hardware.
Intel® Extension for PyTorch* has already been integrated into TorchServe to improve the performance out-of-box. 2 For custom handler scripts, we recommend adding the intel_extension_for_pytorch package in.
The feature has to be explicitly enabled by setting ipex_enable=true in config.properties.
Throughout this section, we will show that Back End Bound is often the primary bottleneck for under-optimized or under-tuned deep learning workloads, and demonstrate optimization techniques via Intel® Extension for PyTorch* for improving Back End Bound, which has two submetrics - Memory Bound, and Core Bound. A more efficient memory allocator, operator fusion, memory layout format optimization improve Memory Bound. Ideally, Memory Bound can be improved to Core Bound by optimized operators and better cache locality. And key deep learning primitives, such as convolution, matrix multiplication, dot-product, have been well optimized by Intel® Extension for PyTorch* and oneDNN library, improving Core Bound.
Leveraging Advanced Launcher Configuration: Memory Allocator¶
Memory allocator plays an important role from performance perspective. A more efficient memory usage reduces overhead on unnecessary memory allocations or destructions, and thus faster execution. For deep learning workloads in practice, especially those running on large multi-core systems or servers like TorchServe, TCMalloc, or JeMalloc can generally get better memory usage than the default PyTorch memory allocator, PTMalloc.
TCMalloc, JeMalloc, PTMalloc¶
Both TCMalloc and JeMalloc use thread-local caches to reduce overhead on thread synchronization, and lock contention by using spinlocks and per-thread arenas respectively. TCMalloc and JeMalloc reduce overhead on unnecessary memory allocation and deallocation. Both allocators categorize memory allocations by sizes to reduce overhead on memory fragmentation.
With the launcher, users can easily experiment with different memory allocators by choosing one of the three launcher knobs –enable_tcmalloc (TCMalloc), –enable_jemalloc (JeMalloc), –use_default_allocator (PTMalloc).
Exercise¶
Let’s profile PTMalloc vs. JeMalloc.
We will use the launcher to designate the memory allocator, and to bind the workload to physical cores of the first socket to avoid any NUMA complication – to profile the effect of memory allocator only.
The following example measures the average inference time of ResNet50:
import torch
import torchvision.models as models
import time
model = models.resnet50(pretrained=False)
model.eval()
batch_size = 32
data = torch.rand(batch_size, 3, 224, 224)
# warm up
for _ in range(100):
model(data)
# measure
# Intel® VTune Profiler's ITT context manager
with torch.autograd.profiler.emit_itt():
start = time.time()
for i in range(100):
# Intel® VTune Profiler's ITT to annotate each step
torch.profiler.itt.range_push('step_{}'.format(i))
model(data)
torch.profiler.itt.range_pop()
end = time.time()
print('Inference took {:.2f} ms in average'.format((end-start)/100*1000))
Let’s collect level-1 TMA metrics.
Level-1 TMA shows that both PTMalloc and JeMalloc are bounded by the backend. More than half of the execution time was stalled by the backend. Let’s go one level deeper.
Level-2 TMA shows that the Back End Bound was caused by Memory Bound. Let’s go one level deeper.
Most of the metrics under the Memory Bound identify which level of the memory hierarchy from the L1 cache to main memory is the bottleneck. A hotspot bounded at a given level indicates that most of the data was being retrieved from that cache or memory-level. Optimizations should focus on moving data closer to the core. Level-3 TMA shows that PTMalloc was bottlenecked by DRAM Bound. On the other hand, JeMalloc was bottlenecked by L1 Bound – JeMalloc moved data closer to the core, and thus faster execution.
Let’s look at Intel® VTune Profiler ITT trace. In the example script, we have annotated each step_x of the inference loop.
Each step is traced in the timeline graph. The duration of model inference on the last step (step_99) decreased from 304.308 ms to 261.843 ms.
Exercise with TorchServe¶
Let’s profile PTMalloc vs. JeMalloc with TorchServe.
We will use TorchServe apache-bench benchmarking with ResNet50 FP32, batch size 32, concurrency 32, requests 8960. All other parameters are the same as the default parameters.
As in the previous exercise, we will use the launcher to designate the memory allocator, and to bind the workload to physical cores of the first socket. To do so, user simply needs to add a few lines in config.properties:
PTMalloc
cpu_launcher_enable=true
cpu_launcher_args=--node_id 0 --use_default_allocator
JeMalloc
cpu_launcher_enable=true
cpu_launcher_args=--node_id 0 --enable_jemalloc
Let’s collect level-1 TMA metrics.
Let’s go one level deeper.
Let’s use Intel® VTune Profiler ITT to annotate TorchServe inference scope to profile at inference-level granularity. As TorchServe Architecture consists of several sub-components, including the Java frontend for handling request/response, and the Python backend for running the actual inference on the models, it is helpful to use Intel® VTune Profiler ITT to limit the collection of trace data at inference-level.
Each inference call is traced in the timeline graph. The duration of the last model inference decreased from 561.688 ms to 251.287 ms - 2.2x speedup.
The timeline graph can be expanded to see op-level profiling results. The duration of aten::conv2d decreased from 16.401 ms to 6.392 ms - 2.6x speedup.
In this section, we have demonstrated that JeMalloc can give better performance than the default PyTorch memory allocator, PTMalloc, with efficient thread-local caches improving Back-End-Bound.
Intel® Extension for PyTorch*¶
The three major Intel® Extension for PyTorch* optimization techniques, Operator, Graph, Runtime, are as shown:
Intel® Extension for PyTorch* Optimization Techniques |
||
|---|---|---|
Operator |
Graph |
Runtime |
|
|
|
Operator Optimization¶
Optimized operators and kernels are registered through PyTorch dispatching mechanism. These operators and kernels are accelerated from native vectorization feature and matrix calculation feature of Intel hardware. During execution, Intel® Extension for PyTorch* intercepts invocation of ATen operators, and replaces the original ones with these optimized ones. Popular operators like Convolution, Linear have been optimized in Intel® Extension for PyTorch*.
Exercise¶
Let’s profile optimized operator with Intel® Extension for PyTorch*. We will compare with and without the lines in code changes.
As in the previous exercises, we will bind the workload to physical cores of the first socket.
import torch
class Model(torch.nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv = torch.nn.Conv2d(16, 33, 3, stride=2)
self.relu = torch.nn.ReLU()
def forward(self, x):
x = self.conv(x)
x = self.relu(x)
return x
model = Model()
model.eval()
data = torch.rand(20, 16, 50, 100)
#################### code changes ####################
import intel_extension_for_pytorch as ipex
model = ipex.optimize(model)
######################################################
print(model)
The model consists of two operations—Conv2d and ReLU. By printing the model object, we get the following output.
Let’s collect level-1 TMA metrics.
Notice the Back End Bound reduced from 68.9 to 38.5 – 1.8x speedup.
Additionally, let’s profile with PyTorch Profiler.
Notice the CPU time reduced from 851 us to 310 us – 2.7X speedup.
Graph Optimization¶
It is highly recommended for users to take advantage of Intel® Extension for PyTorch* with TorchScript for further graph optimizations. To optimize performance further with TorchScript, Intel® Extension for PyTorch* supports oneDNN fusion of frequently used FP32/BF16 operator patterns, like Conv2D+ReLU, Linear+ReLU, and more to reduce operator/kernel invocation overheads, and for better cache locality. Some operator fusions allow to maintain temporary calculations, data type conversions, data layouts for better cache locality. As well as for INT8, Intel® Extension for PyTorch* has built-in quantization recipes to deliver good statistical accuracy for popular DL workloads including CNN, NLP and recommendation models. The quantized model is then optimized with oneDNN fusion support.
Exercise¶
Let’s profile FP32 graph optimization with TorchScript.
As in the previous exercises, we will bind the workload to physical cores of the first socket.
import torch
class Model(torch.nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv = torch.nn.Conv2d(16, 33, 3, stride=2)
self.relu = torch.nn.ReLU()
def forward(self, x):
x = self.conv(x)
x = self.relu(x)
return x
model = Model()
model.eval()
data = torch.rand(20, 16, 50, 100)
#################### code changes ####################
import intel_extension_for_pytorch as ipex
model = ipex.optimize(model)
######################################################
# torchscript
with torch.no_grad():
model = torch.jit.trace(model, data)
model = torch.jit.freeze(model)
Let’s collect level-1 TMA metrics.
Notice the Back End Bound reduced from 67.1 to 37.5 – 1.8x speedup.
Additionally, let’s profile with PyTorch Profiler.
Notice that with Intel® Extension for PyTorch* Conv + ReLU operators are fused, and the CPU time reduced from 803 us to 248 us – 3.2X speedup. The oneDNN eltwise post-op enables fusing a primitive with an elementwise primitive. This is one of the most popular kinds of fusion: an eltwise (typically an activation function such as ReLU) with preceding convolution or inner product. Have a look at the oneDNN verbose log shown in the next section.
Channels Last Memory Format¶
When invoking ipex.optimize on model, Intel® Extension for PyTorch* automatically converts the model to optimized memory format, channels last. Channels last is a memory format that is more friendly to Intel Architecture. Compared to PyTorch default channels first NCHW (batch, channels, height, width) memory format, channels last NHWC (batch, height, width, channels) memory format generally accelerates convolutional neural networks with better cache locality.
One thing to note is that it is expensive to convert memory format. So it’s better to convert the memory format prior to deployment once, and keep the memory format conversion minimum during deployment. As the data propagates through model’s layers the channels last memory format is preserved through consecutive channels last supported layers (for example, Conv2d -> ReLU -> Conv2d) and conversions are only made in between channels last unsupported layers. See Memory Format Propagation for more details.
Exercise¶
Let’s demonstrate channels last optimization.
import torch
class Model(torch.nn.Module):
def __init__(self):
super(Model, self).__init__()
self.conv = torch.nn.Conv2d(16, 33, 3, stride=2)
self.relu = torch.nn.ReLU()
def forward(self, x):
x = self.conv(x)
x = self.relu(x)
return x
model = Model()
model.eval()
data = torch.rand(20, 16, 50, 100)
import intel_extension_for_pytorch as ipex
############################### code changes ###############################
ipex.disable_auto_channels_last() # omit this line for channels_last (default)
############################################################################
model = ipex.optimize(model)
with torch.no_grad():
model = torch.jit.trace(model, data)
model = torch.jit.freeze(model)
We will use oneDNN verbose mode, a tool to help collect information at oneDNN graph level such as operator fusions, kernel execution time spent on executing oneDNN primitives. For more information, refer to the oneDNN Documentation.
Above is oneDNN verbose from channels first. We can verify that there are reorders from weight and data, then do computation, and finally reorder output back.
Above is oneDNN verbose from channels last. We can verify that channels last memory format avoids unnecessary reorders.
Performance Boost with Intel® Extension for PyTorch*¶
Below summarizes performance boost of TorchServe with Intel® Extension for PyTorch* for ResNet50 and BERT-base-uncased.
Exercise with TorchServe¶
Let’s profile Intel® Extension for PyTorch* optimizations with TorchServe.
We will use TorchServe apache-bench benchmarking with ResNet50 FP32 TorchScript, batch size 32, concurrency 32, requests 8960. All other parameters are the same as the default parameters.
As in the previous exercise, we will use the launcher to bind the workload to physical cores of the first socket. To do so, user simply needs to add a few lines in config.properties:
cpu_launcher_enable=true
cpu_launcher_args=--node_id 0
Let’s collect level-1 TMA metrics.
Level-1 TMA shows that both are bounded by the backend. As discussed earlier, the majority of untuned deep learning workloads will be Back End Bound. Notice the Back End Bound reduced from 70.0 to 54.1. Let’s go one level deeper.
As discussed earlier, Back End Bound has two submetrics – Memory Bound and Core Bound. Memory Bound indicates the workload is under-optimized or under-utilized, and ideally memory-bound operations can be improved to core-bound by optimizing the OPs and improving cache locality. Level-2 TMA shows that the Back End Bound improved from Memory Bound to Core Bound. Let’s go one level deeper.
Scaling deep learning models for production on a model serving framework like TorchServe requires high compute utilization. This requires that data is available through prefetching and reusing the data in cache when the execution units need it to execute the uOps. Level-3 TMA shows that the Back End Memory Bound improved from DRAM Bound to Core Bound.
As in the previous exercise with TorchServe, let’s use Intel® VTune Profiler ITT to annotate TorchServe inference scope to profile at inference-level granularity.
Each inference call is traced in the timeline graph. The duration of the last inference call decreased from 215.731 ms to 95.634 ms - 2.3x speedup.
The timeline graph can be expanded to see op-level profiling results. Notice that Conv + ReLU has been fused, and the duration decreased from 6.393 ms + 1.731 ms to 3.408 ms - 2.4x speedup.
Conclusion¶
In this tutorial, we have used Top-down Microarchitecture Analysis (TMA) and Intel® VTune™ Profiler’s Instrumentation and Tracing Technology (ITT) to demonstrate that
Often the primary bottleneck of under-optimized or under-tuned deep learning workloads are Back End Bound, which has two submetrics, Memory Bound and Core Bound.
A more efficient memory allocator, operator fusion, memory layout format optimization by Intel® Extension for PyTorch* improve Memory Bound.
Key deep learning primitives, such as convolution, matrix multiplication, dot-product, etc have been well optimized by Intel® Extension for PyTorch* and oneDNN library, improving Core Bound.
Intel® Extension for PyTorch* has been integrated into TorchServe with an ease-of-use API.
TorchServe with Intel® Extension for PyTorch* shows 7.71x throughput speedup for ResNet50, and 2.20x throughput speedup for BERT.
Acknowledgement¶
We would like to thank Ashok Emani (Intel) and Jiong Gong (Intel) for their immense guidance and support, and thorough feedback and reviews throughout many steps of this tutorial. We would also like to thank Hamid Shojanazeri (Meta) and Li Ning (AWS) for their helpful feedback in code review and the tutorial.


With zero coding experience, artist building 180 webpages ...
arstechnica.com/.../with-zero-coding-experience-arti...
26 de jul de 2013 With zero coding experience, artist building 180 webpages in 180
days. "Learning by doing" is taken to the extreme by novice programmer.
Watch this webpage code itself. : InternetIsBeautiful - Reddit
https://www.reddit.com/.../watch_this_webpage_cod...
1 de abr de 2015 - Medal of BeautyWatch this webpage code itself. (codepen.io).
submitted 1 year ago by fyrie · 58 comments; share. loading... all 58 comments.
Build Your Own Webpage | Codecademy
https://www.codecademy.com/pt-BR/courses/web-beginner-en-LceTK
Check out the index.html file and the Result tab for an example—we've made our very
own webpage. Instruções. Hit Save & Submit Code to start building your ...
How to Make a Website - Step-by-Step Guide for Beginners
websitesetup.org/
Learn how to make a website and set it up. This site contains different tutorials on how to
build a website using WordPress, Joomla, Drupal & HTML.
I'm learning to code by building 180 websites in 180 days.
blog.jenniferdewalt.com/.../im-learning-to-code-by-...
24 de jul de 2013 -I'm learning to code by building 180 websites in 180 days. Today is
day 115. A little over 4 months ago, I decided I was going to learn to code.
How I Built This Website - Phil's Old Radios
antiqueradio.org/howto.htm
You don't need an expensive computer to build a website. What you need is a machine
that can connect to the Internet and do basic text editing and image ...
WIX.com: Free Website Builder | Create a Free Website
www.wix.com/
Create a free website with Wix.com. Customize with Wix' free website builder, no coding
skills needed. Choose a design, begin customizing and be online today!
How Do We Know They Need This Webpage? | Inc.com
www.inc.com/...build.../how-do-we-know-they-need...
2 de ago de 2013 -During a recent visit to HubSpot's headquarters, members of the
Build team got to see the remnants of one of the inbound marketing firm's ...
BuiltWith Technology Lookup
builtwith.com/
Lead Generation. Build lists of websites from our database of 14,324+ web technologies
and over a quarter of a billion websites showing which sites use ...
How to Build a Website | You Don't Have To Be A Tech Geek
www.websitebuilderexpert.com › Website Design
7 de mar de 2016 -They programmed the website building software so now you literally
just have to use your mouse and drag a slideshow, a block of text, images, ...


Training
You'll spend your first week of training in your establishment meeting your future colleagues and learning about our routine. After this week, you'll start on our Prison Officer Entry Level Training (POELT) course. On this comprehensive training programme (which is either residential or local depending on your location) you'll develop the interpersonal skills that will help you manage people in custody.
You'll also learn techniques that prepare you for any situation in a dynamic prison environment, including search and security procedures as well as control and restraint techniques. At the end of this course, you will complete the Skills For Justice (SFJ) Level 3 Diploma in the management and care of individuals in the custodial environment. You will also have the opportunity to participate in more training as you progress through the Service.
Benefits
By taking on such responsibility for our prisoners and the public, it’s only right that you’re recognised for your work, and there’s no doubt that this role is well rewarded.
{# TODO: FAQ link #} In addition to your salary (see FAQs) you’ll join the Civil Service pension scheme. You will also receive a number of other benefits, including 25 days’ holiday allowance each year, childcare vouchers, season ticket loans, retail discounts, Employee Assistance Programme and Cycle to Work scheme.
{# TODO: Facebook link #} Talk to us on Facebook to find out more.


| Ticker | Company | Market Cap | Category | P/E | PEG | Cash | Debt/Equity | Current | Payout | Rating | Recommendation |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Ticker | Company | Market Cap | Category | P/E | PEG | Cash | Debt/Equity | Current | Payout | Rating | Recommendation |
| Ticker | Company | Market Cap | Category | P/E | PEG | Cash | Debt/Equity | Current | Payout | Rating | Recommendation |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Ticker | Company | Market Cap | Category | P/E | PEG | Cash | Debt/Equity | Current | Payout | Rating | Recommendation |


Bond, Bryan Bond
Hi my name is Bryan Bond. While I wish I had a uncle named James I just want to put out a disclaimer that I have no relation to James Bond or maybe one day I will find it, time will tell. I live in Ogden, Utah and have lived here my entire life. I have spent some time in the islands of the south pacific which was amazing. I am married to my wife Kourtney and have two amazing children named Bode and Lottie. I love to ski in the winter and ride bikes in the summer. I also love spending time with my family, traveling and of course learning more about tech.
A little bit more about me professionally I have been in Sales and Marketing for the past eight years. I have worked in many
different fields including technology, healthcare, industrial, and the ski industry. I have really enjoyed most places I have
worked. I have always enjoyed tech and just felt like I wanted to try something different from sales and marketing so I looked
into web dev and felt like this was an avenue I wanted to pursue to see where it could take me.
As they say Life begins when at the end of your confort zone
While this is new to me I am looking forward to continue learning it.


Molecular characterization of germline mutations in the BRCA1 and BRCA2 genes from breast cancer families in Taiwan.
A total of 18 families with multiple cases of breast cancer were identified from southern Taiwan, and 5 of these families were found to carry cancer-associated germline mutations in the BRCA1 and BRCA2 genes. One novel cryptic splicing mutation of the BRCA1 gene, found in two unrelated families, was shown to be a deletion of 10 bp near the branch site in intron 7. This mutation causes an insertion of 59 nucleotides derived from intron 7 and results in a frameshift, leading to premature translational termination of BRCA1 mRNA in exon 8. Deletions of 2670delC, 3073delT and 6696-7delTC in the BRCA2 gene were found in three other breast cancer families. All three deletions are predicted to generate frameshifts and to result in the premature termination of BRCA2 protein translation. Several genetic polymorphisms in both BRCA1 and BRCA2 genes were also detected in this investigation.


The idea for this project is to create a password, generation and rating utility in PHP. This project consists of three tools:
The main utility being a password strength meter. This meter uses the minimum cracking speeds found on the hashcat website. http://hashcat.net/oclhashcat-plus/ and uses those speeds along with a point value system to measure the "strength" of the password according to the time it would take to brute force the hash value of the password. The goal of this project is to learn PHP. There now exist better ways of calculating the brute force times.
Learn MoreGenerates a random password given certain parameters such as length, character set and size.
Learn MoreGenerates a random password that is "Human readable" i.e. it inserts dictionary words into the password.
Learn More


Investigation clears assistant principal over mass shooting
FORT LAUDERDALE, Fla. (AP) - A school district investigation cleared one of three assistant principals who were reassigned following the 2018 mass shooting at a Florida high school.
The South Florida SunSentinel reports Winfred Porter Jr. and two colleagues at Marjory Stoneman Douglas High School were reassigned a year ago after the superintendent promised disciplinary action tied to the district’s perceived failure to penalize anyone but a few low-level employees.
Head of the investigative unit Craig Kowalski wrote in a letter to Porter that they found “an insufficient factual or legal basis exists” to establish just cause disciplinary action.
Director of the Broward Principals and Assistants Association Lisa Maxwell says Porter was accused of problems that fell outside his job duties.
The letter says Porter is free to return to the school or remain in his current assignment.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


Subscribed Topics:
See here for Matrix layout options. Thanks to Adafruit
Click this to identify first pixel,
Click this to show order


Source code for cadishi.io.ascii
# -*- Mode: python; tab-width: 4; indent-tabs-mode:nil; coding: utf-8 -*-
# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 fileencoding=utf-8
#
# Cadishi --- CAlculation of DIStance HIstograms
#
# Copyright (c) Klaus Reuter, Juergen Koefinger
# See the file AUTHORS.rst for the full list of contributors.
#
# Released under the MIT License, see the file LICENSE.txt.
"""Cadishi ASCII IO library.
ASCII data writer for base.Container instances, mainly designed for debugging
purposes. A reader is currently not implemented.
"""
from __future__ import print_function
from builtins import str
import numpy as np
import json
from .. import base
from .. import dict_util
[docs]class ASCIIReader(base.Reader):
"""ASCII data reader, currently not implemented."""
def __init__(self):
raise NotImplementedError()
[docs]class ASCIIWriter(base.Writer):
"""ASCII data writer for base.Container instances."""
_depends = []
_conflicts = []
def __init__(self, directory='.', source=-1, verbose=False):
self.directory = directory
self.src = source
self.verb = verbose
self.counter = 0
# ---
self._depends.extend(super(base.Writer, self)._depends)
self._conflicts.extend(super(base.Writer, self)._conflicts)
[docs] def write_frame(self, frm):
path = self.directory + '/' + str(frm.i)
dict_util.write_dict(frm.data, path)
[docs] def dump(self):
for frm in next(self.src):
if self.verb and (self.counter % 10 == 0):
print("ASCIIWriter.dump() : ", frm.i)
self.counter += 1
self.write_frame(frm)


Invalid username and password.
You have been logged out.
Login
Login
Don't have an account?
Sign Up
Facebook
Twitter


Sport Grey Unisex Hoodie Sweatshirt with Black Logo
SWEETHMUB7B7B7000000
This comfortable hoodie is made of 100% combed ring-spun cotton except for heather black logo, which contains polyester. Our premium Unisex Hoodie Sweatshirt is everything you could ask for: it's warm and cozy, heavyweight, unique, roomy, and it's built to last.


Spotify
Home
About
My favourite Music Playlist
Let me Love You
05:34
Let me Love You
05:34
Let me Love You
05:34
Let me Love You
05:34
Let me Love You
05:34
Let me Love You
05:34
Let me Love You
05:34
Let me Love You
05:34
Let me Love You
05:34
Let me Love You
05:34
Teri Meri Kahani...


--- extends: base.j2 default_block: main title: ASTR 599 Syllabus description: Astr 599 Syllabus ---
ASTR 599 is an introduction to the concepts of scientific computing using the Python programming language, and the Scipy ecosystem, including NumPy, SciPy, Matplotlib, IPython, and other related packages.
This course is aimed at incoming graduate students who have some experience with scientific computing, but who are not necessarily familiar with the Python programming language. We will assume that before starting the course, students have some experience with:
By the end of the course, students will have seen experience with many more advanced techniques which are vital to effective scientific research, including but not limited to:
The overarching goal is for a student with little experience in computational research to be equipped to start working in any area of Astronomical research, whether the emphasis is observational or theoretical. While a single quarter class could never provide every student experience with every computing tool they will encounter in graduate school, this course will lay a foundation from which new tools and techniques can be explored.
The seminar portion of this course is available for 1 pass/fail credit. In order to receive a pass, students must complete the following:
The assignments each week will be a chance to go deeper in the subject area covered, and to highlight coding practices that are useful for astronomical research. They are designed to take between one and two hours for a typical student with the background described above, though those with more experience will likely be able to finish much more quickly.


Title of a event
Summary a event.
Link
Title of a event
Summary a event.
Link
Title of a event
Summary a event.
Link
Title of a event
Summary a event.
Link
Title of a event
Summary a event.
Link
Title of a event
Summary a event.
Link
Title of a event
Summary a event.
Link
Title of a event
Summary a event.
Link
Title of a event
Summary a event.
Link


HOME
STORE
ABOUT
WELCOME TO OUR STORE
Cakes
Macarons Cake
25 DT
ADD TO CART
Raspberry Cake
30 DT
ADD TO CART
Chocolate Cake
25 DT
ADD TO CART
Vanilla Cake
35 DT
ADD TO CART
Cup Cakes
Raspberry Cup Cake
45 DT
ADD TO CART
Strawberry Cup Cake
35 DT
ADD TO CART
Vanilla Cup Cake
30 DT
ADD TO CART
Chocolate Cup Cake
15 DT
ADD TO CART
Purchases
Item
Price
Quantity
TOTAL
0 DT
Confirm


Contract Us
User id:
Password:
Name:
Address:
Country
Select Country
Åland Islands
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antarctica
Antigua and Barbuda
Argentina
Armenia
Aruba
Zip Code
Email:
Sex:
Male
Female
Language:
English
Non English
About:


weekly schedule 2020 - semester 2
nov 17
- copmutation about means of understanding
-
-
-
- history of programming languages
nov 24
- aesthetics about means of understanding (lit)
-
- conferences + books to order
-
-
dec 1
- aesthetics about means of understanding (lit)
-
- go through reference list
dec 8
- copmutation about means of understanding
-
dec 15
- find content about craftsmanship
dec 22
- go through content about craftsmanship
dec 29


{{ currentUser }}
Instructions for uploading invoices
Before you upload your invoices:
1. Create a new folder on your device
2. Download all the invoice files from your email and place in the folder
3. Enter your RyderID
4. Choose all the files to download
5. Make sure not to upload the same invoice twice!
6. If upload is successful, go to dashboard page


Login
Username
Password
Login
Dont have an account?
Close Login Screen
Registration
Username
Password
Email
Name
Register
Already have an account?
Back to main menu


This Class represents the body of a Handle/Body idiom of a User for the GiroDeGado software.
More...
#include <userImpl.h>
|
| | UserBody () |
| |
| virtual | ~UserBody () |
| |
| void | setNickname (QSqlQuery *query, std::string actual_user_nickname, std::string new_user_nickname) |
| |
| QString | getNickname (QSqlQuery *query, std::string user_nickname) const |
| |
| void | setName (QSqlQuery *query, std::string user_nickname, std::string user_name) |
| |
| QString | getName (QSqlQuery *query, std::string user_nickname) const |
| |
| void | setPassword (QSqlQuery *query, std::string user_nickname, std::string user_password) |
| |
| QString | getPassword (QSqlQuery *query, std::string user_nickname) const |
| |
| void | setDate (QSqlQuery *query, std::string user_nickname, std::string user_date) |
| |
| QString | getDate (QSqlQuery *query, std::string user_nickname) const |
| |
| void | setType (QSqlQuery *query, std::string user_nickname, std::string user_type) |
| |
| QString | getType (QSqlQuery *query, std::string user_nickname) const |
| |
| Public Member Functions inherited from Body |
| | Body () |
| | Constructor: zero references when the object is being built. More...
|
| |
| void | attach () |
| | Increases the number of references to this object. More...
|
| |
| void | detach () |
| |
| int | refCount () |
| | Returns the number of references to this object. More...
|
| |
| virtual | ~Body () |
| | Destructor. More...
|
| |
This Class represents the body of a Handle/Body idiom of a User for the GiroDeGado software.
◆ UserBody() [1/2]
| UserBody::UserBody |
( |
const UserBody & |
user | ) |
|
|
private |
This is the copy constructor for the UserBody Class.
- Parameters
-
| user | the UserBody that is going to be cloned. |
◆ UserBody() [2/2]
◆ ~UserBody()
This is the default destructor for the UserBody Class.
◆ getDate()
| QString UserBody::getDate |
( |
QSqlQuery * |
query, |
|
|
std::string |
user_nickname |
|
) |
| const |
Returns the date of the current User in the database.
- Parameters
-
| query | the query of a database. |
| user_nickname | the date of the current User. |
- Returns
- QString - the content date attribute.
◆ getName()
| QString UserBody::getName |
( |
QSqlQuery * |
query, |
|
|
std::string |
user_nickname |
|
) |
| const |
Returns the name of the current User in the database.
- Parameters
-
| query | the query of a database. |
| user_nickname | the name of the current User. |
- Returns
- QString - the content name attribute.
◆ getNickname()
| QString UserBody::getNickname |
( |
QSqlQuery * |
query, |
|
|
std::string |
user_nickname |
|
) |
| const |
Returns the nickname of the current User in the database.
- Parameters
-
| query | the query of a database. |
| user_nickname | the nickname of the current User. |
- Returns
- QString - the content nickname attribute.
◆ getPassword()
| QString UserBody::getPassword |
( |
QSqlQuery * |
query, |
|
|
std::string |
user_nickname |
|
) |
| const |
Returns the password of the current User in the database.
- Parameters
-
| query | the query of a database. |
| user_nickname | the password of the current User. |
- Returns
- QString - the content password attribute.
◆ getType()
| QString UserBody::getType |
( |
QSqlQuery * |
query, |
|
|
std::string |
user_nickname |
|
) |
| const |
Returns the type of the current User in the database.
- Parameters
-
| query | the query of a database. |
| user_nickname | the type of the current User. |
- Returns
- QString - the content type attribute.
◆ operator=()
This is the overloaded assignment operator for the UserBody Class.
◆ setDate()
| void UserBody::setDate |
( |
QSqlQuery * |
query, |
|
|
std::string |
user_nickname, |
|
|
std::string |
user_date |
|
) |
| |
Sets the name of the current User in the database.
- Parameters
-
| query | the query of a database. |
| user_nickname | the nickname of the current User. |
| user_date | which will be set to the current User. |
◆ setName()
| void UserBody::setName |
( |
QSqlQuery * |
query, |
|
|
std::string |
user_nickname, |
|
|
std::string |
user_name |
|
) |
| |
Sets the name of the current User in the database.
- Parameters
-
| query | the query of a database. |
| user_nickname | the nickname of the current User. |
| user_name | which will be set to the current User. |
◆ setNickname()
| void UserBody::setNickname |
( |
QSqlQuery * |
query, |
|
|
std::string |
actual_user_nickname, |
|
|
std::string |
new_user_nickname |
|
) |
| |
Sets the nickname of the current User in the database.
- Parameters
-
| query | the query of a database. |
| actual_user_nickname | the nickname of the current User. |
| new_user_nickname | which will be set to the current User. |
◆ setPassword()
| void UserBody::setPassword |
( |
QSqlQuery * |
query, |
|
|
std::string |
user_nickname, |
|
|
std::string |
user_password |
|
) |
| |
Sets the name of the current User in the database.
- Parameters
-
| query | the query of a database. |
| user_nickname | the nickname of the current User. |
| user_password | which will be set to the current User. |
◆ setType()
| void UserBody::setType |
( |
QSqlQuery * |
query, |
|
|
std::string |
user_nickname, |
|
|
std::string |
user_type |
|
) |
| |
Sets the name of the current User in the database.
- Parameters
-
| query | the query of a database. |
| user_nickname | the nickname of the current User. |
| user_type | which will be set to the current User. |
The documentation for this class was generated from the following files:


WITNESS LIST Business & Commerce Committee April 21, 2005 - 9:00A HB 1154 FOR: Miller, Elizabeth (Self), Waco, TX ON: Flores, Carmen (Texas Secretary of State), Austin, TX Registering, but not testifying: For: Temple, Larry (Texas Mortgage Bankers Association), Austin, TX HB 1236 Registering, but not testifying: For: Chick, Craig (Texas Association of Realtors), Austin, TX Neeley, Karen (Independent Bankers Association of Texas), Austin, TX Sandberg, Eric (Texas Savings and Community Bankers Association), Austin, TX Temple, Larry (Texas Mortgage Bankers Association), Austin, TX On: Doggett, Robert W. (Texas Low Income Housing Information Service), Austin, TX HB 1286 Registering, but not testifying: For: Greene, Diane (Gulf States Financial Services), Houston, TX Vane, Mark (Gardere Wynne Sewell LLP), Austin, TX On: Kuntz Jr., William H. (Texas Department of Licensing and Regulation), Austin, TX HB 1319 FOR: Lebowitz, J. Leon (Texas Business Law Foundation), Austin, TX ON: Flores, Carmen (Texas Secretary of State), Austin, TX Registering, but not testifying: For: Robertson, Daryl (Texas Business Law Foundation), Dallas, TX On: Miller, Elizabeth (Self), Waco, TX HB 1507 FOR: McKinnon, Kirk (Texas Business Law Foundation), Dallas, TX Registering, but not testifying: For: Lebowitz, J. Leon (Texas Business Law Foundation), Austin, TX On: Flores, Carmen (Texas Secretary of State), Austin, TX SB 246 FOR: Oliver, Harold (San Antonio Spurs Sports and Entertainment), Austin, TX SB 617 FOR: Doggett, Robert W. (Texas Low Income Housing Information Service), Austin, TX Hull, Matt (Texas Association of Community Development Corporations), Austin, TX AGAINST: Heasley, John (Texas Bankers Association), Austin, TX Neeley, Karen (Independent Bankers Association of Texas), Austin, TX Polan, Deborah (Texas Financial Services Association), Austin, TX Registering, but not testifying: For: Bhatia, Khelan (AARP), Austin, TX Henneberger, John (Texas Low Income Housing Information Service), Austin, TX Williams, Sandra (Alamo Area Mutual Housing and Texas Association of Community Development Corporations), San Antonio, TX Against: Sandberg, Eric (Texas Savings and Community Bankers Association), Austin, TX Temple, Larry (Texas Mortgage Bankers Association), Austin, TX On: James, Randall S. (Texas Department of Banking), Austin, TX Pettijohn, Leslie Commissioner (Consumer Credit Commissioner), Austin, TX SB 618 FOR: Doggett, Robert W. (Texas Low Income Housing Information Service), Austin, TX Hull, Matt (Texas Association of Community Development Corporations), Austin, TX AGAINST: Heasley, John (Texas Bankers Association), Austin, TX Neeley, Karen (Independent Bankers Association of Texas), Austin, TX Polan, Deborah (Texas Financial Services Association), Austin, TX Registering, but not testifying: For: Bhatia, Khelan (AARP), Austin, TX Henneberger, John (Texas Low Income Housing Information Service), Austin, TX Williams, Sandra (Alamo Area Mutual Housing and Texas Association of Community Development Corporations), San Antonio, TX Against: Sandberg, Eric (Texas Savings and Community Bankers Association), Austin, TX Temple, Larry (Texas Mortgage Bankers Association), Austin, TX On: James, Randall S. (Texas Department of Banking), Austin, TX Pettijohn, Leslie Commissioner (Consumer Credit Commissioner), Austin, TX SB 625 FOR: Doggett, Robert W. (Texas Low Income Housing Information Service), Austin, TX AGAINST: Heasley, John (Texas Bankers Association), Austin, TX Neeley, Karen (Independent Bankers Association of Texas), Austin, TX Polan, Deborah (Texas Financial Services Association), Austin, TX Registering, but not testifying: For: Bristow, Stephen (District Attorney Young and Stephens County), Graham, TX Henneberger, John (Texas Low Income Housing Information Service), Austin, TX Against: Temple, Larry (Texas Mortgage Bankers Association), Austin, TX On: James, Randall S. (Texas Department of Banking), Austin, TX Pettijohn, Leslie Commissioner (Consumer Credit Commissioner), Austin, TX SB 1056 Registering, but not testifying: For: Henneberger, John (Texas Low Income Housing Information Service), Austin, TX Hull, Matt (Texas Association of Community Development Corporations), Austin, TX McCarver, Bo (Blackland Community Development Corporation), Austin, TX Oliver, Frank (Blackland Community Development Corporation), Austin, TX Way, Heather K. (Self), Austin, TX Williams, Sandra (Alamo Area Mutual Housing and Texas Association of Community Development Corporations), San Antonio, TX SB 1748 FOR: Craven, Eric (Texas Electric Cooperatives), Austin, TX Levin, Adina (EFF - Austin), Austin, TX Oldham, Phillip (Texas Coalition for Competitive Electricity), Austin, TX AGAINST: Houle, Steve (Association of Electric Companies of Texas and TXU Electric Delivery), Dallas, TX Rozzell, Scott (Association of Electric Companies of Texas and Centerpoint Energy), Houston, TX ON: Smith, Tom "Smitty" (Public Citizen), Austin, TX Registering, but not testifying: Against: Carter, Donato (Centerpoint Energy), Sugar Land, TX


You did great job by taking the dogs away from the streets. During the winter,me and my family could not get out of home because we felt insecure. Very often,nearly 50 dogs were there walking and wandering around.I called the police and they came afer 4 hours.During 4 hours could have happpen anything if we would rely in their help. From my experience,I know cases when the dogs had attacked and ate people leaving them lifeless.
While me and colleagues were disscusing about some projects,I was deeply concentrated in disscusion when one dog barked somewhere very near and his bark was very load,he seem to be in office even though I could not see him. I was so scared in first seconds until i figured out that I am safe and no dog can do any harm to me.Then I continued to work with my colleagues who laughed at me.
I was ready to start my work day.I took the stairs from the 6th floor to go out of my apartment building,in a quite good mood.Outside of my apartament building,my neighbors usually park their cars. I was freely walking,singing and looking at the blue when a strong,big,hairy dog came in front of me.I was not scared at first,but lately when i remembered how close to each other were we,I am surprised with myself how I remained calm in these moments. If that dog would be small,weak,thin not being scared would be a normal thing. But that dog was nearly my length. And he had a thick belt in his head,it looked like he teared off the belt and escaped from his boss.One more reason to be afraid...
In my city,it looked like we shared every place with dogs. In school,in work,in fitness,in market.I could hear the dog's bark every day and everywhere. They were everywhere,I mean everywhere.
Years ago my father was bitten by a dog. It was terrible.I didn't want this to happen to somone else.I thought is better to kill all dogs but this was not right. So it is great to hear that they found a solution to keep people safe.
We would love to hear your story too.