| S No | {{i+1}} | Product Name | {{row.prod_name}} | Round off Discounts |
Quantity | {{row.prod_quan | number : '1.2-2'}} | {{gross_amt.roundoff_sym}} {{gross_amt.roundoff_val|currency:'INR'}} - {{gross_amt.discount|currency:'INR'}} |
Rate | {{row.prod_rate_per_unit|currency:'INR'}} | Tax |<EMAIL_ADDRESS>: '1.2-2'}}% | Total | Amount | {{row.sub_amount|currency:'INR'}} | {{gross_amt.total|currency:'INR'}} | Action | delete_forever |
|---|


Username
This is a required field.
Password
Email Address
Supercalifragilistic Label
I've read the terms and conditions
Submit
A Pure Button
A Pure Button
#
Make
Model
Year
1
Honda
Accord
2009
2
Toyota
Camry
2012
3
Hyundai
Elantra
2010


#include <matrix_basic.hpp>
|
| std::vector< std::vector< double > > | get () |
| | Method to return the matrix in the form of vector. More...
|
| |
| std::vector< double > | get_row (int) |
| | Method to return a row of the matrix in the form of a vector. More...
|
| |
| std::vector< double > | get_col (int) |
| | Method to return a column of the matrix in the form of a vector. More...
|
| |
| int | col_length () |
| | Method to return the number of columns. More...
|
| |
| int | row_length () |
| | Method to return the number of rows. More...
|
| |
| void | print () |
| | Method to print a Matrix object. More...
|
| |
| void | head () |
| | Method to print first 5 rows of a Matrix object. More...
|
| |
| void | tail () |
| | Method to print last 5 rows of a Matrix object. More...
|
| |
| void | view (int, int) |
| | Method to print a single cell (row, col) of a Matrix object. More...
|
| |
| void | view (int, int, int, int) |
| | Method to print a range of rows and columns of a Matrix object. More...
|
| |
| Matrix | slice (int, int, int, int) |
| | Method to slice a Matrix object The method will return a Matrix object whose dimensions will be (row_end-row_start, col_end-col_start) More...
|
| |
| Matrix | T () |
| | Method to return the Tranpose of a Matrix The method will return a Matrix object whose dimensions will be (col_length(), row_length()) More...
|
| |
| void | to_double () |
| | Method convert the elements of a Matrix from std::string to double. More...
|
| |
| void | to_string () |
| | Method convert the elements of a Matrix from double to std::string. More...
|
| |
| Matrix | operator+ (Matrix) |
| |
| Matrix | operator+ (double) |
| |
| Matrix | operator- (Matrix) |
| |
| Matrix | operator- (double) |
| |
| Matrix | operator* (Matrix) |
| |
| Matrix | operator* (double) |
| |
| Matrix | operator/ (Matrix) |
| |
| Matrix | operator/ (double) |
| |
| double & | operator() (int, int) |
| |
| Matrix | operator- () |
| |
◆ col_length()
| int Matrix::col_length |
( |
| ) |
|
Method to return the number of columns.
◆ get()
| std::vector< std::vector< double > > Matrix::get |
( |
| ) |
|
Method to return the matrix in the form of vector.
◆ get_col()
| std::vector< double > Matrix::get_col |
( |
int |
col | ) |
|
Method to return a column of the matrix in the form of a vector.
◆ get_row()
| std::vector< double > Matrix::get_row |
( |
int |
row | ) |
|
Method to return a row of the matrix in the form of a vector.
◆ head()
Method to print first 5 rows of a Matrix object.
◆ operator()()
| double & Matrix::operator() |
( |
int |
row, |
|
|
int |
col |
|
) |
| |
◆ operator*() [1/2]
| Matrix Matrix::operator* |
( |
double |
val | ) |
|
◆ operator*() [2/2]
◆ operator+() [1/2]
| Matrix Matrix::operator+ |
( |
double |
val | ) |
|
◆ operator+() [2/2]
◆ operator-() [1/3]
◆ operator-() [2/3]
| Matrix Matrix::operator- |
( |
double |
val | ) |
|
◆ operator-() [3/3]
◆ operator/() [1/2]
| Matrix Matrix::operator/ |
( |
double |
val | ) |
|
◆ operator/() [2/2]
◆ print()
Method to print a Matrix object.
◆ row_length()
| int Matrix::row_length |
( |
| ) |
|
Method to return the number of rows.
◆ slice()
| Matrix Matrix::slice |
( |
int |
row_start, |
|
|
int |
row_end, |
|
|
int |
col_start, |
|
|
int |
col_end |
|
) |
| |
Method to slice a Matrix object The method will return a Matrix object whose dimensions will be (row_end-row_start, col_end-col_start)
◆ T()
◆ tail()
Method to print last 5 rows of a Matrix object.
◆ to_double()
| void Matrix::to_double |
( |
| ) |
|
Method convert the elements of a Matrix from std::string to double.
◆ to_string()
| void Matrix::to_string |
( |
| ) |
|
Method convert the elements of a Matrix from double to std::string.
◆ view() [1/2]
| void Matrix::view |
( |
int |
row, |
|
|
int |
col |
|
) |
| |
Method to print a single cell (row, col) of a Matrix object.
◆ view() [2/2]
| void Matrix::view |
( |
int |
row_start, |
|
|
int |
row_end, |
|
|
int |
col_start, |
|
|
int |
col_end |
|
) |
| |
Method to print a range of rows and columns of a Matrix object.
◆ double_mat
| std::vector<std::vector<double> > Matrix::double_mat |
◆ if_double
| bool Matrix::if_double = false |
◆ str_mat
| std::vector<std::vector<std::string> > Matrix::str_mat |


--- layout: member_profile title: "Alexander Hedglen" permalink: /members/hedglen/ name: "Alexander Hedglen" affiliation: "University of Arizona" jointaffiliation: country: "United States of America" position: "PhD Student" researchtitle: "High Contrast Adaptive Optics Co-Phasing" summary: prior: orcid: website: linkedin: "https://www.linkedin.com/in/alex-hedglen-16079995/" rgate: "https://www.researchgate.net/profile/Alexander_Hedglen" research: ["Adaptive Optics" , "High Contrast Imaging" , "Interferometry" , "Optical Design" , "Wavefront Sensing" ] keywords: "Adaptive Optics -- High Contrast Imaging -- Interferometry -- Optical Design -- Wavefront Sensing" email<EMAIL_ADDRESS>image_path: /assets/img/member/hedglen.jpg ---
Current Research Summary:
The GMT design consists of seven circular 8.4-m diameter segments separated by 30-40 cm gaps, creating the possibility of fluctuations in optical path differences between each mirror segment due to flexure, wind loading, and temperature effects. In order to utilize the full diffraction-limited aperture of the GMT, the seven mirror segments must be co-phased to within a fraction of a wavelength. I’m working on the design and build of a “GMT High-Contrast Phasing Testbed” which leverages the existing MagAO-X ExAO instrument to demonstrate fine phase sensing and simultaneous AO-control for high-contrast GMT natural guide star science. The testbed will simulate the GMT primary and secondary mirror phasing system and will include a GMT dispersed fringe sensor and a pyramid wavefront sensor to measure and correct the phasing of the GMT under realistic wind load and seeing conditions.
Prior Research:


Openstack Helm
Quick Openstack deployment using Helm charts
Table of Contents
- What is Helm?
- What is Openstack Helm?
- Workshops
Kubernetes and Helm
Small introduction to Kubernetes and Helm
What is Kubernetes?
- open-source container-orchestration system for automating deployment designed by Google
- container, microservices and portable cloud platform
- set label per host - enable users to decorate resources with custom information to facilitate their workflows and provide an easy way for management tools to checkpoint state.
- you can use Docker as a container backend
- high availability
What is Helm?
- it helps you manage Kubernetes applications — Helm Charts helps you define, install, and upgrade even the most complex Kubernetes application.
- charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste madness.
- manage Complexity- Charts describe even the most complex apps, provide repeatable application installation, and serve as a single point of authority.
- easy updates, rollbacks
Helm architecture - helm client
- command-line client for end users
- responsible for:
- Local chart development
- Managing repositories
- Interacting with the Tiller server
- Sending charts to be installed
- Asking for information about releases
- Requesting upgrading or uninstalling of existing releases
The Helm client is written in the Go programming language, and uses the gRPC protocol suite to interact with the Tiller server.
Helm architecture - tiller server
- Listening for incoming requests from the Helm client
- Combining a chart and configuration to build a release
- Installing charts into Kubernetes, and then tracking the subsequent release
- Upgrading and uninstalling charts by interacting with Kubernetes
The Tiller server is also written in Go. It provides a gRPC server to connect with the client, and it uses the Kubernetes client library to communicate with Kubernetes. Currently, that library uses REST+JSON.
The Tiller server stores information in ConfigMaps located inside of Kubernetes. It does not need its own database.
Openstack Helm
Introduction into OS Helm project and its charts
What is Openstack Helm?
- AT&T was a founder
- it provides a collection of Helm charts that simply, resiliently, and flexibly deploy OpenStack and related services on Kubernetes.
- is focused on the deployment of OpenStack (and associated) Projects, rather than the development of the projects themselves, and also requires additional supporting infrastructure
- there are also charts to deploy Ceph
- improve Openstack CI/CD workflow
- support upgrade and rollback of services
Example of Helm chart - how does it works?
Helm chart directory structure:
someApp/ Chart.yaml LICENSE # OPTIONAL README.md # OPTIONAL requirements.yaml # OPTIONAL values.yaml charts/ templates/ templates/NOTES.txt
Let's take MariaDB Helm chart - Chart.yaml
name: mariadb version: 5.2.3 appVersion: 10.1.37 description: Fast, reliable, scalable, and easy to use open-source relational database system. MariaDB Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software. Highly available MariaDB cluster. keywords: - mariadb - mysql - database - sql - prometheus home: https://mariadb.org icon: https://bitnami.com/assets/stacks/mariadb/img/mariadb-stack-220x234.png sources: - https://github.com/bitnami/bitnami-docker-mariadb - https://github.com/prometheus/mysqld_exporter maintainers: - name: Bitnami email<EMAIL_ADDRESS>engine: gotpl
Example of Helm chart - how does it works? c.d.
Let's take MariaDB Helm chart - values.yaml
image: registry: docker.io repository: bitnami/mariadb tag: 10.1.37 service: type: ClusterIP port: 3306 securityContext: enabled: true fsGroup: 1001 runAsUser: 1001 rootUser: password: forcePassword: false ...
Example of Helm chart - how does it works? c.d.
Next step: templates: templates/secrets.yaml
<!-- from values.yaml --> ... rootUser: password: forcePassword: false <!-- from templates/secrets.yaml --> data: {{- if .Values.rootUser.password }} mariadb-root-password: "{{ .Values.rootUser.password | b64enc }}" {{- else if (not .Values.rootUser.forcePassword) }} mariadb-root-password: "{{ randAlphaNum 10 | b64enc }}" {{ else }} mariadb-root-password: {{ required "A MariaDB Root Password is required!" .Values.rootUser.password }} {{- end }}
Alternative for Helm - Openstack Kolla-Kubernetes
- mission statement: "provides production-ready containers and deployment tools for operating OpenStack clouds that are scalable, fast, reliable, and upgradable using community best practices" (Openstack Kolla project)
- siplified operations and deployment - configuration managment support with Ansible (Openstack Kolla-Ansible project)
- kolla kubernetes - converted Jinja2 templates to Helm charts; one solution for containers, virtual machines, and bare metal
- support prometheus and Ironic
- "Kolla Kubernetes - project is no longer maintained" - For an alternative, consider checking the project Openstack Helm
OPENSTACK DEPLOYMENT USING K8S AND HELM
Workshop is based on Openstack-HELM
All scripts has been taken from repositories and documentation.
https://docs.openstack.org/openstack-helm/latest/readme.html
https://git.openstack.org/openstack/openstack-helm-infra.git https://git.openstack.org/openstack/openstack-helm.git
Scenario 1
In this scenario we will add new host to the control plane with compute host services.
Control plane will be now in HA state
Key pairs
Please generate RSA keypair and copy it across servers.
Dedicated jumpbox user is given to you.
Servers user is standard: ubuntu.
Password for jumpbox is also common for all other hosts.
# execute on server_1 ssh-keygen -t rsa sudo mkdir /etc/openstack-helm sudo cp /home/ubuntu/.ssh/id_rsa /etc/openstack-helm/deploy-key.pem sudo chown ubuntu /etc/openstack-helm/deploy-key.pem cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # copy ssh_key to server_2 ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@<SERVER_2_IP>
Inventory
Please generate hosts inventory file
This script will create /opt/openstack-helm-infra/tools/gate/devel/multinode-inventory.yaml file.
# execute on server_1 export node_one_ip=$(hostname -I | awk {'print $1'}) export node_two_ip=<SERVER_2_IP> /opt/openstack-helm-infra/tools/gen-multinode-inventory.sh
Verify connection
Please verify ssh connection to second node.
Please ask us if your ssh connection to second host doesn't work.
# execute on server_1 ssh -i /etc/openstack-helm/deploy-key.pem ubuntu@<SERVER_2_IP>
Install k8s
Please install Kubernetes on cluster.
This step could take some time. This step needs to be executed on server_1.
# execute on server_1 cd /opt/openstack-helm-infra make dev-deploy setup-host multinode make dev-deploy k8s multinode
Openstack client
Please execute on server_1:
export FQDN=<USER_NAME>.workshops.ovh export OS_CLOUD=openstack_helm cd /opt/openstack-helm ./tools/deployment/multinode/010-setup-client.sh
Body of this script:
sudo -H -E pip install "cmd2<=0.8.7" sudo -H -E pip install python-openstackclient python-heatclient --ignore-installed sudo -H mkdir -p /etc/openstack sudo -H chown -R $(id -un): /etc/openstack tee /etc/openstack/clouds.yaml << EOF clouds: openstack_helm: region_name: RegionOne identity_api_version: 3 auth: username: 'admin' password: 'password' project_name: 'admin' project_domain_name: 'default' user_domain_name: 'default' auth_url: 'http://keystone.${FQDN}/v3' EOF #NOTE: Build charts make all
INSTALL INGRESS API (NGINX)
Please execute on server_1:
cd /opt/openstack-helm ./tools/deployment/multinode/020-ingress.sh
Watch installation:
watch "kubectl get pods --all-namespaces | grep -i ingress"
Body of this script:
#NOTE: Deploy global ingress : ${OSH_INFRA_PATH:="../openstack-helm-infra"} tee /tmp/ingress-kube-system.yaml << EOF pod: replicas: error_page: 2 deployment: mode: cluster type: DaemonSet network: host_namespace: true EOF helm upgrade --install ingress-kube-system ${OSH_INFRA_PATH}/ingress \ --namespace=kube-system \ --values=/tmp/ingress-kube-system.yaml \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_INGRESS_KUBE_SYSTEM} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh kube-system #NOTE: Display info helm status ingress-kube-system #NOTE: Deploy namespaced ingress controllers for NAMESPACE in openstack ceph; do #NOTE: Deploy namespace ingress tee /tmp/ingress-${NAMESPACE}.yaml << EOF pod: replicas: ingress: 2 error_page: 2 EOF helm upgrade --install ingress-${NAMESPACE} ${OSH_INFRA_PATH}/ingress \ --namespace=${NAMESPACE} \ --values=/tmp/ingress-${NAMESPACE}.yaml #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh ${NAMESPACE} #NOTE: Display info helm status ingress-${NAMESPACE} done
INSTALL CEPH CLUSTER
Please execute on server_1:
cd /opt/openstack-helm ./tools/deployment/multinode/030-ceph.sh
Watch installation:
watch "kubectl get pods --all-namespaces | grep -i ceph"
Body of this script:
... : ${OSH_INFRA_PATH:="../openstack-helm-infra"} for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do helm upgrade --install ${CHART} ${OSH_INFRA_PATH}/${CHART} \ --namespace=ceph \ --values=/tmp/ceph.yaml \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_CEPH_DEPLOY} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh ceph 1200 #NOTE: Validate deploy MON_POD=$(kubectl get pods \ --namespace=ceph \ --selector="application=ceph" \ --selector="component=mon" \ --no-headers | awk '{ print $1; exit }') kubectl exec -n ceph ${MON_POD} -- ceph -s done
ENABLE CEPH FOR OTHER NAMESPACES
Please execute on server_1:
cd /opt/openstack-helm ./tools/deployment/multinode/040-ceph-ns-activate.sh
Body of this script:
#NOTE: Deploy command CEPH_PUBLIC_NETWORK="$(./tools/deployment/multinode/kube-node-subnet.sh)" CEPH_CLUSTER_NETWORK="$(./tools/deployment/multinode/kube-node-subnet.sh)" tee /tmp/ceph-openstack-config.yaml << EOF endpoints: identity: namespace: openstack object_store: namespace: ceph ceph_mon: namespace: ceph network: public: ${CEPH_PUBLIC_NETWORK} cluster: ${CEPH_CLUSTER_NETWORK} deployment: storage_secrets: false ceph: false rbd_provisioner: false cephfs_provisioner: false client_secrets: true rgw_keystone_user_and_endpoints: false bootstrap: enabled: false conf: rgw_ks: enabled: true EOF : ${OSH_INFRA_PATH:="../openstack-helm-infra"} helm upgrade --install ceph-openstack-config ${OSH_INFRA_PATH}/ceph-provisioners \ --namespace=openstack \ --values=/tmp/ceph-openstack-config.yaml \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment info helm status ceph-openstack-config
INSTALL MARIADB (in parallel)
Please execute on server_1:
cd /opt/openstack-helm ./tools/deployment/multinode/050-mariadb.sh
Wait untill:
kubectl get pods --all-namespaces | grep -Ei "(completed|running)"
Body of this script:
tee /tmp/mariadb.yaml << EOF pod: replicas: server: 1 ingress: 1 EOF : ${OSH_INFRA_PATH:="../openstack-helm-infra"} helm upgrade --install mariadb ${OSH_INFRA_PATH}/mariadb \ --namespace=openstack \ --values=/tmp/mariadb.yaml \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_MARIADB} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment info helm status mariadb
INSTALL RABBITMQ (in parallel)
Please execute on server_1:
cd /opt/openstack-helm ./tools/deployment/multinode/060-rabbitmq.sh
Wait untill:
kubectl get pods --all-namespaces | grep -Ei "(completed|running)"
Body of this script:
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} : ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install rabbitmq ${OSH_INFRA_PATH}/rabbitmq \ --namespace=openstack \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_RABBITMQ} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment info helm status rabbitmq
INSTALL MEMCACHED (in parallel)
Please execute on server_1:
cd /opt/openstack-helm ./tools/deployment/multinode/070-memcached.sh
Wait untill:
watch "kubectl get pods --namespace openstack | grep -viE '(running|completed)'"
Body of this script:
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} make -C ${OSH_INFRA_PATH} memcached tee /tmp/memcached.yaml << EOF manifests: network_policy: true network_policy: memcached: ingress: - from: - podSelector: matchLabels: application: keystone - podSelector: matchLabels: application: heat - podSelector: matchLabels: application: glance - podSelector: matchLabels: application: cinder ... ports: - protocol: TCP port: 11211 EOF #NOTE: Deploy command : ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install memcached ${OSH_INFRA_PATH}/memcached \ --namespace=openstack \ --values=/tmp/memcached.yaml \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_MEMCACHED} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment info helm status memcached
INSTALL KEYSTONE
Please execute on server_1:
export FQDN=<USER_NAME>.workshops.ovh cd /opt/openstack-helm ./tools/deployment/multinode/080-keystone.sh
Body of this script:
helm upgrade --install keystone ./keystone \ --set endpoints.identity.host_fqdn_override.public=keystone.$FQDN \ --set network.node_port.enabled=true \ --namespace=openstack \ --set pod.replicas.api=2 \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_KEYSTONE} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment info helm status keystone export OS_CLOUD=openstack_helm sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx openstack endpoint list helm test keystone --timeout 900
INSTALL CEPH RADOS GATEWAY
Please execute on server_1:
cd /opt/openstack-helm ./tools/deployment/multinode/090-ceph-radosgateway.sh
Body of this script:
CEPH_PUBLIC_NETWORK="$(./tools/deployment/multinode/kube-node-subnet.sh)" CEPH_CLUSTER_NETWORK="$(./tools/deployment/multinode/kube-node-subnet.sh)" tee /tmp/radosgw-openstack.yaml << EOF endpoints: identity: namespace: openstack object_store: namespace: openstack ceph_mon: namespace: ceph network: public: ${CEPH_PUBLIC_NETWORK} cluster: ${CEPH_CLUSTER_NETWORK} deployment: storage_secrets: false ceph: true rbd_provisioner: false cephfs_provisioner: false client_secrets: false rgw_keystone_user_and_endpoints: true bootstrap: enabled: false conf: rgw_ks: enabled: true EOF : ${OSH_INFRA_PATH:="../openstack-helm-infra"} helm upgrade --install radosgw-openstack ${OSH_INFRA_PATH}/ceph-rgw \ --namespace=openstack \ --values=/tmp/radosgw-openstack.yaml \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_HEAT} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment info helm status radosgw-openstack export OS_CLOUD=openstack_helm openstack service list openstack container create 'mygreatcontainer' curl -L -o /tmp/important-file.jpg https://imgflip.com/s/meme/Cute-Cat.jpg openstack object create --name 'superimportantfile.jpg' 'mygreatcontainer' /tmp/important-file.jpg
INSTALL GLANCE
Please execute on server_1:
export FQDN=<USER_NAME>.workshops.ovh cd /opt/openstack-helm ./tools/deployment/multinode/100-glance.sh
Body of this script:
#NOTE: Deploy command : ${OSH_OPENSTACK_RELEASE:="newton"} #NOTE(portdirect), this could be: radosgw, rbd, swift or pvc : ${GLANCE_BACKEND:="swift"} tee /tmp/glance.yaml << EOF storage: ${GLANCE_BACKEND} pod: replicas: api: 2 registry: 2 EOF if [ "x${OSH_OPENSTACK_RELEASE}" == "xnewton" ]; then # NOTE(portdirect): glance APIv1 is required for heat in Newton tee -a /tmp/glance.yaml << EOF conf: glance: DEFAULT: enable_v1_api: true enable_v2_registry: true manifests: deployment_registry: true ingress_registry: true pdb_registry: true service_ingress_registry: true EOF fi helm upgrade --install glance ./glance \ --namespace=openstack \ --values=/tmp/glance.yaml \ --set endpoints.image.host_fqdn_override.public=glance.$FQDN \ --set endpoints.identity.host_fqdn_override.public=keystone.$FQDN \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_GLANCE} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment info helm status glance export OS_CLOUD=openstack_helm openstack service list sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx openstack image list openstack image show 'Cirros 0.3.5 64-bit' helm test glance --timeout 900
INSTALL OPENVSWITCH
Please execute on server_1:
cd /opt/openstack-helm ./tools/deployment/multinode/120-openvswitch.sh
Body of this script:
: ${OSH_INFRA_PATH:="../openstack-helm-infra"} helm upgrade --install openvswitch ${OSH_INFRA_PATH}/openvswitch \ --namespace=openstack \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_OPENVSWITCH} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment info helm status openvswitch
INSTALL LIBVIRT
Please execute on server_1:
cd /opt/openstack-helm ./tools/deployment/multinode/130-libvirt.sh
Body of this script:
#NOTE: Deploy libvirt : ${OSH_INFRA_PATH:="../openstack-helm-infra"} helm upgrade --install libvirt ${OSH_INFRA_PATH}/libvirt \ --namespace=openstack \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_LIBVIRT} #NOTE(portdirect): We don't wait for libvirt pods to come up, as they depend # on the neutron agents being up. #NOTE: Validate Deployment info helm status libvirt
INSTALL NOVA AND NEUTRON
Please execute on server_1:
export FQDN=<USER_NAME>.workshops.ovh cd /opt/openstack-helm ./tools/deployment/multinode/140-compute-kit.sh
Body of this script:
#NOTE: Deploy nova tee /tmp/nova.yaml << EOF labels: api_metadata: node_selector_key: openstack-helm-node-class node_selector_value: primary pod: replicas: api_metadata: 1 placement: 2 osapi: 2 conductor: 2 consoleauth: 2 scheduler: 1 novncproxy: 1 EOF if [ "x$(systemd-detect-virt)" == "xnone" ]; then echo 'OSH is not being deployed in virtualized environment' helm upgrade --install nova ./nova \ --namespace=openstack \ --values=/tmp/nova.yaml \ --set endpoints.compute.host_fqdn_override.public=nova.$FQDN \ --set endpoints.compute_metadata.host_fqdn_override.public=metadata.$FQDN \ --set endpoints.image.host_fqdn_override.public=glance.$FQDN \ --set endpoints.network.host_fqdn_override.public=neutron.$FQDN \ --set endpoints.identity.host_fqdn_override.public=keystone.$FQDN \ --set endpoints.compute_novnc_proxy.host_fqdn_override.public=novnc.$FQDN \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_NOVA} else echo 'OSH is being deployed in virtualized environment, using qemu for nova' helm upgrade --install nova ./nova \ --namespace=openstack \ --set endpoints.compute.host_fqdn_override.public=nova.$FQDN \ --set endpoints.compute_metadata.host_fqdn_override.public=metadata.$FQDN \ --set endpoints.image.host_fqdn_override.public=glance.$FQDN \ --set endpoints.network.host_fqdn_override.public=neutron.$FQDN \ --set endpoints.identity.host_fqdn_override.public=keystone.$FQDN \ --set endpoints.compute_novnc_proxy.host_fqdn_override.public=novnc.$FQDN \ --values=/tmp/nova.yaml \ --set conf.nova.libvirt.virt_type=qemu \ --set conf.nova.libvirt.cpu_mode=none \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_NOVA} fi #NOTE: Deploy neutron #NOTE(portdirect): for simplicity we will assume the default route device # should be used for tunnels NETWORK_TUNNEL_DEV="$(sudo ip -4 route list 0/0 | awk '{ print $5; exit }')" tee /tmp/neutron.yaml << EOF network: interface: tunnel: "${NETWORK_TUNNEL_DEV}" labels: agent: dhcp: node_selector_key: openstack-helm-node-class node_selector_value: primary l3: node_selector_key: openstack-helm-node-class node_selector_value: primary metadata: node_selector_key: openstack-helm-node-class node_selector_value: primary pod: replicas: server: 2 conf: neutron: DEFAULT: l3_ha: False min_l3_agents_per_router: 1 max_l3_agents_per_router: 1 l3_ha_network_type: vxlan dhcp_agents_per_network: 1 plugins: ml2_conf: ml2_type_flat: flat_networks: public openvswitch_agent: agent: tunnel_types: vxlan ovs: bridge_mappings: public:br-ex EOF helm upgrade --install neutron ./neutron \ --namespace=openstack \ --set endpoints.network.host_fqdn_override.public=neutron.$FQDN \ --set endpoints.compute.host_fqdn_override.public=nova.$FQDN \ --set endpoints.identity.host_fqdn_override.public=keystone.$FQDN \ --values=/tmp/neutron.yaml \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_NEUTRON} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment info export OS_CLOUD=openstack_helm openstack service list sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx openstack compute service list openstack network agent list helm test nova --timeout 900 helm test neutron --timeout 900
DEPLOY HORIZON
Please execute on server_1:
export FQDN=<USER_NAME>.workshops.ovh cd /opt/openstack-helm ./tools/deployment/multinode/999-horizon.sh
Body of this script:
#NOTE: Deploy command helm upgrade --install horizon ./horizon \ --namespace=openstack \ --set network.node_port.enabled=true \ --set network.node_port.port=31000 \ --set endpoints.dashboard.host_fqdn_override.public=horizon.$FQDN \ --set endpoints.identity.host_fqdn_override.public=keystone.$FQDN \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_HORIZON} #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack #NOTE: Validate Deployment export OS_CLOUD=openstack_helm openstack service list helm status horizon
Openstack IS UP AND READY
Spawn VM
Please create network and then spawn VM.
Please execute on server_1.
export OS_CLOUD=openstack_helm openstack network create local openstack subnet create --network local --dns-nameserver <IP_ADDRESS> --allocation-pool start=<IP_ADDRESS>,end=<IP_ADDRESS> --subnet-range <IP_ADDRESS>/24 local-subnet openstack server create --flavor m1.tiny --image 'Cirros 0.3.5 64-bit' --network local test-vm-1
LOGIN TO HORIZON
Please login to Horizon.
url: http://horizon.<USER_NAME>.workshops.ovh login: admin password: password domain: default
SCALING OPENSTACK
Scenario 2
In this scenario we will add new compute host without control plane services.
SCALING CLUSTER
Please execute as root on server_3:
snap install conjure-up --classic apt-get update; apt-get install --assume-yes --no-install-recommends -qq curl nfs-common git make; apt-get update && apt-get install -y apt-transport-https curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat << EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update; apt-get install -y kubeadm=1.10.9-00 kubectl=1.10.9-00 kubelet=1.10.9-00 docker.io
GENERATE JOIN TOKEN
Please execute on k8s master host (server_1):
# it creates <token> sudo kubeadm token create # it shows <ca-cert-hash> sudo openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
JOIN K8S CLUSTER
Please execute on new host (server_3):
kubeadm join --token <token> --discovery-token-ca-cert-hash sha256:<ca-cert-hash> <SERVER_1_IP_ADDRESS>:6443
CONFIGURE LABELS FOR NEW NODE
Please execute on k8s master node (server_1):
kubectl label nodes <SERVER_3_HOSTNAME> openvswitch=enabled openstack-compute-node=enabled openstack-control-plane=disabled openstack-helm-node-class=general --overwrite
WATCH CLUSTER GROWTH
Please execute on k8s master node (server_1):
watch "kubectl get pods --namespace openstack | grep -viE '(running|completed)'"
VERIFY OPENSTACK INSTALLATION
Please execute on k8s master node (server_1):
export OS_CLOUD=openstack_helm openstack hypervisor list openstack compute service list
Spawn new VM
Please spawn second VM on new compute
export OS_CLOUD=openstack_helm openstack server create --flavor m1.tiny --image 'Cirros 0.3.5 64-bit' --network local --availability-zone nova:<USER_NAME>-compute-2 test-vm-2
Verify connectivity between VMs
Use Horizon NoVNC console
ping, netcat, etc. between VMS;)
Q&A
End of Openstack Helm workshop
Thank you!
If you want to contact with us:
Maciej Józefczyk maciej.jozefczyk(at)corp.ovh.com
Daniel Pawlik daniel.pawlik(at)corp.ovh.com
# Get commands with basic output kubectl get services # List all services in the namespace kubectl get pods --all-namespaces # List all pods in all namespaces kubectl get pods -o wide # List all pods in the namespace, with more details kubectl get deployment my-dep # List a particular deployment kubectl get pods --include-uninitialized # List all pods in the namespace, including uninitialized ones # Describe commands with verbose output kubectl describe nodes my-node kubectl describe pods my-pod kubectl get services --sort-by=.metadata.name # List Services Sorted by Name kubectl get events --sort-by=.metadata.creationTimestamp # List Events sorted by timestamp # Logs, port forward and exec: kubectl logs my-pod # dump pod logs (stdout) kubectl logs my-pod --previous # dump pod logs (stdout) for a previous instantiation of a container kubectl logs -f my-pod # stream pod logs (stdout) kubectl port-forward my-pod 5000:6000 # Listen on port 5000 on the local machine and forward to port 6000 on my-pod kubectl exec my-pod -- ls / # Run command in existing pod (1 container case) kubectl exec my-pod --namespace openstack -- ls / # Run command in existing pod from openstack namespace # Interacting with Nodes and Cluster kubectl cordon my-node # Mark my-node as unschedulable kubectl drain my-node # Drain my-node in preparation for maintenance kubectl uncordon my-node # Mark my-node as schedulable kubectl top node my-node # Show metrics for a given node kubectl cluster-info # Display addresses of the master and services kubectl cluster-info dump # Dump current cluster state to stdout # PersistentVolume and PersistentVolumesClaims kubectl get pv # List persistent volumes kubectl get pvc # List persistent volume claims kubectl describe pv my-pv # Show details about persistent volume kubectl describe pvc my-pvc # Show details about persistent volume claims
helm list --all helm repo (list|add|update) helm search helm inspecthem install --set a=b -f config.yaml -n # --set take precedented, merge into -f helm status helm delete helm inspect values helm upgrade -f config.yaml helm rollback helm create helm package helm lint helm dep up # update dependency helm get manifest # prints out all of the Kubernetes resources that were uploaded to the server helm install --debug --dry-run # it will return the rendered template to you so you can see the output


Program
An archive containing all the IWST15 papers can be downloaded.
Goals and scopes
The goals of the workshop is to create a forum around advances or experience in Smalltalk and to trigger discussions and exchanges of ideas. The topics of your paper can be on all aspect of Smalltalk, theoretical as well as practical. Participants are invited to submit research articles or industrial papers. This year we want to open two different tracks: one research track and one industrial track with less scientific constraints.
We expect papers of three kinds:
We will not enforce any length restriction.
Important Dates
All accepted papers will be published in ACM DL.
Topics
We welcome contributions on all aspects, theoretical as well as practical, of Smalltalk related topics such as:
Best Paper Award
To encourage the submission of high-quality papers, the IWST organizing committee is very proud to announce a Best Paper Award for this edition of IWST.
We thank the Lam Research Corporation for its financial contribution which makes it possible for prizes for the three best papers: 1000 USD for first place, 600 USD for second place and 400 USD for third place.
The ranking will be decided by the program committee during the review process. The awards will be given during the ESUG conference social event.
The Best Paper Award will take place only with a minimum of six submissions. Notice also that to be illegible, a paper must be presented at the workshop by one of the author and that the presenting author must be registered at the ESUG conference.
Publication
Both submissions and final papers must be prepared using the ACM SIGPLAN 10 point format. Templates for Word and LaTeX are available at http://www.sigplan.org/Resources/Author/. This site also contains links to useful informations on how to write effective submissions. Submission
All submissions must be sent via easychair: https://easychair.org/conferences/?conf=iwst15
Program chairs
Program Committee


Boy is thrown head-over-heels when sewer EXPLODES under his feet after he sticks a match down a manhole
by Tracy You For Mailonline- The child was propelled to spin 360 degrees in midair by the explosion in China
- He had inserted a lit match through a manhole cover, igniting trapped methane
- He walked away from the scene by himself after smashing down to the ground
- The accident occurred on November 29 in a residential complex in Zhuozhou
A boy in China has escaped serious injuries after being blown into the air and flung 360 degrees by the force of an exploding sewer.
The blast took place after the child threw a lit match into a manhole, igniting trapped methane, according to reports.
The boy, who remains unidentified, didn't suffer major injuries.
The accident occurred on November 29 in a residential complex in Zhuozhou, a prefecture-level city in northern China's Hebei Province, reported Zhuozhou Media Convergence.
Surveillance footage released by the local news group shows the boy walking towards the manhole with a playmate.
It then shows him crouching down and sticking an object into the metal cover.
But as soon as he stands upright, he is launched into the air by the force of an explosion under his feet.
The blast is so powerful the boy is propelled to spin 360 degrees in midair and then lands on the ground hard.
The manhole cover, which was catapulted into the air, smashes onto the pavement a few metres away from the two children.
The clip then captures the boy struggling to stand up.
He is seen limping for a few steps before having to sit down by the pavement to rest further.
He eventually walks away from the scene by himself.
An eyewitness told Zhuozhou Media Convergence that the manhole cover was largely destroyed in the explosion and the boy's face was hit by loose stones and sustained bleeding.
Another local resident said he could hear the blast well from his home, which was nine storeys up.
Similar accidents are common in China during winter, especially in the leading up to the Chinese New Year.
In January this year, a young boy in Chifeng City in China's Inner Mongolia cheated death after putting lit fireworks through a manhole cover on a street, leading to a huge blast.


The web has evolved from a very text-oriented structure into the interactive, experience-rich digital environment we all know and love today. With the waning of Flash (which none of us are mourning, FYI), CSS has had to fill quite a few voids left in web-effects. Enter visual effects, made from scratch in CSS. And while it's not exactly a web-based Photoshop, it's starting to deliver some very interesting results.
Here's a few examples
Sorry these examples only work in Webkit (Chrome/Safari) at the moment.
Here is the full set of filters
How's this plan gonna come together?
The whole thing is rather simple. With the CSS proprty filter: ...
we can add a hardware accelerated filter to any HTML object we like. If need be, we can even combine
them. The tilt-shift effect above is a combination of filter: filter: blur(3px) saturate(150%);
, we applied a mask to the image and set the same image as background for
the wrapping div (this time without the blur).
We can hear you thinking: "Yeah, that's cool and all, but the filter: drop-shadow(...)
filter is kind of the same as box-shadow: ...
." Nope, that's not exactly true. A
box-shadow
would give a shadow of the box (ie. it'd be square), but this nifty filter actually obeys transparency in the image (see for yourself!).
Useful?
More or less, it has some potential to enrich the user experience while maintaining load speeds. Always wanted to blur the background while you have a lightbox open? Now you can do that by applying the filter to the HTML element.
Some other stuff you could do with it:
- Create a nice image gallery with grayed out images
- Proper grayed-out buttons, without the need for extra images
- Annoy everyone by blurring the HTML element by just 1px (click here to try)
Sold! Can I get it today?
Short answer: not really.
Long answer: support is very limited at this time. Only Webkit browsers (Chrome and Safari) support these filters. And even then there are some odd quirks: currently filters on hardware accelerated content are still a work in progress in Chrome. The spec is still considered to be a draft version, but it looks very promising!
Show me the source!
Feel free to look around the differente source files we used for this example.


{% extends "base.html" %} {% block title %}
Medieval catalogues > UNIVERSITY AND COLLEGE LIBRARIES OF CAMBRIDGE > University > Register of benefactors, c. 1424-c. 1440
{% endif %}232 identified entries found.
All data was derived from the List of Identifications by Professor Richard Sharpe.
{% if not printing %}
A key to codes used in the List is available (opens in new tab).{% endif %}


#include <iostream>
#include <sstream>
#include "mol.h"
#include "points.h"
#include "utilities.h"
Functions | |
| int | main (int argc, char *argv[]) |
| A quick key exchange demo. |
This is a sample file that makes use of the classes and methods in b_projective.cc and b_edwards.cc to conduct a DH key exchange demonstration.
| main | ( | int | argc, | |
| char * | argv[] | |||
| ) |
A quick key exchange demo.
Runs appropriate point test.
Runs appropriate curve test.
This function shows how to use our projective points on a Binary Edwards Curve to conduct a Diffie-Hellman key exchange.


Title
Artist
Album
Time
{% for song in playlist %}
{{ song["title"] }}
{{ song["artist"] }}
{{ song["album"] }}
{{ song["time"] }}
{% endfor %}
Play
Pause
Next
Previous
Stop
Current Song:
{{ current }}
Status:
{{ status }}
Statistics:
{{ stats }}


Sorry, that ID number has already been used this term or that number is not part of the approved IDs for taking the waiver this term.
If this is a mistake, please contact the student affairs office.


{% extends "base.html" %} {% block title %}Account Information{% endblock %} {% block content %}
Member since {{ sDate }}


Gunmen kill two in Imo - The Nation Newspaper
Damian Duruiheoma, Owerri
GUNMEN in the early hours of Sunday killed a man and a woman in their homes in two separate operations in Ifakala Autonomous Community in Mbaitoli Local Government Area of Imo State.
Chinedu Chibuka was killed late Saturday night in Umuchinenwe Umuagwuoche in Ifakala, while Mrs. Nnedimma Nwaiwu was shot dead early Sunday morning in Owerre-Ifakala village.
Chinedu, 32, before his death was a security personnel attached to a poultry farm in the area, while the murdered woman, Nnedimma, was a mother of four young children.

Village sources stated that the killers jumped over the fence and forced their way into the deceased’s residences.
The villagers told The Nation that the people of Ifakala were taken unawares by the attackers, adding that the killings could be related to a reprisal attack.
Read Also: Man, two grandkids found dead in Imo
One villager, Okenwa, said, “We cannot particularly state the real cause of the attack but we suspect that it could be connected to the arrest of one criminal gang leader, Izuchukwu by the police”.
It was gathered that Izuchukwu’s gang had attacked the community some two years ago but was apprehended by the villagers, who quickly set three of the gang members ablaze with Izuchukwu escaping unhurt.
“But since this year, the gang returned and became a thorn in the flesh of the people of our village. The community rallied to inform the police about the return of Izuchukwu and his new gang. So, last two weeks, he was picked up by the police and since then, we started witnessing this attack that led to the killing of the young man and woman,” Okenwa said.


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.lang.Throwable java.lang.Exception com.dropbox.client2.exception.DropboxException com.dropbox.client2.exception.DropboxServerException
public class DropboxServerException
Wraps any non-200 HTTP responses from an API call. See the constants in this class for the meaning of each error code. You'll typically only want to handle a few specific error codes and show some kind of generic error or retry for the rest.
| Nested Class Summary | |
|---|---|
static class |
DropboxServerException.Error
|
| Field Summary | |
|---|---|
static int |
_200_OK
The request was successful. |
static int |
_206_PARTIAL_CONTENT
The request was successful for a Range request. |
static int |
_302_FOUND
Moved to a new location temporarily. |
static int |
_304_NOT_MODIFIED
Contents have not changed (from the given hash, revision, ETag, or similar parameter). |
static int |
_400_BAD_REQUEST
Bad input parameter. |
static int |
_401_UNAUTHORIZED
Bad or expired access token. |
static int |
_403_FORBIDDEN
Usually from an invalid app key pair or other permanent error. |
static int |
_404_NOT_FOUND
Path not found. |
static int |
_405_METHOD_NOT_ALLOWED
Request method not allowed. |
static int |
_406_NOT_ACCEPTABLE
Too many metadata entries to return. |
static int |
_409_CONFLICT
|
static int |
_411_LENGTH_REQUIRED
Typically from trying to upload over HTTP using chunked encoding. |
static int |
_415_UNSUPPORTED_MEDIA
When a thumbnail cannot be created for the input file. |
static int |
_500_INTERNAL_SERVER_ERROR
Internal server error. |
static int |
_501_NOT_IMPLEMENTED
Not implemented. |
static int |
_502_BAD_GATEWAY
If a Dropbox server is down - try again later. |
static int |
_503_SERVICE_UNAVAILABLE
If a Dropbox server is not working properly - try again later. |
static int |
_507_INSUFFICIENT_STORAGE
User is over quota. |
DropboxServerException.Error |
body
The body, if any, of the returned error. |
int |
error
The HTTP error code. |
java.lang.String |
location
The location string from the headers (to handle redirects). |
java.util.Map<java.lang.String,java.lang.Object> |
parsedResponse
|
java.lang.String |
reason
The reason string associated with the error. |
java.lang.String |
server
The server string from the headers. |
| Constructor Summary | |
|---|---|
DropboxServerException(org.apache.http.HttpResponse response)
Creates a DropboxServerException from an HttpResponse . |
|
DropboxServerException(org.apache.http.HttpResponse response,
java.lang.Object rest)
Creates a DropboxServerException from an HttpResponse . |
| Method Summary | |
|---|---|
boolean |
isDuplicateAccount()
When this exception comes from creating a new account, returns whether the request failed because an account with the email address already exists. |
static boolean |
isValidWithNullBody(org.apache.http.HttpResponse response)
Whether the given response is valid when it has no body (only some error codes are allowed without a reason, currently 302 and 304). |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Throwable |
|---|
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int _200_OK
public static final int _206_PARTIAL_CONTENT
public static final int _302_FOUND
public static final int _304_NOT_MODIFIED
public static final int _400_BAD_REQUEST
public static final int _401_UNAUTHORIZED
public static final int _403_FORBIDDEN
public static final int _404_NOT_FOUND
public static final int _405_METHOD_NOT_ALLOWED
public static final int _406_NOT_ACCEPTABLE
public static final int _409_CONFLICT
public static final int _411_LENGTH_REQUIRED
public static final int _415_UNSUPPORTED_MEDIA
public static final int _500_INTERNAL_SERVER_ERROR
public static final int _501_NOT_IMPLEMENTED
public static final int _502_BAD_GATEWAY
public static final int _503_SERVICE_UNAVAILABLE
public static final int _507_INSUFFICIENT_STORAGE
public DropboxServerException.Error body
public int error
public java.lang.String reason
public java.lang.String server
public java.lang.String location
public java.util.Map<java.lang.String,java.lang.Object> parsedResponse
| Constructor Detail |
|---|
public DropboxServerException(org.apache.http.HttpResponse response)
DropboxServerException
from an HttpResponse
.
public DropboxServerException(org.apache.http.HttpResponse response, java.lang.Object rest)
DropboxServerException
from an HttpResponse
.
The rest parameter must be a Map of String to Object.
| Method Detail |
|---|
public boolean isDuplicateAccount()
public java.lang.String toString()
toString
in class java.lang.Throwable
public static boolean isValidWithNullBody(org.apache.http.HttpResponse response)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


The first time __mitmproxy__ or __mitmdump__ is run, a set of certificate files
for the mitmproxy Certificate Authority are created in the config directory
(~/.mitmproxy by default). The files are as follows:
| mitmproxy-ca.pem |
The private key and certificate in PEM format. |
| mitmproxy-ca-cert.pem |
The certificate in PEM format. Use this to distribute to most
non-Windows platforms. |
| mitmproxy-ca-cert.p12 |
The certificate in PKCS12 format. For use on Windows. |
| mitmproxy-ca-cert.cer |
Same file as .pem, but with an extension expected by some Android
devices. |
This CA is used for on-the-fly generation of dummy certificates for SSL
interception. Since your browser won't trust the __mitmproxy__ CA out of the
box (and rightly so), you will see an SSL cert warning every time you visit a
new SSL domain through __mitmproxy__. When you're testing a single site through
a browser, just accepting the bogus SSL cert manually is not too much trouble,
but there are a many circumstances where you will want to configure your
testing system or browser to trust the __mitmproxy__ CA as a signing root
authority.
Installing the mitmproxy CA
---------------------------
* [Firefox](@!urlTo("certinstall/firefox.html")!@)
* [OSX](@!urlTo("certinstall/osx.html")!@)
* [Windows 7](@!urlTo("certinstall/windows7.html")!@)
* [iPhone/iPad](@!urlTo("certinstall/ios.html")!@)
* [IOS Simulator](@!urlTo("certinstall/ios-simulator.html")!@)
* [Android](@!urlTo("certinstall/android.html")!@)


| eigen2 {pbdDMAT} | R Documentation |
Compute eigenvalues and, optionally, eigenvectors of a real symmetric matrix by seraching over ranges of values or ranges of indices.
eigen2(x, range = c(-Inf, Inf), range.type = "interval", only.values = FALSE, abstol = 1e-08, orfac = 0.001)
x |
symmetric, numeric ddmatrix. |
range |
A set of interval endpoints, i.e. a numeric pair. Controls the set of values over which the eigenvalue search occurs. |
range.type |
Controls whether interval |
only.values |
logical. Determines whether only the eigenvalues should be computed, or if the eigenvectors should as well. |
abstol |
The absolute error tolerance for the eigenvalues. |
orfac |
Specifies which eigenvectors should be reorthogonalized. Eigenvectors that correspond to eigenvalues which are within tol=orfac*norm(A)of each other are to be reorthogonalized. |
This new method computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix. Eigenvalues and eigenvectors can be selected by specifying either a range of values or a range of indices for the desired eigenvalues.
Returns a distributed matrix.
## Not run: # Save code in a file "demo.r" and run with 2 processors by # > mpiexec -np 2 Rscript demo.r library(pbdDMAT, quiet = TRUE) init.grid() init.grid() comm.set.seed(seed=1234, diff=TRUE) x <- crossprod(ddmatrix("rnorm", 10, 3, bldim=2)) y <- as.matrix(x) comm.print(eigen(y)) ### Look for eigenvalues in the range 0 to 10 ev <- eigen2(x, range=c(0, 10), only.values=TRUE) comm.print(ev) finalize() ## End(Not run)


Extend helping hands to needy and poor people for physical, mental & moral support. Spread awareness to discourage orthodox beliefs
Spread awareness about cleanliness, hygiene in rural areas. Distribute medicines and arrange medical camps to tackle common illnesses like Malaria, Diarrhoea, Cholera etc.
Distribute basic necessities to Anathashrams, Old-age homes, Gaushalas, Divyangs & Children homes


A post, but no image
A test post that has no banner image
This is a test post, without an image to see what that looks like on the side bar/recent posts/featured.
A big heading
Because why the heck not
Un site pour la communauté, par la communauté
A test post that has no banner image
This is a test post, without an image to see what that looks like on the side bar/recent posts/featured.
Because why the heck not
Comments
Nothing yet.


I am a Web Developer experienced in Photography, with a background in Cyber Security Analysis and Defence. I am a certified Full Stack Development from the Ottawa Carlton University. My passion is about resolving programming challenges with skills in front-end development languages such as HTML, CSS, JavaScript and responsive design. My goal is to build award-winning apps that are easy to run, easy to use and creates a lasting impact on users. Excited to apply my skills in a goal-oriented, and quality-driven team to develop new and useful applications on the web. I am recognized for my ability to improve component designing and increase flexibility to reduce development and maintenance costs.
This app allows a user to enter a word, find its definition, identify synonyms and antonyms for the word, and show a related words bubble diagram.
This project required us to make a responsive application that would allow the user to create a password with a variety of characters included, and a length of their own choosing.
On this assignment I developed a dashboard that calls on multiple APIs to create a layout of current and future weather data for cities searched.
A daily planner allows employees to see their day at a glance, schedule time effectively, and improve productivity.


Speed run Japanese vocabulary learning. I made this game because the slow animations in Duolingo and other apps tire me. See source on github. Note you can use the arrow and 1,2,3 keys to shoot on a computer.
If you'd like updates on new developments of mine, follow me on twitter or substack.


the and species camera for were that from random The placements was trap {background trail community placement trail-based are sampling survey with margin more use between during significantly trails wet {border-style []. may dry observed px;} #ffffff;} RAIs Ruaha al. higher only study within not relative used using communities season African abundance cameras season, strategy surveys which detected rank this Camera National location mammal terrestrial their based both data features game richness same season. structure studies For across composition forest landscape large likely number out probability species, than two types when Conservation: Ecology: Journal area detection different each have inferences placements. px; {font-family Park, Random Research all also body days differences effort events font-size given influence locations model wild (Fig Although Trail-based animal can carnivore carried category compared confidence considered could curves density design detect did distribution double; habitat larger mammals models mongoose our rates set strictly these traps trophic (e.g. Fig However, Monitoring More Our Placement Wildlife accumulation bodied bold border-color border-width carnivores caught defined does found intervals known medium most never one overall particular, photographic richness, sampled should show solid; trapping tropical vegetation {font-style {font-weight (Table (i.e. Animal Biological CIs: CarboneC, Carnivore Common Despite Dry Finally, JJC. JMR Oxford, PloS RAI Species Tanzania Wet [,]. adequate affect assess but capture case communities. compare context contrast, courier; differ distributions e./journal.pone. em; field has increase independent indicating indices into latter level. levels log mass off often ones potential provided pt;} rare resulting selection size space species. strategies structure, such surveys. those time where


|
AutoYams
Automatic Yams with OpenCV dice detection
|
Abstract paging class to handle Video Window pagination. More...
#include <AdvancedPage.h>
Public Member Functions | |
| AdvancedPage (int id, AutoYams *app, VideoCaptureWindow *ref) | |
| Default constructor. More... | |
| virtual bool | pressOkButton ()=0 |
| Abstract method called when 'OK' button is pressed. More... | |
| virtual void | selectDevice (int index)=0 |
| Abstract method called when a new device is selected. More... | |
| virtual void | selectConfig (int index)=0 |
| Abstract method called when a new config is selected. More... | |
| virtual void | changeBrightness (int value)=0 |
| Abstract method called when brightness is changed. More... | |
| virtual void | changeContrast (int value)=0 |
| Abstract method called when contrast is changed. More... | |
| virtual void | changeFramerate (int value)=0 |
| Abstract method called when framerate is changed. More... | |
| virtual void | changeZoom (double value)=0 |
| Abstract method called when zoom/scale is changed. More... | |
| Public Member Functions inherited from Page | |
| Page (int id, AutoYams *ref=0) | |
| Default constructor. More... | |
| virtual void | handle ()=0 |
| Abstract method called on page selection. More... | |
Protected Attributes | |
| VideoCaptureWindow * | wnd |
| Protected Attributes inherited from Page | |
| AutoYams * | app |
| int | ID |
Abstract paging class to handle Video Window pagination.
Used and redefined for Video & Config page in the current application Video Capture Window.
|
inline |
Default constructor.
| id | Current page number (id) |
| app | Reference of the current application window |
| ref | Reference of the current Video Window of Application |
Specifiy required data to build reference for the page connection to UI & window event elements (slots & signals).
|
pure virtual |
Abstract method called when brightness is changed.
| value | Value of the new brightness from original Slider |
Called in Video Window when brightness is modified through center-right Brightness Slider.
Implemented in VideoPage, and ConfigPage.
|
pure virtual |
Abstract method called when contrast is changed.
| value | Value of the new constrast from original Slider |
Called in Video Window when contrast is modified through center-right Constrast Slider.
Implemented in VideoPage, and ConfigPage.
|
pure virtual |
Abstract method called when framerate is changed.
| value | Value of the new framerate from original Slider |
Called in Video Window when framerate is modified through center-right Framerate Slider.
Implemented in VideoPage, and ConfigPage.
|
pure virtual |
Abstract method called when zoom/scale is changed.
| value | Value of the new zoom/scale from original Slider |
Called in Video Window when zoom/scale is modified through center-right Zoom/scale Slider.
Implemented in VideoPage, and ConfigPage.
|
pure virtual |
Abstract method called when 'OK' button is pressed.
Called in Video Window when the 'OK' button is pressed in Current Page.
Implemented in VideoPage, and ConfigPage.
|
pure virtual |
Abstract method called when a new config is selected.
| index | Index of newly selected config in original Combobox |
Called in Video Window when a new config is selected in the center-right Config Combobox.
Implemented in VideoPage, and ConfigPage.
|
pure virtual |
Abstract method called when a new device is selected.
| index | Index of newly selected device in original Combobox |
Called in Video Window when a new device is selected in the center-right Device Combobox.
Implemented in VideoPage, and ConfigPage.
|
protected |
Reference of the current Video Window in current application.


Welcome
Let us learn JavaScript
Hello All
Scope of variables using var and let
Invoking function
Changing value of an element
Extract values from an HTML element
Creating objects
Displaying list using array and 'for'
Displaying list using array and 'for each'
Event Handling
Event listener for window. Resize to see the effect
Form validation
Field Validation
Please input a number between 1 and 10:
Click "Get values" to display the value of each element in the form.
Event properties


A technique used for learning or implementing that involves two people collaborating as either a driver or a navigator. The developers can switch roles consistently and learn from one another regardless of level.
Pair programming teaches you how to work with someone else. The learning process is also accelerated because you have twice the amount of brain power focusing on the same problem. Programming is a collaborative enviornment!


WATCH | Python and leopard in a fight to the death
by TimesLIVETourists Mike and Suzie Moll were surprised when they witnessed a rare brawl between an African rock python and a leopard during a game drive.
The two guests were visiting Kenya from the US and were with safari guide Oscar Taiwa at the andBeyond Kichwa Tembo camp in the Mara Triangle in Kenya last month when they witnessed the duel.
The animals were fighting for their survival.
Clint Saint, the owner of Live Life African Safari Getaways, said: "We got to an area where we came across a leopard who seemed curious about something in the grass. It wasn’t long after we spotted the python when a full-on battle broke out between these two amazing animals. Initially, it was a feeling of surprise for everybody as this kind of sighting is just so rare."
After sustaining a few bruises the leopard emerged victorious.
"In the end, the python was defeated with numerous puncture wounds on its body, especially on its head. The leopard also had injuries with an obvious wound to the right front paw which could be clearly seen as it limped away from the scene," said Mike.


Trainer¶
Trainer¶
-
class
trainer.
Trainer
(model, train_data_loader, criterion, optimizer, val_data_loader=None, test_data_loader=None, device='cpu')[source]¶ A class to handle the whole training, validating and testing process
-
__init__
(model, train_data_loader, criterion, optimizer, val_data_loader=None, test_data_loader=None, device='cpu')[source]¶ Instantiate a trainer object.
Parameters: - model (torch.nn.Module) – A model to train.
- train_data_loader (torch.utils.data.DataLoader) – An instance of DataLoader to load train data.
- criterion (torch.nn.Module) – A loss function.
- optimizer (torch.optim.Optimizer) – Optimizer responsible for optimizing model
- val_data_loader(optional) (torch.utils.data.DataLoader) – An instance of DataLoader to load validate data.
- test_data_loader(optional) (torch.utils.data.DataLoader) – An instance of DataLoader to load test data.
- device (str) – Which device should be used if use_cuda is True, should be formatted like ‘cuda:0’ or ‘cpu’. Default: ‘cpu’.
-
notify_registered_hooks
(name, state)[source]¶ Event dispatcher for all registered hooks.
Parameters: - name (str) – Event name.
- state (dict) – Current state dictionary.
-
register_hook
(hook)[source]¶ Register a hook.
Parameters: hook (Hook) – A Hook object need to be registered.
-
register_hooks
(hooks)[source]¶ Register multiple hooks at the same time.
Parameters: hooks (Iterable of Hook) – A iterable of hooks need to be registered.
-
restore_state
(state, checkpoint)[source]¶ Restore from checkpoint.
Parameters: - state (dict) – Current state dictionary.
- checkpoint (str) – Path to checkpoint.
-
terminate
(raise_exception=True)[source]¶ Terminate training process, trigger on_terminated event.
Parameters: raise_exception (bool) – whether to raise TrainerTerminated exception after event, default True.
-
test
(test_data_loader=None)[source]¶ Test model(test_data_loader needed).
Parameters: test_data_loader (torch.utils.data.DataLoader) – An instance of DataLoader to load test data, default None.
-
train
(max_epoch, checkpoint=None)[source]¶ Train model with max_epoch epochs.
Parameters: - max_epoch (int) – Num of epochs the model need to be trained.
- checkpoint (str) – Path to checkpoint, default None.
-
unregister_hook
(hook)[source]¶ Unregister a hook.
Parameters: hook (Hook) – A hook object need to be unregistered.
-


Thanks for visiting my site. If you'd like to connect, leave a message for me and I'll get back to you as soon as possible!
Otherwise, you can connect with me via social media.


more_vert
Filter
{{topping}}
All
Only mine
| Action |
editdelete |
Type |
{{row.progress}}% |
Status |
{{row.name}} |
Incident |
{{row.color}} |
Street |
{{row.color}} |
Start date |
{{row.color}} |
End date |
{{row.color}} |
Created by |
{{row.color}} |
Emergency |
{{row.color}} |
Company |
{{row.color}} |
Phone number |
{{row.color}} |
Created on |
{{row.color}} |


{% extends "base.html" %} {% block subtitle %} Registration {% endblock subtitle %} {% block navbar_breadcrumb %}
The {{SITE_NAME}} site is an open commons of learning resources, and all material on it is freely reusable and shareable.


Virtual Running on StreetView
To detect your motion via WebCamera and go forward on Google Street View Map!
Please see usage guide before running!


Documentation is King
How Mozilla supports users all over the world
Beautiful Documents
Typography for Docs
Evolution of the English Language from Text to Texting
Motivating developers to write API documentation
Generating a Culture of Doc
Getting Developers and Engineers to Write the Docs
Translating Customer Interactions to Documentation
Technically Communicating Internationally
The Unenviable Tutorial
Single Page Docs: Stop the Click Insanity
Why Projects Should Have "What's New" Documents
Write Tight(er)
Text Lacks Empathy
Translating Science into Poetry
Versioned Literate Programming for Tutorials
Literate Programming in the Large
Sketchnotes: Communicate Complex Ideas Quickly
Search-first documentation: tags and keywords for frustrated users
UX and IA at Mozilla Support, and Helping 7.2 Million More People
The technical challenges of serving docs at Google's scale
Helping the help pages
Describe, Defend, Differentiate and Deliver
Docs as Marketing: Make Your API Irresistible
Build a Bakery: Making cake, eating it and planning for future cake too
Integrating Development, Documentation and Reporting


Statistics concepts¶
PDFs and CDFs¶
- Probability density function (PDF) – a function of a continuous random variable, whose integral across an interval gives the probability that the value of the variable lies within the same interval.
- Probability mass function (PMF) – a function of a discrete variable that gives the probability that a discrete random variable is exactly equal to some value.
- Cumulative distribution function (CDF) – defines the the probability that a continuous variable \(X\) will take a value less than or equal to \(x\).
What does that mean in code talk? Take a look at how the following plot was created.
(Source code, png, hires.png, pdf)
Cumulative distribution function¶
\(F_X(x) = P(X < x)\)
- What kinds of bounds can we put on this function?
- This works for both continuous and discrete functions.
Probability mass function, PMF¶
For discrete variables:
\(f_X(x) = P(X = x), \forall x\)
For continuous variables, think of it as the derivative of the CDF:
\(f_X(x)dx = P(x < X < x+dx)\)
\(f_X(x) = \frac{dF_X(x)}{dx}\)
Expectation¶
- Discrete:
- \(E[X] = \sum_{s\in S} X(s) f_X(s)\)
- Continuous:
- \(E[X] = \int_{-\infty}^{\infty}X(s) f_X(s)ds\)
A measure, but not the only one, of the central tendecy of a distribution. Alternatives?
Note, the sample mean is:
\(\bar{x} = \frac{1}{n}\sum_j^n x_j\)
Variance¶
\(Var[X] = E[(X - E[X])^2]\)
Note, the sample variance is:
\(s^2 = \frac{1}{n-1} \sum_j^n (x_j - \bar{x})^2\)
Standard deviation¶
\(\sigma(x) = \sqrt{Var[x]}\)
Useful because its units are in units of our original RV.
Covariance¶
We can also compute the covariance between two different variables:
\(Cov[X,Y] = E[(x - E[X])(y - E[Y])]\)
Which is related to the
Correlation¶
\(Corr[X,Y] = \frac{E[(x - E[X])(y - E[Y])]}{\sigma(X)\sigma(Y)} = \frac{Cov[X,Y]}{\sigma(X)\sigma(Y)}\)
Correlation¶
A spurious relationship is a relationship where two or more events, that are not causally related to each other have a relationship. This may be due to a “common response variable” or a “confounding factor”.
Correlation coefficients vary between -1 and +1 with 0 implying no correlation.
Pearson¶
>>> from scipy.stats import pearsonr
>>> pearsonr([1,2,3,4,5],[5,6,7,8,7])
(0.83205029433784372, 0.080509573298498519)
The Pearson correlation coefficient measures the linear relationship between two datasets. The p-value roughly indicates the probability of an uncorrelated system producing datasets that have a Pearson correlation at least as extreme as the one computed from these dataset.
In other words null hypothesis is that two sets of data are uncorrelated.
Spearman¶
>>> from scipy.stats import spearmanr
>>> spearmanr([1,2,3,4,5],[5,6,7,8,7])
(0.82078268166812329, 0.088587005313543812)
The Spearman correlation is a nonparametric measure of the monotonicity of the relationship between two datasets. Unlike the Pearson correlation, the Spearman correlation does not assume that both datasets are normally distributed.
Marginal Distributions¶
Marginal distribution takes a–possibly not independent–multivariate distribution. And considers only a single dimension.
Accomplished by summing (discrete) or integrating (continuous).
Further study¶
A major goal of for the content on this page is not mastery. You should be able to talk briefly about each of these concepts. If you were to see a scatter plot of some data could you talk about it in terms of the concepts listed here?
Most major statistical textbooks will begin with an overview of these topics.
For example Elements of Statistical Learning (Free)
Reading the opening chapters in these types of books will provide you with a perspective that is difficult to get across in a short lecture or on a single webpage.


Up Goer Five
Up Goer Five
Up Goer Five
Up Goer Five
Up Goer Five
Up Goer Five
Up Goer Five
Up Goer Five
Up Goer Five
Up Goer Five
Up Goer Five
Up Goer Five
Comments


Here, we will learn about JavaScript functions. Functions are one of the most, if not the most, fundemental part to programming. They help to DRY (Don't Repeat Yourself) up your code and organise it.


My Bio Data
Personal Info
FirstName:
LastName:
Male:
Female:
Other:
Date of Birth :
E-Mail :
Phone
Height
Education
School Name :
Class :
Stream :
Stream
Medical
Non-Medical
option value="">Law
Commerce
Marksheet :
Submit


HTML stands for HyperText Markup Language. HTML is the main markup language for describing the structure of Web pages. Learn more.
Bootstrap is a powerful front-end framework for faster and easier web development. It is a collection of CSS and HTML conventions. Learn more.
CSS stands for Cascading Style Sheet. CSS allows you to specify various style properties for a given HTML element such as colors, backgrounds, fonts etc. Learn more.
Note: Click on the linked heading text to expand or collapse accordion panels.


The museum has many mammal halls, including the Akeley Hall of African Mammals and the Whitney Memorial Hall of Oceanic Birds.
The 360 video below shows the Milstein Hall of Ocean Life.
The hall is most famous for its 94-foot (29 m)-long blue whale model, suspended from the ceiling behind its dorsal fin. The hall's classic lines and visually arresting elegance host cutting-edge exhibition technology and the latest scientific research on the ocean.
The 29,000-square-foot Hall has been transformed into a fully immersive marine environment with high-definition video projections, interactive computer stations, hands-on models, 14 renovated classic dioramas, and eight new ocean ecosystem displays that transport visitors from the rainbow-hued profusion of life in the Indo-Pacific coral reefs to the flickering bioluminescence of fishes in the eerie darkness of the deep sea.
Source Wikipedia


You've opened {{ currentSite }} {{ numberOfTimes }} times today. Is this going to get you closer to your goals?
Is {{ currentSite }} going to get you closer to your goals?
You can continue in {{ countDownInSeconds }} seconds...
Disable blocks for {{ minutesAllowed }} minutes.


Adaptive Surveys
A primary use case for Sensus is the deployment of surveys according to schedules or in response to data coming off Probes. This is acheived through the use of the ScriptProbe. The deployment of such surveys through Android and iOS devices is an active area of research. When should a survey be deployed? How should it be configured to attract the user's attention? Answers to these questions depend on the goal of the survey and the personal characteristics and contexts of each user.
Android
Survey Agent Plug-Ins
On Android, Sensus supports a plug-in architecture for modules (or agents) that control the delivery of surveys. This architecture is intended to support research into adaptive surveys by providing a simple interface through which researchers can deploy agents that implement specific adaptation hypotheses. For example, one might hypothesize that surveys for a specific user are best delivered at 3pm each day. To test this hypothesis, the researcher can implement a simple survey agent that defers delivery of surveys until 3pm each day. The resulting response rates across users will provide supporting or opposing information for this hypothesis.
Implementing and Deploying a Survey Agent Plug-In
Follow the steps below to implement and deploy a survey agent within your Sensus study.
- Create a new Android Class Library project in Visual Studio. In Visual Studio for Mac, the following image shows the correct selection:
Add a NuGet reference to the Sensus package.
Add a new class that implements the IScriptProbeAgent interface. Implement all interface methods.
Build the library project, and upload the resulting .dll to a web-accessible URL. A convenient solution is to upload the .dll to a Dropbox directory and copy the sharing URL for the .dll file.
Generate a QR code that points to your .dll (e.g., using QR Code Generator). The content of the QR code must be exactly as shown below:
survey-agent:URL
where URL is the web-accessible URL that points to your .dll file. If you are using Dropbox, then the QR code content will be similar to the one shown below (note the
dl=1
ending of the URL, and note that the following URL is only an example -- it is not actually valid):survey-agent:https://www.dropbox.com/s/dlaksdjfasfasdf/ScriptProbeAgent.dll?dl=1
In the protocol settings for your ScriptProbe, tap "Set Agent" and scan your QR code. Sensus will fetch your .dll file and extract any agent definitions contained therein. Select your desired agent.
Continue with configuration and distribution of your protocol.
Example Survey Agents
See the following implementations for example agents:
Random (code here): A survey agent that randomly decides whether or not to deliver surveys.
Adaptive (code here): A survey agent that attempts to adapt to the user by increasing and decreasing the likelihood of survey delivery based on experience.
iOS
In contrast with Android, iOS does not allow apps to load code (e.g., from the above .dll assembly) at run time. Thus, adaptive survey agents are more limited on iOS compared with Android. Here are the options:
The app comes with two example survey agents; however, these are simply for demonstration and are unlikely to work well in practice. Nonetheless, the examples are:
Random (code here): A survey agent that randomly decides whether or not to deliver surveys.
Adaptive (code here): A survey agent that attempts to adapt to the user by increasing and decreasing the likelihood of survey delivery based on experience.
You can select either of these agents when configuring the ScriptProbe.
You can redeploy Sensus as your own app, to which you can add your own agent implementations.
You can implement your own agent implementations following the instructions above for Android and email our team<EMAIL_ADDRESS>to include them in a future release.
Testing and Debugging
Regardless of whether your survey agent targets Android or iOS, there are a few ways to test and debug it:
Write to the log file: See the code for the example agents above. You will see calls that write to the log file. Use similar calls in your code to write information about the behavior of your agent to the log. Run your agent for a while in the app and then share the log file with yourself from within the app. Note that the size of the log file is limited, so you might not be able to view the entire log history of your agent.
Flash notifications on the screen: On Android, you can flash notifications on the screen as shown in the example code. These messages will appear for a short duration.
Run your agent in the debugger: By far the most useful approach is to configure a development system and run Sensus in the debugger with your survey agent. You will need to add your agent code to the Sensus app projects in order to step through it in the debugger.


Website Project
Fall Semester, 2014
Converted a pre-made Photoshop image into HTML and CSS for IS 117, "Intro to Website Development".
Call us now for an estimate at 1-800-555-5555
We're dedicated to making sure your family or business is as comfortable as possible.
SERVING CLIFTON AND ALL OF NORTHERN NEW JERSEY
Like us on Facebook for our current offers and deals!
|
WELCOME TO EMPIRE HEATING & COOLING Whether you need to repair, replace, upgrade or even add a new system, our products are designed to make you more comfortable. We have the knowledge and expertise to help you choose the right heating and air conditioning system to meet your needs so that you benefit from increased efficiency, reliability, and control of your home or businesses' indoor environment. |
|
| RESIDENTIAL | COMMERCIAL | INDUSTRIAL |
| Central Systems | Packaged Units | Cooling Towers |
| Mini-Split Ductless | Split Systems | Chillers |
| Heat Pumps | Cooling Towers | Ventilation |
| Air Handlesr | Chillers | |
| Condensers | Ventilation | |
| Ventilation | ||
| Hot Water / Steam Boilers | Hot Water / Steam Boilers | Hot Water / Steam Boilers |
| Forced Air Heating Furnaces | Forced Air Heating Furnaces | Unitary Heaters |
| Radiant Heating Systems | Unitary Heaters | Infrared Radiant Systems |
| Infrared Radiant Systems |
Heating
Our goal is to keep you warm and comfortable through the winter months. We know which products and systems will work best for you. Our recommendations will always keep your requirements and budget in mind. We'll respond to your requests and act quickly when you call. Nothing is more important than your peace of mind when the weather is cold.
Cooling
Central air conditioning helps keep your environment cool and reduces humidity levels. As the central air conditioning system draws air out of various rooms in your house or business through return air ducts, the air is pulled through an air filter, which removed airborne particles such as dust and lint. The filtered air is then routed to air supply ductwork that carries it back to the rooms.


CSS and Documents
Chapter 1
Figures
- Block- and inline-level elements in an HTML document
- Default display of an XML document
- Styled display of an XML document
- A simple document
- A representation of how external style sheets are applied to documents
- A browser offering alternate style sheet selection
- The structure of a rule


[attributes] --- label: Home layout: base target_page: categories: [] is_published: true position: 0 [wysiwyg content]
{{ cms:partial "comfy/blog/posts/pinned_post" }}
Welcome, This is the home page with an annoucment at the top rendered by a partial. Edit this page with your sites main content.


HERBERT'S HIPPOPOTAMUS A film review by Steve Rhodes Copyright 1997 Steve Rhodes
RATING (0 TO ****): **
HERBERT'S HIPPOPOTAMUS is not kid's show, no matter how silly the title sounds. (The derivation of the title is less interesting than you might suspect.) The film is a serious documentary that examines radical Professor Herbert Marcuse's fight against the University of California system. I saw the film as part of San Jose's Cinequest film festival.
The documentary is set in the late 1960s and early 1970s with videos of several different University of California campuses, but with most of the film set in San Diego where Professor Marcuse taught. (Since I was a grad student at Berkeley at the time, I must admit my eye was actively scanning the crowds there looking for my own image. I do not believe I appear in the film, but then again, perhaps one of those pixels is me.)
You may remember Marcuse. He was Angela Davis's friend and mentor.  For the record, Davis did join the Communist party, but Marcuse never did. The documentary film footage of him shows him as an assertive, but reasonable sage. There is a long sequence of a reporter trying to get Marcuse to say that he endorsed violence. He was a skillful verbal fencer and never did let the reporter put words in his mouth.
Documentarian Paul Alexander Juutilainen is effective at pulling out old clips to make his points. Reagan is shown as a buffoon, and the filmmaker has interviews of people denigrating Reagan and the then UCSD Chancellor McGill. They accuse them of everything including being ugly.
The documentary is one-sided, which is fine -- most are, but I wish it were better constructed. The clips are categorized into chapters, and yet they seem randomly organized. I know that the documentarian wanted me to empathize with Marcuse and rage against the system as embodied in then Governor Reagan, but I could have gotten that by reading the abstract.
There are two things I will remember. First, the people in the small audience after the film seemed to share a single opinion. As one guy said, anyone who has read Marcuse and understood him, must agree with him. He claimed that those who do not agree with Marcuse must not understand him. This is a simplistic view that I don't buy.
Second, there is a scene in which an army recruiter has been invited to speak to the UCSD students, and the students take a vote on whether to allow him to talk. The First Amendment wins the vote by a ten to one margin. So what do the students who lost the vote and want to deny this man his Constitutional rights then yell to drown him out? "Fascist!" I find this to be ironic.
HERBERT'S HIPPOPOTAMUS runs 1:09. It is not rated, but would be PG for the themes discussed. It would be fine for any kid old enough to be interested. Although it is a close call, the film is not cohesive enough for me to be able to recommend it. I give it **.
**** = A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show. Don't waste your money. 0 = Totally and painfully unbearable picture.
REVIEW WRITTEN ON: February 3, 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


Selenium is a framework for testing web applications. And it is relly good for scraping JavaScript heavy websites. The idea is that you get a real browser to execute everything. In contrast to BeautifulSoup where you only fetch the content of a website.
Installation
pip install selenium chromedriver_installer
Basic example
When you execute the follwing example with Python it should open a Chromium browser window with the Wikipedia main page. Nothing too exciting.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""A very basic selenium example."""
from selenium import webdriver
import time
def main():
"""Open Wikipedia - and keep the browser open."""
browser = get_browser()
url = "https://en.wikipedia.org"
browser.get(url)
time.sleep(60) # Keep the browser open for 60s
def get_browser():
"""Get the browser (a "driver")."""
# find the path with 'which chromedriver'
path_to_chromedriver = (
"/home/moose/GitHub/algorithms/scraping/venv/bin/chromedriver"
)
browser = webdriver.Chrome(executable_path=path_to_chromedriver)
return browser
if __name__ == "__main__":
main()
Basic interaction
Ok, now we want to search on Wikipedia by filling out the search bar. So we need to inspect the website and get an identifier for the search bar. In Chrome, this is done with the developer tools. You can open them with Ctrl + Shift + I (for inspect):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""A very basic selenium example."""
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
def main():
"""Search for Selenium and click on the disambiugation link."""
browser = get_browser()
url = "https://en.wikipedia.org"
browser.get(url)
el = browser.find_element_by_id("searchInput")
el.send_keys("Selenium", Keys.RETURN)
time.sleep(2) # Give you a chance to see the content
div = browser.find_element_by_xpath('//div[contains(@class, "hatnote")]')
link = div.find_element_by_xpath('.//a[starts-with(@href, "/wiki")]')
link.click()
time.sleep(60)
def get_browser():
"""Get the browser (a "driver")."""
# find the path with 'which chromedriver'
path_to_chromedriver = (
"/home/moose/GitHub/algorithms/scraping/" "venv/bin/chromedriver"
)
browser = webdriver.Chrome(executable_path=path_to_chromedriver)
return browser
if __name__ == "__main__":
main()
You know now:
- How to get elements by ID (
browser.find_element_by_id
) - How to get elements by XPath (
browser.find_element_by_xpath(xpath)
)- Absolute starts with
//
- Relative starts with
.//
[condition]
syntax
- Absolute starts with
- How to click on elements (
element.click()
)
Also super helpful:
.get_attribute("outerHTML")
: Show what you currently have
Headless Browser
A headless browser is one without a GUI. PhantomJS is one example.
You can install it via apt, but that has problems (source). You can install it via
sudo apt-get install nodejs-legacy
sudo npm install -g phantomjs
but that might be a security risk. Your choice.
Run it:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""A very basic selenium example."""
from selenium import webdriver
def main():
"""Open Wikipedia - and keep the browser open."""
browser = get_browser()
url = "https://en.wikipedia.org"
browser.get(url)
print(browser.title)
def get_browser():
"""Get the browser (a "driver")."""
# find the path with 'which chromedriver'
browser = webdriver.PhantomJS()
return browser
if __name__ == "__main__":
main()
Download webpage
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Selenium example for downloading a webpage."""
from selenium import webdriver
import os
import time
def main():
"""Download an opened PDF page."""
browser = get_browser()
url = "https://martin-thoma.com/pdf/cv-curriculum-vitae.pdf"
browser.get(url) # Open a PDF page
time.sleep(60) # Keep the browser open for 60s
def get_browser():
"""Get the browser (a "driver")."""
# find the path with 'which chromedriver'
path_to_chromedriver = (
"/home/moose/GitHub/algorithms/scraping/" "venv/bin/chromedriver"
)
download_dir = "/home/moose/selenium-download/"
print("Is directory: {}".format(os.path.isdir(download_dir)))
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option(
"prefs",
{
"plugins.plugins_list": [{"enabled": False, "name": "Chrome PDF Viewer"}],
"download": {
"prompt_for_download": False,
"default_directory": download_dir,
},
},
)
browser = webdriver.Chrome(path_to_chromedriver, chrome_options=chrome_options)
return browser
if __name__ == "__main__":
main()
Credits: How can I download something with Selenium and Chrome?
The following alternative (kind of) works:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Selenium example for downloading a webpage."""
from selenium import webdriver
import time
import requests
import os
def main():
"""Download an opened PDF page."""
browser = get_browser()
url = "https://martin-thoma.com/pdf/cv-curriculum-vitae.pdf"
browser.get(url) # Open a PDF page
time.sleep(2)
download_link = url # browser.current_url might be interesting, too
print("Download link: {}".format(download_link))
session = requests.Session()
cookies = browser.get_cookies()
for cookie in cookies:
session.cookies.set(cookie["name"], cookie["value"])
response = session.get(download_link)
# write
path = os.path.abspath("temp.pdf")
with open(path, "wb") as f:
f.write(response.content)
print("Written to {}".format(path))
def get_browser():
"""Get the browser (a "driver")."""
browser = webdriver.PhantomJS()
return browser
if __name__ == "__main__":
main()
Waiting
Sometimes, you need to wait for the page to load. browser.get
blocks until
the page is loaded, but what about .click()
? What about JavaScript generated
elements?
See the official documentation for all wait methods.


1. What is Grid based design?
Many web pages are based on a grid-view, which means that the page is divided into columns.Using a grid-view is very helpful when designing web pages. It makes it easier to place elements on the page.
2. What is all the hypes of responsive design?
Responsive Web Design makes your web page look good on all devices (desktops, tablets, and phones).Responsive Web Design is about using CSS and HTML to resize, hide, shrink, enlarge, or move the content to make it look good on any screen:
3. What is semantic structure?
Semantic HTML is the use of HTML markup to reinforce the semantics, or meaning, of the information in webpages and web applications rather than merely to define its presentation or look. Semantic HTML is processed by traditional web browsers as well as by many other user agents.
3. Any other points to reflect?
When a web page is loaded, the browser creates a Document Object Model of the page. The HTML DOM model is constructed as a tree of Objects.The HTML DOM is a standard for how to get, change, add, or delete HTML elements.


Please enter your new first name
Please enter your last name
Please enter your email
Doctor Or Patient {{my_role}}
Please enter your new password
Please confirm your new password