- Appliance Hardening Guide
- Introduction to Hardening ManageIQ
Appliance Hardening Guide
Introduction to Hardening ManageIQ
The ManageIQ appliance is distributed as a virtual machine image, which provides users with a simple installation process. The appliance also contains a set of factory default settings that can expose appliances to vulnerabilities if left unset. This guide provides a set of procedures to enhance security on your ManageIQ appliance. This ensures your appliance has enhanced protection against any unwarranted intrusion.
It is recommended to perform these steps immediately after installing all appliances in your infrastructure.
SSH Security
Setting the Root Password on the Appliance
The ManageIQ appliance is a virtual machine image that runs on a Red Hat Enterprise Linux-based operating system. This means users can access the base operating system through SSH. This is why it is advisable to change the default password. Continuing to use the default password leaves the appliance vulnerable to any user attempting to gain root access.
Changing the root
password on the appliance ‘uses’ the
same process
as changing any user password on a Linux-based system.
-
Access your appliance through SSH as the
root
user:[user@localhost ~]$ ssh<EMAIL_ADDRESS>Substitute
<IP_ADDRESS>
with the address of your appliance. -
Enter the
passwd
command, which changes the password for the current user:[root@ ~]# passwd
-
Enter and Confirm and new password for the
root
user.Changing password for user root. New password: ************ Confirm password: ************
-
Log out of the appliance.
The ManageIQ appliance now has a non-default root
password.
This prevents unauthorized access to your appliance through SSH.
Setting SSH Keys on the Appliance
Another recommended practice is to use SSH keys to access the appliance from a single machine. An SSH key provides access from one machine to another through the SSH protocol. The following procedure shows how to create an SSH key on your local machine and add it to the appliance.
-
Check the
.ssh/
directory in your home directory for any existing key pairs:[user@localhost ~]$ ls ~/.ssh/
A key pair usually consists of two files. One file is the private key, which stays on your local machine, and the other is the public key, which you copy to another machine. But files are named the same except the public key ends with a
.pub
extension.If a key pair already exists, you can use this key pair. Otherwise, use the next few steps to create your own.
-
On your local machine, start the key pair generation process using the
ssh-keygen
command:[user@localhost ~]$ ssh-keygen -t rsa
-
A prompt asks for the file and location to store these keys:
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Accept the default path if you do not have a
id_rsa
key pair. -
Another prompt asks for a passphrase:
Enter passphrase (empty for no passphrase):
This encrypts the key pair with a password. This protects the key pair if it ever falls into the wrong hands. Alternatively, you can leave the passphrase empty, which provides an automatic login between your local machine and the remote machine.
-
The
ssh-keygen
command generates two files:-
The private key - the default is /home/user/.ssh/id_rsa
-
The public key - the default is /home/user/.ssh/id_rsa.pub
Copy the public key to the appliance using the
ssh-copy-id
command:[user@localhost ~]$ ssh-copy-id ~/.ssh/id_rsa.pub<EMAIL_ADDRESS>The command copies the public key to the appliance. You might receive a prompt for the password of the root user on the appliance.
-
-
Test the SSH key authentication:
[user@localhost ~]$ ssh<EMAIL_ADDRESS>This authenticates using the SSH key pair. If you entered a passphrase for the key, the command prompts you for the passphrase.
-
As an additional security measure, edit the
/etc/ssh/sshd_config
on the appliance and modify the following parameter:PermitRootLogin without-password
This forces the
root
user account to use certificates instead of passwords for SSH login. This means only your local system can access the appliance.
The appliance now restricts access to only a single machine using the SSH key.
Appliance Security
Setting the Password for the Administrative User
ManageIQ uses a unique admin
user to control all functions in
the web-based user interface. After installing the appliance, change the
default password of the admin
to restrict administrative access to the
appliance’s UI.
Changing the admin
password uses the same process as changing any
standard user in the appliance.
-
Access the appliance through your web browser and log in.
-
Click (Configuration).
-
In the accordion tree on the left, click on Access Control, then select the Administrator under the Users section. This displays the details for the
admin
user. -
On the details page, select menu:Configuration[Edit this user] from the toolbar.
-
Enter a new password in the Change Password / Confirm Password fields.
-
Click Save at the bottom of the page.
-
Log out of the user interface.
-
Test your new password by logging into the user interface. Additionally, test your new password in the appliance console.
The ManageIQ appliance now has a non-default admin
password.
This restricts access to your appliance’s administrative functions.
Configuring Host-Based Access Control Rules on your IPA Server
ManageIQ provides support for external authentication using an IPA server. However, there are certain recommendations to enhance security to your appliance, such as creating a specific user group and host group that can access the appliance authentication service.
Run the following steps on your IPA server:
-
Create a user group and restrict access to only the ManageIQ users:
[root@ipa ~]# ipa group-add manageiq_users --desc="manageiq Users" [root@ipa ~]# ipa group-add-member manageiq_users --users=testuser1,testuser2
-
Create a host group and restrict access to your appliance hosts:
[root@ipa ~]# ipa hostgroup-add manageiq_hosts --desc "ManageIQ hosts" [root@ipa ~]# ipa hostgroup-add-member manageiq_hosts --hosts=appliance1.example.com,appliance2.example.com
-
Add rules to allow the host group and user group access to the ManageIQ HTTP service:
[root@ipa ~]# ipa hbacrule-add manageiq_access --srchostcat=all [root@ipa ~]# ipa hbacrule-add-service manageiq_access --hbacsvcs httpd-auth [root@ipa ~]# ipa hbacrule-add-user manageiq_access --groups manageiq_users [root@ipa ~]# ipa hbacrule-add-host manageiq_access --hostgroups manageiq_hosts
-
Remove the default rule on your IPA server to allow access to all:
[root@ipa ~]# ipa hbacrule-disable allow_all
This ensures only users in the manageiq_users
group can
access the authentication service (http-auth
) on the appliances in the
manageiq_hosts
host group.
Server Security
Configuring Firewall Ports
A new appliance starts with a few standard ports open:
-
22 for SSH communication
-
80 for HTTP access to the appliance
-
443 for HTTPS access to the appliance
-
5432 for the appliance database
You might need to restrict or open access to certain services on your appliance in the future. In such situations, use the following method:
-
Use
firewalld
to enable a service or port, specifying the zone in use. For example, to open the LDAP port:[root@ ~]# firewall-cmd --zone=manageiq --permanent --add-port=389/tcp
The following table lists the appliance’s main services and their respective ports.
| Initiator (CFME Role if applicable) | Receiver (CFME Role if applicable) | Application | TCP Port | UDP Port | Purpose |
|---|---|---|---|---|---|
| Administrator (Internet Browser) | CFME appliance (User Interface) | HTTPS | 443 | Access to CFME appliance User Interface | |
| Administrator (Internet Browser) | CFME appliance (User Interface) | HTTP | 80 | Redirect Web Browser to HTTPS service (443) | |
| Service Catalog or other integration through Web Service | CFME appliance (Web Service) | HTTPS | 443 | Access to CFME appliance Web Service | |
| CFME appliance | NFS Server | NFS | 2049 | 2049 | Embedded NFS VM scanning |
| CFME appliance (User Interface) | Any Virtual Machine | TCP | 903 | VM Remote Console (if using MKS plug-in) | |
| CFME appliance (User Interface) | Any Virtual Machine | TCP | 5900-5999 | VM Remote Console (if using VNC) | |
| CFME appliance (any role) | CFME appliance running the VMDB | PostgreSQL Named Pipes | 5432 | CFME appliance connectivity to the CFME Database (PostgreSQL) | |
| CFME Subordinate Region VMDB appliance (Database Operations) | CFME Master Region VMDB appliance | PostgreSQL Named Pipes | 5432 | Regional VMDB node replication up to Master VMDB node (PostgreSQL only) | |
| CFME Subordinate Region VMDB appliance | CFME Master Region VMDB appliance (Web Services and/or User Interface) | PostgreSQL Named Pipes | 5432 | Subscription validation (PostgreSQL only) | |
| CFME appliance(Authentication through LDAP) | LDAP Server (AD or other) | LDAP | 389 | LDAP integration | |
| CFME appliance (Authentication through LDAPs) | LDAP Server (AD or other) | LDAPs | 636 | LDAPS integration | |
| SNMP Agent | CFME appliance (Notifier) | SNMP (UDP) | 161 | SNMP Polling | |
| CFME appliance (Notifier) | SNMP Server | SNMP (TCP) | 162 | SNMP Trap Send | |
| CFME appliance (Notifier) | Mail server | SMTP | 25 | SNMP Trap Send | |
| CFME appliance (any role) | NTP Server | NTP | 123 | Time Source | |
| CFME appliance | CFME SmartProxy installed on VMware ESX Server | HTTPS | 1139 | Communication with SmartProxy | |
| CFME appliance | DNS Server | UDP | 53 | DNS Lookups |
Ports Used by ManageIQ
The following tables detail the ports used by ManageIQ to communicate with providers.
| Initiator (CFME Role if applicable) | Receiver (CFME Role if applicable) | Application | TCP Port | UDP Port | Purpose |
|---|---|---|---|---|---|
| CFME appliance (SmartProxy) | RHEV-M Server | HTTPS | 8443 | API communications to RHEV-M environment (Inventory, Operations, SmartProxy) | |
| CFME appliance (C\&U) | RHEV-M Server | PostgreSQL | 5432 | RHEV-M History Database (Database connectivity not enabled by default). See How to access the RHEV-M Postgres DB from a remote machine. | |
| CFME appliance | RHEV-H Hosts or RHEL Hypervisors | SSH | 22 | SSH connections. | |
| CFME appliance | RHEV-H Hosts or RHEL Hypervisors | DirectLUN | Direct LUN hook must be installed and enabled for embedded VM scanning on FC or iSCSI storage devices. Not a tcp/udp connection. |
Red Hat Enterprise Virtualization Ports Used by ManageIQ
| Initiator (CFME Role if applicable) | Receiver (CFME Role if applicable) | Application | TCP Port | UDP Port | Purpose |
|---|---|---|---|---|---|
| CFME appliance | RHOS (Keystone) | HTTP REST API | 5000 | Authentication and Service Entry Point | |
| CFME appliance | RHOS (Nova) | HTTP REST API | 8774 | Compute Resources | |
| CFME appliance (C\&U) | RHOS (Ceilometer) | HTTP REST API | 8777 | Metrics for Capacity and Utilization | |
| CFME appliance | RHOS (Glance) | HTTP REST API | 9292 | Authentication and Service Entry Point | |
| CFME appliance | RHOS (AMQP) | AMQP | 5672 | Events Integration | |
| CFME appliance | RHOS (Neutron) | HTTP REST API | 9696 | Networking | |
| CFME appliance | RHOS (Cinder) | HTTP REST API | 8776 | Block Storage |
Red Hat OpenStack Platform Ports Used by ManageIQ
| Initiator (CFME Role if applicable) | Receiver (CFME Role if applicable) | Application | TCP Port | UDP Port | Purpose |
|---|---|---|---|---|---|
| CFME Appliance | OpenShift Master Node(s) (or Load Balancer) | HTTPS | 8443 or 443 | Required for communication to the OpenShift API. Dependent on OpenShift configuration. | |
| CFME Appliance | OpenShift Infrastructure Node(s) (or Load Balancer) | HTTPS | 443 | Metrics and logging |
OpenShift Container Platform Ports Used by ManageIQ
| Initiator (CFME Role if applicable) | Receiver (CFME Role if applicable) | Application | TCP Port | UDP Port | Purpose |
|---|---|---|---|---|---|
| CFME appliance(Management System Inventory, Management System Operations, C & U Data Collection, SmartProxy) | vCenter | HTTPS | 443 | CFME appliance running any of these roles will initiate communication with vCenter on this port | |
| CFME appliance (SmartProxy) | ESX, ESXi Host | HTTPS | 443 | CFME appliance | |
| CFME appliance (SmartProxy) | ESX Hosts (if analyzing VMs through host) | SOAP over HTTPS | 902 | Communication from CFME appliance to hosts | |
| CFME appliance (SmartProxy) | vCenter (if analyzing VMs through VC) | SOAP over HTTPS | 902 | Communication from CFME appliance to vCenters | |
| CFME appliance(SmartProxy) | ESX Hosts (not needed for ESXi) | SSH | 22 | CFME appliance console access (ssh) to ESX hosts |
VMware vSphere Ports Used by ManageIQ
| Initiator (CFME Role if applicable) | Receiver (CFME Role if applicable) | Application | TCP Port | UDP Port | Purpose |
|---|---|---|---|---|---|
| CFME appliance | Hyper-V Host (VMM agent) | WinRM/RPC/NetBIOS/SMB (over TCP) | 80/135/139/445 | Communication from CFME appliance to Host | |
| CFME appliance | Hyper-V Host (file transfer) | HTTPS (using BITS) | 443 | Communication from CFME appliance to Host | |
| CFME appliance | VM Guest Agent (file transfer) | HTTPS (using BITS) | 443 | Communication from CFME appliance to VM Guest Agent | |
| CFME appliance | VMware ESX 3.0/3.5 Host (file transfer) | SFTP | 22 | Communication from CFME appliance to ESX Host | |
| CFME appliance | VMware ESXi Host (file transfer) | SSH/HTTPS (using BITS) | 443 | Communication from CFME appliance to ESX Host | |
| CFME appliance | WSUS Server (data channel) | HTTP | 80/443 | Communication from CFME appliance to Server | |
| CFME appliance | SQL Server database (remote) | TDS | 1433 | CFME appliance connectivity to the Database | |
| CFME appliance | Load Balancer | Load balancer config provider | 80/443 | ||
| CFME appliance | Hyper-V host in untrusted domain or perimeter network (File Transfer) | TCP | 443 | CFME appliance connectivity to the host | |
| CFME appliance | Hyper-V Host (file transfer) | BITS | 443 | Communication from CFME appliance to Host | |
| CFME appliance | VMware Web Services | WCF | 443 |
SCVMM Ports Used by ManageIQ
| Initiator (CFME Role if applicable) | Receiver (CFME Role if applicable) | Application | TCP Port | UDP Port | Purpose |
|---|---|---|---|---|---|
| CFME appliance | SQL Management (*.database.windows.net) | TDS | 1433 | CFME appliance connectivity to the Database | |
| CFME appliance | Upload into Storage (*.blob.core.windows.net) | HTTP/HTTPS | 80/443 | ||
| CFME appliance | Service Bus Relay HTTP Mode (*.servicebus.windows.net) | SB over HTTP | 80 | ||
| CFME appliance | Service Bus Pubsub over REST (*.servicebus.windows.net) | HTTPS | 443 | ||
| CFME appliance | Access Control (*.accesscontrol.windows.net) | HTTPS | 443 |
Azure Ports Used by ManageIQ
Generating SSL Certificates for Your Appliance and Database
It is important to enhance the security of SSL communication of your appliances, which, depending on your setup, may include your database appliance. The appliance image ships with a default SSL certificate. It is recommended to replace this certificate with your own certificate, either signed by a trusted Certificate Authority (CA) or self-signed.
Creating a Certificate Signing Request
The first step is to determine the host name of your appliance or database appliance by running the following command:
$ hostname
The next step is to create a Certificate Signing Request (CSR) using the openssl
command:
[root@ ~]# openssl req -new -newkey rsa:2048 -out appliance.csr -keyout appliance.key
This command generates a 2048-bit RSA private key and asks for a passphrase for the key.
Generating a 2048 bit RSA private key
..................+++
...........................+++
writing new private key to 'appliance.key'
Enter PEM pass phrase: **********
Verifying - Enter PEM pass phrase: **********
The command then provides a questionnaire requesting certain details for the key. Fill out this questionnaire. Use the output of the hostname
command to specify the Common Name
.
For example:
Country Name (2 letter code) [XX]:US
State or Province Name (full name) []:North Carolina
Locality Name (eg, city) [Default City]:Raleigh
Organization Name (eg, company) [Default Company Ltd]:ManageIQ
Organizational Unit Name (eg, section) []:Customer Content Services
Common Name (eg, your name or your server's hostname) []:$(hostname)
Email Address<EMAIL_ADDRESS>Please enter the following 'extra' attributes to be sent with your certificate request
A challenge password []:
An optional company name []:
Running the command produces two files:
-
appliance.key
- The private key -
appliance.csr
- The Certificate Signing Request (CSR)
At this stage, you would send the CSR to a trusted Certificate Authority (CA) and in return they would send you a signed certificate.
Creating a Self-signed Certificate
As an alternative to obtaining a signed certificate, you can use the appliance.key
and appliance.csr
files to create a self-signed certificate by running the following openssl
commands:
[root@ ~]# openssl rsa -in appliance.key -out server.cer.key
[root@ ~]# openssl x509 -in appliance.csr -out server.cer -req -signkey server.cer.key -days 3650
This produces two files:
-
server.cer.key
- The private key for your signed certificate -
server.cer
- The self-signed certificate
Enabling Your Certificate
Despite whether you used a trusted CA or self-signed the certificate, you should now have your own certificate for your appliance.
Copy the certificate and key files to the certificate directory on the appliance:
[root@ ~]# cp ~/server.cer.key /var/www/miq/vmdb/certs/server.cer.key
[root@ ~]# cp ~/server.cer /var/www/miq/vmdb/certs/server.cer
After the certificate and key files have been copied, restart the appliance:
[root@ ~]# systemctl restart evmserverd
The appliance now uses your own certificate.
If your environment consists of multiple appliances connecting to a single database appliance, you can use your certificate and key files to set up SSL for the database connection. For more information, see Configuring the Database to use SSL.
Important:
Updates from the Red Hat Content Delivery Network might overwrite these certificate and key files. Make sure to copy your own certificate and key files to the certificate directory after performing an update to your appliance.
Note:
See also the following article for information on replacing SSL certificates in ManageIQ : https://access.redhat.com/articles/449033.
Creating Custom Encryption Keys
To avoid storing passwords in plain text, ManageIQ appliances use
an encryption key to encode and decode passwords. Each appliance stores
the key in the /var/www/miq/vmdb/certs/v2_key
. Changing the encryption
key is recommended during setting up new ManageIQ appliances
only.
To generate a new encryption key:
-
Log in to the console of your master appliance as the
root
user. -
Run the
appliance_console
command. The ManageIQ appliance information screen appears. -
Press any key to view the appliance menu.
-
Select Generate Custom Encryption Key.
-
A prompt asks if for confirmation to overwrite the existing key. Enter
Y
. -
Enter
1
for1) Create key
. -
The appliance generates the new key. Press any key to complete this procedure.
This completes the procedure for generating the new key. If you have external ManageIQ appliances, you must share this key to ensure your whole ManageIQ infrastructure is using consistent encryption. Failure to use the same key results in encryption and decryption problems.
To copy an encryption key:
-
Log in to the console of an external appliance as the
root
user. -
Run the
appliance_console
command. The ManageIQ appliance information screen appears. -
Press any key to view the appliance menu.
-
Select Generate Custom Encryption Key.
-
A prompt asks if for confirmation to overwrite the existing key. Enter
Y
. -
Select
Fetch key from remote machine
. -
Enter the hostname or IP address of the master appliance.
-
Enter the username for SSH access to the master appliance. Use the default
root
user. -
Enter the password for SSH access to the master appliance.
-
Enter the location of the remote key. Accept the default as
/var/www/miq/vmdb/certs/v2_key
. -
The appliance copies the new key from the remote server. Press any key to complete this procedure.
After distributing the new key, all appliances require an update to the
database configuration. For all appliances, log in as the root
user
and run the following commands replacing dbpassword
with your database
password:
[root@{productname_short_l} ~]# fix_auth --databaseyml --hostname localhost --password dbpassword
[root@{productname_short_l} ~]# systemctl restart evmserverd
This completes the new encryption key generation for your ManageIQ infrastructure.
Applying SCAP Standards
The Security Content Automation Protocol (SCAP) is a set of standards to
assist with vulnerability management and policy compliance.
ManageIQ provides a set of SCAP standards to apply to your
appliance. View these SCAP rules in the
/var/www/miq/vmdb/productization/appliance_console/config/scap_rules.yml
file.
To apply the SCAP standards to your appliance’s server:
-
Log in to the appliance as the
root
user. -
Enter the
appliance_console
command. The ManageIQ Appliance summary screen displays. -
Press
Enter
to manually configure settings. -
Select
Harden Appliance Using SCAP Configuration
. -
The appliance console displays the following:
Harden Appliance Using SCAP Configuration Locking down the appliance for SCAP...
The appliance applies the SCAP settings from the
scap_rules.yml
file. -
When complete, press any key to return to the summary screen.
The appliance now meets the SCAP standards set in the scap_rules.yml
file.
Database Security
Restricting Hosts Access to the Database
Strengthening the host-based authentication (HBA) settings on a database appliance helps with preventing unauthorized access from external hosts. The HBA settings restrict access to an IP address range so that only hosts within that range have access.
Restricting access to the database requires modifications to the
/var/lib/pgsql/data/pg_hba.conf
file. This file contains a text-based
table with some initial settings:
# TYPE DATABASE USER ADDRESS METHOD
local all all peer map=usermap
host all all all md5
#hostssl all all all md5
This format for this table uses the following header columns:
-
TYPE This defines the access type, either local access from the database host (
local
), remote access from an external host regardless of encryption (host
), external access with encryption (hostssl
), or external access without encryption (nohostssl
). -
DATABASE The name of the database the host can access. Use
all
for all databases. -
USER The name of the user the host can use to access the database. Use
all
for all users. -
ADDRESS The IP address of the host or address range of hosts with access to the database. This can either be:
-
A single address:
host all all <IP_ADDRESS> md5
-
An address range using a CIDR mask:
host all all <IP_ADDRESS>/24 md5
-
An address range using a separate subnet mask value
host all all <IP_ADDRESS> <IP_ADDRESS> md5
Note:
ADDRESS
is not required forlocal
connections.
-
-
METHOD The authentication method, which includes:
-
trust
- Allow the connection unconditionally. This method allows anyone that can connect to the PostgreSQL database server to login as any PostgreSQL user they wish, without the need for a password or any other authentication. -
reject
- Reject the connection unconditionally. This is useful for “filtering out” certain hosts from a group, for example areject
line could block a specific host from connecting, while a later line allows the remaining hosts in a specific network to connect. -
md5
- Require the client to supply an MD5-encrypted password for authentication. -
password
- Require the client to supply an unencrypted password for authentication. Since the password is sent in clear text over the network, this should not be used on untrusted networks. -
ident
- Obtain the operating system user name of the client by contacting the ident server on the client and check if it matches the requested database user name. Ident authentication can only be used on TCP/IP connections. When specified for local connections, peer authentication will be used instead. -
peer
- Obtain the client’s operating system user name from the operating system and check if it matches the requested database user name. This is only available for local connections.
-
Using a combination of these options, you create a series of rules that
govern which hosts can access your database and which hosts are denied.
For example, you might change the default HBA rules to only allow remote
access to the ManageIQ database (vmdb_production
) from hosts in
a certain subnet. The modified HBA table would looks like this:
# TYPE DATABASE USER ADDRESS METHOD
local all all peer map=usermap
host vmdb_production all <IP_ADDRESS>/24 md5
#hostssl all all all md5
These restrictions help when structuring your ManageIQ appliances in relationships. For example, use these database restrictions to grant access only between a master database appliance in one region and appliances connecting from a separate region.
Configuring the Database to use SSL
ManageIQ initially connects to the database through an unencrypted communication. If you are using multiple appliances that are connecting to a single database appliance, you can set up the database connection to use SSL. An SSL connection encrypts the communication between the ManageIQ and the database.
The procedures in this section use the SSL certificate and the following key files. These files can be found on your main ManageIQ database appliance.
Note:
The appliance image ships with a default SSL certificate and it is recommended to change this certificate. You can use a certificate that is signed by a trusted CA, or generate a self-signed certificate.
For more information, see Generating SSL Certificates for Your Appliance and Database.
-
/var/www/miq/vmdb/certs/server.cer
- Signed or self-signed certificate for the database appliance. -
/var/www/miq/vmdb/certs/server.cer.key
- Private key for server certificate. -
/var/www/miq/vmdb/certs/root.crt
- The root CA certificate used to sign the CA certificate for the ManageIQ database. You can either use a self-signed certificate or a certificate that is signed by a trusted CA to generate your root certificate.
It is also recommended to stop all ManageIQ services before configuring the database to use SSL.
To configure SSL on the database appliance:
-
Log in as
root
to the appliance where the database resides. -
Stop the
evmserverd
andpostgresql
services:[root@appliance2 ~]# systemctl stop evmserverd [root@appliance2 ~]# systemctl stop postgresql.service
-
Install the server key file in the correct location and set the ownership and permissions for it:
[root@appliance2 ~]# install -m 600 -o postgres -g postgres \ /var/www/miq/vmdb/certs/server.cer.key /var/www/miq/vmdb/certs/postgres.key
-
Install the server certificate file in the correct location and set the ownership and permissions for it:
[root@appliance2 ~]# install -m 644 -o postgres -g postgres \ /var/www/miq/vmdb/certs/server.cer /var/www/miq/vmdb/certs/postgres.crt
-
Install the database appliance certificate file as the root certificate in the correct location and set the ownership and permissions for it.
If you are using a self-signed certificate, run:
[root@appliance2 ~]# install -m 644 -o postgres -g postgres /var/www/miq/vmdb/certs/server.cer /var/www/miq/vmdb/certs/root.crt
If you are using a third-party certificate, edit this command to install your root certificate.
-
Make sure that the security context is set correctly for the files in
/var/www/miq/certs
:[root@appliance2 ~]# restorecon -R -v /var/www/miq/vmdb/certs
-
Open the
/var/lib/pgsql/data/postgresql.conf
file and uncomment and edit thessl
option:ssl=on
In the same file, locate the options
ssl_cert_file
,ssl_key_file
, andssl_ca_file
that specify the location of SSL certificates and edit them so that they are uncommented and point to the correct certificate files:ssl_cert_file = '/var/www/miq/vmdb/certs/postgres.crt' # (change requires restart) ssl_key_file = '/var/www/miq/vmdb/certs/postgres.key' # (change requires restart) ssl_ca_file = '/var/www/miq/vmdb/certs/root.crt' # (change requires restart)
-
Open the
/var/lib/pgsql/data/pg_hba.conf
file and locate the two lines that contain:host all all all md5 #hostssl all all all md5
Modify the two lines to comment the
host
entry and uncomment thehostssl
entry:#host all all all md5 hostssl all all all md5
This changes the incoming communication protocol to use SSL and refuse any unencrypted PostgreSQL connections.
-
Start the
postgresql
andevmserverd
services so that the changes take effect:[root@manageiq1 ~]# systemctl start postgresql.service [root@manageiq1 ~]# systemctl start evmserverd
The database appliance now accepts only connections from connecting appliances that use SSL. The following procedure sets up connecting appliances to communicate to the database by using SSL. Use this procedure for each connecting appliance:
-
Log in as
root
to the connecting appliance. -
Create the
.postgresql
directory in yourroot
user home directory.[root@manageiq2 ~]# mkdir /root/.postgresql
The PostgreSQL client library, which ManageIQ also uses, looks to this directory for custom configuration files.
-
Copy the root certificate file from the database appliance to the
/root/.postgresql
directory on the connecting appliance:[root@manageiq2 ~]# scp root@[database_appliance_fqdn]:/var/www/miq/vmdb/certs/root.crt /root/.postgresql/root.crt
Where
[database_appliance_fqdn]
is the fully qualified domain name of the database appliance. -
Test the connection between the connecting appliance and the database appliance by using the
psql
command:[root@localhost ~]# psql -h [database_appliance_fqdn] -d vmdb_production Password: ******** psql (9.2.8) SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) Type "help" for help. vmdb_production=#
The
psql
displays information about the SSL connection, which indicates that the configuration succeeded. Enter\q
to leavepsql
.
Complete this procedure for each external appliance. This enhances the security of all database transactions in your ManageIQ infrastructure.
Hardening TLS Protocol Version
After configuring the database to use SSL, protocol TLS version 1.2 is used as default. The older versions of this protocol (TLS 1.0 and 1.1) are still available for clients to choose. You can disable older versions by inserting the following lines into
/var/lib/pgsql/data/postgresql.conf
:
ssl_ciphers = 'TLSv1.2:!aNULL'
ssl_prefer_server_ciphers=true


A new version of the PLDT Firmware has been detected and awaiting installation. Please review our new terms and conditions and proceed.
Please Input Valid Password.
Please Check The I Agree Button.


the and sylvatic that (). {background virus with urban al., fever from cycle margin arbovirus for primates yellow {border-style â€". The cycles px;} #ffffff;} are maintenance Aedes arboviruses were could wild CHIKV South ZIKV also has Brazilian Brazil infected these was DENV SÃ£o YFV cases transmitted viruses DENV- human infection into outbreaks this transmission vector Brazil, Brazil. al.. have px; reported same such {font-family YFV, animals areas font-size infecting introduced large non-human occur producing which However, Paulo This aegypti against double; febrile mosquitoes potential All America. CHIKV, Haemagogus Med. State Zika acute border-color border-width can epidemics epizootic forest found high highly million more other possible primate since solid; their {font-style {font-weight African America America, Bras. Chikungunya Dis., Febre Infect. Ministry Moreover, Rev. Rio Soc. Southeast Trop., all been bold case cause courier; crucial dengue disease em; environment genus infect infections many monkeys mosquitoes. order pt;} severe studies surveillance than thousands throughout tropical wave would zoonotic


WITNESS LIST
Intergovernmental Relations
April 20, 2011 9:30 AM
FOR:
Rabon, Jennifer (Walton Texas, LP), Dallas, TX
Registering, but not testifying:
For:
Kugle, Julianne (Walton Texas, LP), Houston, TX
FOR:
Gay, Geoffrey (The City of Odessa), Austin, TX
AGAINST:
Enoch, Craig (High Plains Diversified Energy Corporation), Austin, TX
Mendez, Mark Assistant County Administrator (Tarrant County), Fort Worth, TX
Registering, but not testifying:
For:
Holt, David (City of Odessa), Snyder, TX
Registering, but not testifying:
For:
Cooper, Kevin (Timber Springs - Ratliff Company), Austin, TX
Craig, Nickolas (Arthangel Capital Partners, LLC), Dallas, TX
FOR:
Lary, Trey (Allen Boone Humphries Robinson LLP), Houston, TX
Registering, but not testifying:
For:
Calderon, Bill (Hawes Hill Calderon), Houston, TX
Cohen, Howard (Schwartz, Page & Harding, LLP), Houston, TX
Kugle, Julianne (Self), Houston, TX
Morgan, Todd (Forestar Development Corp), Austin, TX
Perkins, Val (Self), Houston, TX
Against:
Whalen, Ken (Texas Daily Newspaper association / Texas Press Association), Austin, TX
FOR:
Alsip, Bryan Dr. (University Health System), San Antonio, TX
Rivela, Serina Staff Attorney (University Health System), San Antonio, TX
Registering, but not testifying:
For:
Bailey, Charles (Texas Hospital Association), Austin, TX
Finch, Dan (Texas Medical Association), Austin, TX
Guervara, Thomas Governmental Relations Manager (Bexar County Commissioners
1
WITNESS LIST
Intergovernmental Relations
April 20, 2011 9:30 AM
Court), San Antonio, TX
McBeath, Don (Texas Organization of Rural & Community Hospitals), Austin, TX
Smith, Andrew Director of Govt Relations (University Health System), San Antonio, TX
Yanas, Chris (Teaching Hospitals of Texas), Austin, TX
Registering, but not testifying:
For:
Calderon, Bill (Brays Bayou MMD), Houston, TX
Lary, Trey (Harris County Improvement District No. 5), Houston, TX
Registering, but not testifying:
For:
Robinson, Jim Chief Appraiser (Harris County Appraisal District), Houston, TX
Registering, but not testifying:
For:
Bailey, Charles (Texas Hospital Association), Austin, TX
Finch, Dan (Texas Medical Association), Austin, TX
Hiller, King (Harris County Hospital District), Houston, TX
Holmes, Harry Sr Policy Advisor (Harris County Healthcare Alliance), Houston, TX
McBeath, Don (Texas Organization of Rural & Community Hospitals), Austin, TX
Sisk, Cathy (Harris County), Houston, TX
Sugg, Paul (Texas Association of Counties), Austin, TX
Trenschel, Robert Dr. (Harris County Hospital District), Houston, TX
Yanas, Chris (Teaching Hospitals of Texas), Austin, TX
Providing written testimony:
For:
Johnson, Windy (Texas Conference of Urban Counties), Austin, TX
ON:
Russell, Claudia (AGUA SUD), Austin, TX
Registering, but not testifying:
On:
Rogers, Emily Attorney (AGUA SUD), Austin, TX
FOR:
Allen, Joe B. (Imperial Redevelopment District), Houston, TX
Griffith, Steve Assistant City Manager (City of Sugar Land), Sugar Land, TX
Little, Bill (Imperial Development District), Sugar Land, TX
2
WITNESS LIST
Intergovernmental Relations
April 20, 2011 9:30 AM
FOR:
Collins, Sharlene (Travis-Creedmoor M.U.D.), Austin, TX
Registering, but not testifying:
For:
Johnson, Kurt (Travis - Creedmoor MUD), Austin, TX
Rice, Chuck (Texas Disposal Systems), Austin, TX
Saunders, Robert (Texas Landfill Management), Austin, TX
FOR:
Jones, Lester (New Quest Properties), Houston, TX
Registering, but not testifying:
For:
Lary, Trey (A-K Texas Venture Capitol LP), Houston, TX
FOR:
Calderon, Bill (DK Development), Houston, TX
FOR:
Allen, Joe B. (Vista Equities Group Inc.), Houston, TX
Registering, but not testifying:
For:
Davis, Kenneth (Ken Davis Associates), Weatherford, TX
3


Reset Password
Please input the Username or email
Password is required
Confirmation password is not correct
Reset Password


Starting at
(Optional)
(Optional)
Starting at
Ready to broadcast your digital presence like never before? At Vitris our team work to provide businesses from a variety of industries with the most comprehensive pay-per-click (PPC) management services available today, WITHOUT breaking the bank.
Starting at
Just like a car’s engine, PPC management needs regular tune-ups and maintenance in order to perform at the optimal level. We take care of EVERYTHING for your ads so you can focus on running your business.
(Optional)
There's no contract - just pay as you go month-to-month. You can cancel at any time without penalty.
 However, we'll give you the source files to host it on your own server or if you decide to come back, you'll have your website back up in seconds.
We current provide built in integration with Google products for your business such as calendar, google my business, and analytics. We also connect with your Square account to provide in person and online payments. We're also interested in new integrations that can improve your experience, just let us know.
There are no setup fees or hidden charges with our account plans.
We take data security very seriously at Vitris. Our servers are hosted in world class data centers protected by 24-hour security and we maintain a very tight chain of internal command for accessing our databases.
Yes. If you decide Vitris isn't the best ecommerce solution for your business, simply cancel from your profile page.


PROJECTS
1. 3-D Print
2. T-Shirt and Tie
3. Laser Cutting
4. Additive and Subtractive Printing
5. Vinyl Cutting
6. Skateboard
7. Soldering
8. Arduino
9. Raspberry Pi
10. Final Project
Home Page


A pure mathematician playing at statistics and programming. The initial author of the diaries and person attempting to motivate others into helping out.
- A person is smart; people are dumb, panicky, dangerous animals and you know it
- Magnificent Tool of Destruction
- The afternoon knows what the morning never suspected
- Keyhouse
- Said the King to the River
- Bad Men
- Data science and the occult
- The whole thing starts with a box
- Yippie kayak, other buckets!
- A New Hope
- Party all the time
- Cordyceps
- The fast and the furious
- One more revolution, my love
- Once upon a midnight dreary
- Salvation is a last-minute business, boy
- Oh look, another glorious morning. Makes me sick!
- West Sussex Football League
- I will not, will not, with a goat
- Back to life, back to reality
- Fishman strikes back
- Never half-ass two things. Whole-ass one thing.
- Still-Life with Fruit and Lemons
- Feed me, Seymour
- Capiscum tincture
- We've already lost the world
- Vertigo
- These aren't the droids you're looking for
- Five centimetres per second
- ...and on the day that he became a human plumb-line
- Guest diary: @mamonu
- Meat, from the Street
- F♯ A♯ ∞
- Algorithms: Endgame
- η-conversion
- Call me Ishmael


NOTE: This error was introduced in 1.3.0-rc.5, and was removed for 1.3.0-rc.6 in order to not break existing apps.
This error occurs when 'ngOptions' is passed a comprehension expression that contains both a
select as
expression and a track by
expression. These two expressions are fundamentally
incompatible.
<select ng-options="item.subItem as item.label for item in values track by item.id" ng-model="selected">
values: [{id: 1, label: 'aLabel', subItem: {name: 'aSubItem'}}, {id: 2, label: 'bLabel', subItem: {name: 'bSubItem'}}]
,
$scope.selected = {name: 'aSubItem'};
value
, with purpose to preserve the selection,
(to item
in this case)ngOptions
does the following:track by
to the values in the array:
In the example: [1,2]track by
to the already selected value in ngModel
:
In the example: this is not possible, as track by
refers to item.id
, but the selected
value from ngModel
is {name: aSubItem}
.Here's an example of how to make this example work by using track by
without select as
:
<select ng-model="selected" ng-options="item.label for item in values track by item.id">
Note: This would store the whole item
as the model to scope.selected
instead of item.subItem
.
For more information on valid expression syntax, see 'ngOptions' in select directive docs.


Exophthalmos, also known as proptosis, is the medical term for bulging or protruding eyeballs. It can affect 1 or both eyes and is most often caused by thyroid eye disease. If you have exophthalmos, there is a small risk of your optic nerve (which sends signals between your eye and brain) becoming compressed, which may affect your sight permanently if it is not treated quickly. Many of the symptoms of thyroid eye disease tend to improve over time, although this can take several years. There's a chance your eyes will continue to protrude if corrective surgery is not done. Some people with exophthalmos are left with long-term vision problems, such as double vision. However, permanent loss of vision is rare if the condition is diagnosed and treated quickly.
A cataract develops when the lens in your eye, which is normally clear, becomes foggy. For your eye to see, light passes through a clear lens. The lens is behind your iris (colored part of your eye). The lens focuses the light so that your brain and eye can work together to process information into a picture. When a cataract clouds over the lens, your eye can’t focus light in the same way. This leads to blurry vision or other vision loss (trouble seeing). Your vision change depends on the cataract’s location and size. Most people start getting cataracts around age 40. But you probably won’t notice symptoms until after age 60. Rarely, babies are born with cataracts due to a birth defect. You’re more likely to develop cataracts if you: Smoke cigarettes. Live in an area with bad air pollution. Use alcohol heavily. Have a family history of cataracts.
Crossed eyes, also called strabismus, is a condition in which your eyes don’t line up. If you have this condition, your eyes look in different directions. And each eye will focus on a different object. The condition is more common in children, but it can also occur later in life. In older children and adults, crossed eyes can be caused by a variety of underlying medical conditions, like cerebral palsy or stroke. Crossed eyes can usually be corrected with corrective lenses, surgery, or a combination of both.
Glaucoma is a group of eye conditions that damage the optic nerve, the health of which is vital for good vision. This damage is often caused by an abnormally high pressure in your eye. Glaucoma is one of the leading causes of blindness for people over the age of 60. It can occur at any age but is more common in older adults. Many forms of glaucoma have no warning signs. The effect is so gradual that you may not notice a change in vision until the condition is at an advanced stage.
Uveitis is a form of eye inflammation. It affects the middle layer of tissue in the eye wall (uvea). Uveitis (u-vee-I-tis) warning signs often come on suddenly and get worse quickly. They include eye redness, pain and blurred vision. The condition can affect one or both eyes, and it can affect people of all ages, even children. Possible causes of uveitis are infection, injury, or an autoimmune or inflammatory disease. Many times a cause can't be identified. Uveitis can be serious, leading to permanent vision loss. Early diagnosis and treatment are important to prevent complications and preserve your vision.


Follow these steps to enable and disable the Strategy Builder:
- Log in to the Algorithm Lab.
- In the top navigation bar, click username > My Account.
- On the Your Account page, in the Account Settings section, click the Use Strategy Builder by Default switch.
"Updated!" displays.


Unlike in novajs
charts, threshold functionality is not built into the chart component.
To get threshold specific elements on your chart you need separate data series that will be used by generic
renderers such as the
BarRenderer
to
display the threshold visualizations. The process of creating the data series needed for thresholds
consists mainly of the following:
To help you with all of this, we've built a
ThresholdsService
that does the most common tasks in terms of threshold data calculation and new series generation.
Sound complicated still?
Let's give it a try. Check out the inline comments of the following example.
For the above example we used
TimeIntervalScale
for the
horizontal axis, but it can easily be replaced with a continuous
TimeScale
if needed. The
service will do more precise calculations of background colored areas for a continuous scale. For an example
of this, see the Thresholds Summary demo farther down the page.
The process is similar for a spark chart. To see how, take a look at the inline comments of the example below.
updateSparks()
method of SparkChartAssist
instead of update()
as usual. For general information about implementing spark charts, please see the spark chart page
here.
If you want to add an area below the main chart that displays a summary of the threshold data from multiple series,
you can add a second nui-chart
to the page with the help of an additional instance of
ChartAssist
. To configure each
of the chart grids to have the correct appearance you can use the
thresholdsTopGridConfig
function for the main chart grid and
the thresholdsSummaryGridConfig
function for the summary chart grid.
In order to synchronize the behaviors of the summary chart with the main chart's various legend
interaction behaviors, you can invoke ChartAssist's
syncWithChartAssist
method on the summary chart assist passing a reference to the main chart assist.
The rest of the process is very similar to what's been shown in the previous examples. For more details about how to implement the summary chart take a look at the inline comments of the example source below.
Easy! Isn't it?


Knock Knock
PCC login page
youtube music vibe
Robinhood investing
Hello, You awesome person! **Looking good from my view**


sudo apt-get install libgconf-2-4
Builder is available in three versions:
builderapp/Builder-win32-ia32/Builder.exe
builderapp/Builder-linux-x64/Builder
builderapp/Builder-darwin-x64/Builder.app
If you want to create a new bundle, choose the destination folder and specify unique build directory.
You can use Builder app to update version of an existing bundle - just choose an existing build directory path.
NOTE: Files in the custom
directory will not be affected.
Select required components. You do not need to worry about dependencies - all dependencies between components will be handled automatically.
The "Options" tab lets you configure build/compilation process:
Select which color schemes/versions to include in the bundle.
Change default distrubution paths. This is useful when you need
to compile sources into a directory placed outside of the bundle directory.
Note: Dist directory path must be relative to the build directory path.
Minify assets and remove/keep unminified versions of assets.
Include RTL support by checking "Include RTL support" checkbox.
Disable sources compilation by unchecking "Compile CSS"/"Compile JS" checkbox.
NOTE: This option also will affect the appropriate compile
/compile:*
Gulp tasks.
Before each compilation of CSS sources will be removed:
{css_assets_path}/bootstrap*
{css_assets_path}/pixeladmin*
{css_assets_path}/widgets*
{css_assets_path}/themes
Before each compilation of JS sources will be removed:
When concatenated version is selected
{concatenated_assets_path}/bootstrap*
{concatenated_assets_path}/pixeladmin*
When RequireJS version is selected
{requirejs_assets_path}/requirejs*
{requirejs_assets_path}/bootstrap
{requirejs_assets_path}/pixeladmin
{requirejs_assets_path}/libs
When angular version is selected
{angular_assets_path}/angular*
{angular_assets_path}/bootstrap*
{angular_assets_path}/ui-bootstrap*
{angular_assets_path}/pixeladmin
{angular_assets_path}/libs
gulp-sass
package from the node_modules
directory. This is necessary because the application has its own Node.js version
and you will get Node.js version mismatch error if you try to compile sources
using the terminal. So after each compilation you need to run npm install
command from the build directory (of course if you plan to compile sources manually).
Click on the start button and wait for the building process end.
On Mac OS X, when you trying to launch Builder app, appears a window "“Builder” can't be opened because it is from an unidentified developer."
On Mac OS X El Capitan / Sierra you getting the "xcrun: error: invalid active developer path" error while installing Node / Bower packages
See the solution at http://stackoverflow.com/questions/32893412/command-line-tools-not-working-os-x-el-capitan-macos-sierra/32894314#32894314.Build process get stucked on the "Installing NPM packages" or "Installing Bower dependencies" step
npm install
and bower install
commands
can be really slow, so please be patient.


[§636C-7] Optional procedures. The right of a judgment creditor to bring an action to enforce a judgment instead of proceeding under this chapter remains unimpaired. [L 1983, c 31, pt of §1]


New Poster Alert! The team has been busy at work! The work has been finished! This neon widebody FRS poster is up for sale! The founder Jonny has this Scion FRS! It is a stunning vehicle. This FRS has a Supercharger, Speed Factory unequal length headers, Rocket Bunny widebody kit straight from Japan, and super light HRE wheels.
We are proud to present this new fresh and clean poster for you! It's a 2007 Honda S2000 AP2. The photoshoot was alot of fun! We did this nice roller shot of the Honda! This S2000 has Red RPF1 wheels, Kraftwerks supercharger, and an EVS exhaust that screams! It's super loud!
Oh wow! This poster came out nice! We took a Viper ACR out to Death Valley, California for a photoshoot! I (Jonny) went 165 mph on the freeway before ariving! We took some fresh photos of the beast! That red stripe is popping!


The Montage package provides a broad array of tools for manipulating astronomical images and in particular supports mapping between projections and coordinate systems, background matching within a set of overlapping images, and mosaicking of large numbers of images into a single view. This functionality applies both to single plane images and datacubes.
One of the Montage tools, mViewer, has broad applicability for visualizing astronomical data. For details on mViewer's capabilities, see here. The low-level mViewer functionality is a stand-alone program suitable for inclusion in scripts or as part of a pipeline. It can also be folded together with Python wrapping code (and a couple of other Montage modules) to support off-line interactive science visualization of astronomical images.
Python can be used to construct end-user applications but is at it's finest as an interactive environment for manipulation and analysis. The astroMontage Python package is structured to be used in such a mode, with the user finding an modifying astronomical images, catalogs and image metadata and then constructing and modifying "views" to be presented and updated through mViewer. In this document we will describe basic mViewer use through Python, then expand to more complex views and finally to interaction and integration with other functionality.
Python session to build a fairly complex mViewer display.
import astroMontage.mViewer as mv viewer = mv.mViewer() viewer.set_red_file("SDSS_r.fits") viewer.set_red_stretch("0.1s", "max", "gaussian-log") viewer.set_green_file("SDSS_g.fits") viewer.set_green_stretch("0.1s", "max", "gaussian-log") viewer.set_blue_file("SDSS_u.fits") viewer.set_blue_stretch("0.1s", "max", "gaussian-log") viewer.set_current_color("8080ff") viewer.add_grid("Equ J2000") viewer.set_current_color("90ff90") viewer.add_img_info("mipssed.tbl") viewer.set_current_color("ff9090") viewer.add_img_info("irspeakup.tbl") viewer.set_current_color("ffff00") viewer.set_current_symbol(1.0, "circle") viewer.add_catalog("fp_psc.tbl", "j_m", 16, "mag") viewer.set_current_color("ffffff") viewer.add_label(202.47083, 47.26614, "Messier 051b") viewer.set_current_color("000080") viewer.set_current_symbol(8.0, "circle") viewer.add_marker(202.49829, 47.26614) viewer.set_current_color("ffffff") viewer.add_label(202.41667, 47.21667, "Messier 051a") viewer.set_current_color("000080") viewer.set_current_symbol(12.0, "circle") viewer.add_marker(202.46963, 47.19517) viewer.init_browser_display()The following pages will explore the process in more detail. |


SBOLExplorer is a visualization of synthetic genetic components using the Synthetic Biology Open Language (SBOL). SBOL defines a data format that represents synthetic genetic parts that researchers can use as DNA building blocks to create genetic constructs or larger synthetic genetic components. SBOLExplorer visualizes this dataset of synthetic genetic parts as well as the inheritance relationships between them.
Here are some brief explanations of the components used in this visualization:
All of the above are glyphs that represent synthetic genetic parts. Each synthetic genetic part has a glyph assigned to it by the SBOL standard.
The nodes in our tree represent genetic parts so each node has its own corresponding glyph.
For example: the full data for the glyph titled "BBa_15610" is found here.
The rectangular bar under each node's glyph is a visualization of the genetic part's DNA sequence, it's colored according to where the children nodes’ DNA sequences exist in the parent node’s DNA sequence.
Any white space indicates areas where the DNA codons in the DNA sequence are not any defined genetic part and when the DNA sequences of children overlap in the parent sequence, the colors overlap.
The edges are correspondingly color coded to show which children comprise which part.
For example: The genetic part BBa_B0015
is comprised of 2 children genetic parts (B0010
and BBa_B0012
), and B0010
is in the first portion of BBa_B0015
's DNA sequence and BBa_B0012
is in the latter portion of BBa_B0015
's DNA sequence.
Each search result has a rectangular bar that shows the result's relevance, or it’s PageRank, scaled comparatively to the other results. This relevance is assigned by the SynBioHub database of genetic parts.
Our process book is in our project repository.
Our data is sourced from SynBioHub. Through SynBioHub, users can view data about a genetic component by visiting its reference page (BBa_I5610 example reference). Notice that SynBioHub does not have a way to view the hierachical nature of a genetic component tree. SBOLExplorer was created to fill this need.
Possible queries for the search panel are: gfp
, rbs
, and device
Some good trees to visualize are: BBa_I5610
, BBa_I13625
, BBa_I13711
, and BBa_I724006
from the rbs
query
BBa_K1151006
, BBa_J09855
, and BBa_K112808
from the device
query
BBa_E0240
and BBa_J04450
from the gfp
query
Try clicking on BBA_I5610 to load its sequence visualization!


2019 Winter Meetings Live Blog: Bids on Cole expected to exceed $300M
by Sportsnet StaffFollow along here for the latest news and rumours from the MLB Winter Meetings, including updates from Shi Davidi and Ben Nicholson-Smith of Sportsnet.ca, who are reporting on the scene at the Manchester Grand Hyatt in San Diego…


#div1 p1
#div1 p1
$("#div1 > p").quickHide().html("hidden");
$("#div1 > p").quickShow();
$("#div1 > p").quickShow().html("shown block");
$("#div1 > p").quickShow("inline-block").html("shown inline");
https://opensource.org/licenses/MIT
SPDX short identifier: MIT
Copyright (c) 2017 Ferenc Czigler
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


I Was Born Installation / HAJIME YOSHIDA ARCHITECTURE + YOSHIHIRO MIKAMI
- Curated by Paula Pintos
- about 1 hour
Installation · Kōbe, Japan
- version="1.0" encoding="UTF-8"? Architects: HAJIME YOSHIDA ARCHITECTURE, YOSHIHIRO MIKAMI
- AreaArea of this architecture projectArea: 6.0 m2
- version="1.0" encoding="UTF-8"?YearCompletion year of this architecture project Year: 2019
- version="1.0" encoding="UTF-8"?ManufacturersBrands with products used in this architecture project Manufacturers: -, AutoDesk, MAXON Computer, Robert McNeel & Associates, SK Kaken
Text description provided by the architects. This is the land art "I was born" in Rokko Meets Art 2019 in Japan. In Japan, there is a culture that respects the ground, and the ground is often compared to a mother. So this is an art piece to change the way you look at the earth, which you can usually step on.
By digging a hole in the ground and giving people a different perspective, we are strongly aware of the existence of the earth, and at the same time, “others” see “I” who is experiencing art as an extraordinary look in the ordinary landscape. It is an art space that connects the relationship between the earth and people.


Iran downs 'foreign' drone, US denies it was theirs
Official says Iranian forces shot down the drone which belonged to a foreign country, state news agency reports.
Iran has confirmed that its forces have shot down a drone and said it belonged to a foreign country, according to state news agency IRNA.
Iran's air defence force hit the "unknown" drone early on Friday morning at the port city of Mahshahr in the country's southwest, IRNA reported.
More:
The report did not state whether the drone was a military or commercially available device.
"The downed drone definitely belonged to a foreign country. Its wreckage has been recovered and is being investigated," the governor of Iran's southern Khuzestan province, Gholamreza Shariati, said, as quoted by IRNA.
Shariati said the drone violated Iran's airspace.
Earlier, semi-official Tasnim news agency reported that the unmanned aircraft was downed over Iranian territory with a domestically manufactured Mersad surface-to-air missile.
Iran's Arabic TV news channel Al-Alam said "residents of Imam Khomeini port city heard the sound of a missile being fired on Friday morning".
Not a US drone
The United States Central Command released a statement later on Friday saying that the downed drone was not one of theirs, and that all military drones were accounted for.
"Alleged reports of a US drone being shot down are incorrect. If a UAS had gone down in the CENTCOM AOR it was not a DoD asset," US Central Command said in a post on Twitter.
In June, Iran shot down an unmanned US surveillance drone, which the elite Islamic Revolutionary Guard Corps (IRGC) said was flying over southern Iran - a move that brought the region to the brink of war.
Washington said the US drone had been shot down by Iran in international airspace over the Strait of Hormuz in the Gulf.
Relations between Iran and the US have worsened since last year when President Donald Trump pulled out of Tehran's 2015 nuclear deal with world powers and reimposed sanctions on the country.


The purpose of this app is to provide a quick way to use Caesar's cipher. Choose whether you want to encrypt or decrypt and the number of places the characters will shift.
Choose a key between 1 and 25


The Script object (and the Encounter object) [varies]
Script objects are a bit of a special case. They're used to refer to other scripts that were loaded by
the engine itself.
In the encounter script, the Wave table is filled
with Script objects when entering the state DEFENDING.
The variable Encounter is also a script object that refers to the current encounter,
and is accessible from anywhere except from the Encounter itself. Do not enter the name of your
encounter file, it will always just be Encounter.
script.GetVar( variable_name) Gets variable_name from the script.
script[ variable_name] Same as the above.
script.SetVar( variable_name, value) Sets variable_name in the script.
script[ variable_name] = value Same as the above.
script.Call( function_name) Runs function_name from within the target script.
script.Call( function_name, argument) Runs function_name from within the target script with one argument.
script.Call( function_name,
any types arguments)
Runs function_name from within the target script with all
arguments in arguments as the arguments.
So, for example, you can call an encounter function TakeTwoArguments with two
arguments by using:
Encounter.Call("TakeTwoArguments", {"argument 1!", "argument 2!"})
-- here is a simple way to change the encounter's "wavetimer" from another script, for instance, -- a monster script if a player ACTs right, or just from a Wave that needs to last a certain time Encounter.SetVar("wavetimer", 10) -- alternatively: Encounter["wavetimer"] = 10
-- let's say we're in a WAVE file, and we want to turn a Sprite in the ENCOUNTER file to dust -- we can do it in at least two different ways: local spriteToDust = Encounter.GetVar("torso") spriteToDust.Dust(true, true) -- see Sprites & Animation. -- alternatively: Encounter["torso"].Dust(true, true)


<EMAIL_ADDRESS>♦ (11) 99907-4867 ♦ https://heitorchang.github.io/
Professional Experience
Tempo OK Tecnologia em Meteorologia Ltd., São Paulo, SP
Senior Full-Stack Developer
June 2020 — now
- Built and administered the public-facing website in Django 3 with client and API authentication management, including a JWT extension.
- Architected a PostgreSQL database in Google Cloud Platform for storing meteorological observation and time series forecasts at client-supplied locations and at government-operated stations.
- Deployed APIs with Flask on Google Cloud Platform's Cloud Functions and Cloud Run services, leveraging Docker containers and Bitbucket's automated Continuous Deployment pipeline.
- Created a geospatial dashboard containing satellite imagery overlays computed from NASA's scientific data and weather stations' historical data, obtained by querying their public APIs.
- Created a hydroelectric energy forecasting dashboard containing Google Maps and Apache ECharts widgets in Vue.js and the Vuetify Material Design front-end framework.
- Developed a Markdown-based application for documentation and created a Stack Overflow for Teams account to streamline the organization of internal processes and information.
Pontual Export & Import Ltd., São Paulo, SP
Full-Stack Developer
Jan. 2014 — June 2020
- Used MA (Moving Average) indicators in a Django and Python project to predict the demand of 600 products and calculated appropriate amounts for restocking.
- Created a REST API with the Slim micro framework in PHP to be consumed by a React app that rendered the company's website.
- Visualized historical sales with NumPy and Pandas, reporting totals, averages, and outliers for each product.
- Created a Single-Page App with AngularJS and Firebase to organize product reservations by clients and their assigned salesperson in real time.
Sales Analyst
Nov. 2011 — Jan. 2014
- Fulfilled client orders and reservations and formalized them upon delivery.
- Prepared sales forecasts in Excel for the best-selling products and summarized business-critical statistics.
Merrill Lynch & Co., Inc., New York, NY
Summer Associate, Global Research
June 2008 — Aug. 2008
- Modeled the prepayment speeds of mortgage revenue bonds and calculated their prices and risk profiles.
- Backtested the performance of a cash-collaterized portfolio of futures as a potential new product.
- Compared the returns and volatility of crude oil futures relative to large-cap refinery equities.
Education
New York University, New York, NY
M.S. in Mathematics in Finance, GPA 3.4/4.0
Sept. 2007 — Jan. 2009
Stanford University, Stanford, CA
M.S. in Materials Science and Engineering, GPA 3.6/4.0
Sept. 2005 — June 2007
B.S. in Mathematical and Computational Sciences, GPA 3.7/4.0
Sept. 2001 — June 2005
Languages
-
Fluent in English and Portuguese. Basic knowledge of Mandarin, Italian, French, Spanish, and Modern Greek.
-
Advanced knowledge of Python 3, JavaScript (ES6), and HTML 5.
-
Intermediate knowledge of CSS 3 and PostgreSQL 12.
-
Basic knowledge of Emacs Lisp.


The Compuware Topaz API provides users with methods to programmatically access and perform operations on datasets and perform JES
operations, as well as launch and communicate with their own z/OS programs.
IZOSHost
IZOSHost
is the starting point for all z/OS related functions.
When writing Java Applications or plug-ins not running in a Topaz Workbench installation, instances of
IZOSHost
can be created using the HostFactory
class.
When writing plug-ins running in a Topaz Workbench installation, instances of IZOSHost
for hosts defined in the
Topaz Workbench client can be retrieved using the HostManager
class from the com.compuware.api.topaz.eclipse
plug-in.
Dataset API
The Compuware Topaz API provides users with methods to programmatically access and perform actions on datasets and generation data groups. The following dataset types are supported:- Sequential
- Partitioned
- VSAM
- Allocate a partitioned or sequential dataset
- Delete a partitioned, sequential, migrated or VSAM dataset
- Create or delete a PDS member
- Obtain dataset and PDS member objects by name/pattern and type
- Read the content of a sequential dataset or a PDS member
- Write content to a sequential dataset or a PDS member
- Obtain the characteristics of a dataset or the statistics of a PDS member
- Recall a migrated dataset
- Define a generation data group
- Obtain generation dataset objects from generation data groups
- Copy a PDS member
IZOSHostConnection
, IDataSet
and
IDataSetCommandProvider
for more information.
JES API
The Compuware Topaz API provides users with methods to programmatically perform JES actions. The following actions are provided regarding JES:- Submit JCL
- Track a job's status
- Obtain job objects by job name and/or owner filters
- Obtain execution and queue data of jobs
- Obtain sysout data definition (DD) objects of jobs
- Read the JES output of a job
- Read the contents of a DD of a job
- Read the contents of the currently active system log
- Read the contents of any available system log
- Cancel a job
IZOSHostConnection
,
IJESCommandProvider
and
JobOutputReader
for more information.
z/OS User Program API
The Compuware Topaz API provides users with methods to programmatically launch and communicate with their own z/OS programs. The following actions are provided regarding z/OS user programs:- Launch a z/OS user program
- Write/read user-defined data to/from the z/OS user program
- Be notified of when the z/OS user program has ended
IZOSUserProgramConnection
for more information.
TSO Command API
The Compuware Topaz API provides users with methods to programmatically submit TSO commands The following actions are provided regarding TSO commands- Execute a TSO command
ITSOCommandProvider
for more information.| Package | Description |
|---|---|
| com.compuware.api.topaz |
Provides exceptions that are applicable to all of the Topaz API.
|
| com.compuware.api.topaz.hostconnections |
Provides interfaces and exceptions related to host connections.
|
| com.compuware.api.topaz.hostconnections.zos |
Provides interfaces related to z/OS host connections.
|
| com.compuware.api.topaz.hostcredentials |
Provides interfaces and exceptions related to host credentials.
|
| com.compuware.api.topaz.hostcredentials.zos |
Provides classes and exceptions related to z/OS host credentials.
|
| com.compuware.api.topaz.hostresources |
Provides classes and exceptions related to host resources.
|
| com.compuware.api.topaz.hostresources.zos |
Provides classes and exceptions related to z/OS host resources.
|
| com.compuware.api.topaz.hosts |
Provides classes related to hosts.
|
| com.compuware.api.topaz.hosts.zos |
Provides classes and exceptions related to z/OS hosts.
|
| com.compuware.api.topaz.jes |
Provides classes and exceptions related to JES.
|
| com.compuware.api.topaz.tso |
Provides interfaces related to TSO
|


Click each cell to turn it on / off. The code sample below will update automatically. Just copy/paste it into your IDE.
Settings


Latest News
-
Nostrud exercitation ullamco
6 APR 2014 -
Nostrud exercitation ullamco
6 APR 2014 -
Nostrud exercitation ullamco
6 APR 2014
Upcoming Events
-
Nostrud exercitation ullamco
6 APR 2014 Yankee Stadium -
Nostrud exercitation ullamco
6 APR 2014 Yankee Stadium -
Nostrud exercitation ullamco
6 APR 2014 Yankee Stadium
Courses
-
Nostrud exercitation ullamco
6 APR 2014 1:00pm-2:00pm $55.00 -
Nostrud exercitation ullamco
6 APR 2014 1:00pm-2:00pm $55.00 -
Nostrud exercitation ullamco
6 APR 2014 1:00pm-2:00pm $55.00


A graphical configuration utility, nvidia-settings, is included with the NVIDIA Linux graphics driver. After installing the driver and starting X, you can run this configuration utility by running:
% nvidia-settings
in a terminal window. nvidia-settings requires version 2.4 or later of the GTK+ 2 library.
Some architectures of Linux support the GTK+ 3 library and would require version 3.0 or later if available.
Detailed information about the configuration options available are documented in the help window in the utility.
For more information, see the nvidia-settings man page.
The source code to nvidia-settings is released as GPL and is available here: https://download.nvidia.com/XFree86/nvidia-settings/


org.apache.cocoon.components.pipeline
Interface CacheableEventPipeline
- All Known Implementing Classes:
- CachingEventPipeline
- public interface CacheableEventPipeline
This marker interface declares an EventPipeline
as cacheable.
- Version:
- CVS $Revision: 1.1 $ $Date: 2002/01/03 12:31:12 $
- Author:
- Carsten Ziegeler
generateKey
public PipelineCacheKey generateKey(Environment environment)
throws java.lang.Exception
- Generate the unique key.
This key is the
PipelineCacheKey
for the whole
EventPipeline.
- Parameters:
environment
- The current environment of the request.- Returns:
- The generated key or
null
if the pipeline
is currently not cacheable as a whole.
generateValidity
public java.util.Map generateValidity(Environment environment)
throws java.lang.Exception
- Generate the validity object.
Before this method can be invoked the generateKey() method
must be invoked.
- Parameters:
environment
- The current environment of the request.- Returns:
- The generated validity objects for the whole pipeline
or
null
if the pipeline is currently
not cacheable.
setStreamPipelineCaches
public void setStreamPipelineCaches(boolean flag)
- The stream pipeline (or the content aggregator) calls this
method to tell the event pipeline if it must not cache the result
Copyright © 1999-2002 Apache Software Foundation. All Rights Reserved.


Spike-timing-based computation in sound localization
Goodman DFM, Brette R
PLoS Computational Biology
(2010) 6(11): e1000993
Abstract
Spike timing is precise in the auditory system and it has been argued
that it conveys information about auditory stimuli, in particular about
the location of a sound source. However, beyond simple time differences,
the way in which neurons might extract this information is unclear and
the potential computational advantages are unknown. The computational
difficulty of this task for an animal is to locate the source of an
unexpected sound from two monaural signals that are highly dependent on
the unknown source signal. In neuron models consisting of
spectro-temporal filtering and spiking nonlinearity, we found that the
binaural structure induced by spatialized sounds is mapped to synchrony
patterns that depend on source location rather than on source signal.
Location-specific synchrony patterns would then result in the activation
of location-specific assemblies of postsynaptic neurons. We designed a
spiking neuron model which exploited this principle to locate a variety
of sound sources in a virtual acoustic environment using measured human
head-related transfer functions. The model was able to accurately
estimate the location of previously unknown sounds in both azimuth and
elevation (including front/back discrimination) in a known acoustic
environment. We found that multiple representations of different
acoustic environments could coexist as sets of overlapping neural
assemblies which could be associated with spatial locations by Hebbian
learning. The model demonstrates the computational relevance of relative
spike timing to extract spatial information about sources independently
of the source signal.
Links
Related software
A Python simulator for spiking neural networks.
Categories


2 Corinthians 11:22
Are they Hebrews? so am I. Are they Israelites? so am I. Are they the seed of Abraham? so am I.


Summary
This is the official 1.1 Release of Spree. This is a minor release, and so backwards compatibility with extensions and applications is mostly guaranteed. There may still be some changes required for your extensions or applications, and so please read the changelog below to know if you are affected.
If any particular extension your store uses is not yet compatible you are encouraged to alert the Spree team about it by filing an issue on that extension project if it’s an official extension, or to submit a patch to that project to upgrade compatibility.
Major changes (backwards incompatibility)
Support for Rails 3.2.x only
Support for Rails 3.1.x is dropped. Rails 3.2.x offers performance boost in development mode and is the first-class supported platform for 1.1.x release cycles. It is recommended that you use the latest version 3.2.3. Please upgrade your Rails before bumping Spree gem by modifying your Gemfile:
gem 'rails', '3.2.3' group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' gem 'uglifier', '>= 1.0.3' gem 'jquery-rails' end
ransack replaced meta_search
ransack
replaced meta_search
as the primary object-based
searching mechanism.
Be warned that ransack
is not fully backward-compatible with
meta_search
query.
Make sure you port and test all meta_search
queries to ransack
after upgrade.
spree_product_groups now as standalone extension
Product Groups component has been extracted to a standalone spree extension. It is recommended that if you are using this functionality to add the new extension to your Gemfile:
gem ‘spree_product_groups’, git: ‘git@github.com:spree/spree_product_groups.git’
Old Theme Hook
theme_support
files are now deprecated in favor of Deface. Make sure
you port
all your old style hooks to Deface.
Major rewrite of Creditcard model
Prior to 1.1, the Creditcard
model contained a lot of payment
processing code. This has since been
moved
into the Payment
model. If you have customized the
Spree::Admin::PaymentsController
or depend on any of the payment
processing methods inside the CreditCard
model such as authorize
,
credit
, or void
, this change may affect you.
API rewrite
The API component of Spree has undergone a major rewrite in order to provide better support for applications wishing to interact with it using tools such as Backbone, or for people wishing to just generally access the individual components of Spree.
This is currently a work-in-progress and we would appreciate feedback on the API on the mailing list.
As a part of this, the spree/spree_api
assets are no longer
available, and so these should be removed from the store/all.css
,
store/all.js
, store/admin/all.css
and store/admin/all.js
assets
located in your application.
Minor changes
Introduce Spree::Product#master_images and Spree::Product#variant_images
Spree::Product#master_images
and its alias Spree::Product#images
only returns images belongs to master variant.
Spree::Product#variant_images
behaviour is changed, it is no longer
return only images belongs to master variants but now also include all
variants’ images.
Stronger mass assignment protection
As per the Rails 3.2.3 release notes , there is a stronger enforcement of attribute protection within Rails. This may affect your Spree application, and if it does we would advise filing an issue so that it can be promptly fixed. While the tests for Spree itself are extensive, there may still be edge cases where your application goes that we do not have covered.
Removed images association of Spree::Product
Spree::Product
association with viewable
has been moved master
variant of
the product. The change is backward compatible and require no upgrade
modification.
 If you want
just the master
variant’s images, use product.master.images
.
The version of Paperclip required by Spree 1.1 is now any version of the 2.7.x branch of Paperclip.
Clearer separation of Spree components
It was brought to our attention that the Core component of Spree depended upon things from other components, primarily Auth. The purpose of the Core component is that it should be usable in complete isolation from all other components of Spree. This feature was regressed during the 1..0 branch, but has now been fixed in the 1.1 branch.
From 1.1 onwards, you will once again be able to use the Core component of Spree in isolation from the other components if you choose so.
Allow for easier Spree controller spec testing
We have added a Spree::Core::TestingSupport::ControllerRequests
module
to aid in the testing of Spree controllers within not only the Spree
components, but also within your application. The documentation at the
top of this
module
should adequately describe how this works.
Deprecated functions
Spree::Zone
Spree::Zone#in_zone?
is retired, please use Spree::Zone#include?
instead.
Spree::PaymentMethod
Spree::PaymentMethod.current
is retired, please use
current_order.payment_method
instead.
Additionally, current_gateway
is also removed.
Spree::ProductsHelper
product_price
is retired, please use number_to_currency
instead.
Spree::HookHelper
hook
is retired, please use Deface instead.
Spree::Variant
Spree::Variant.additional_fields
has been deprecated in favour of
using decorators and Deface. Please see
#1406 for more
information.
Patches
Version bumps
- Paperclip version has been bumped to 2.7.0. #1148 + #1152
- Stringex version has been bumped to 1.3.2 to prevent 1.3.1 from being used, as that release contained a bug.
- nested_set version has been bumped to 1.7.0. 9b7eda3
- jquery-rails version has been bumped to \~> 2.0.0. d4b3d7
- deface version has been bumped to 0.8.0. e571ed
- highline version has been bumped to 1.6.11. 45f5e2
Other fixes
- Added
admin/orders/address_states.js
to precompile list. #754 - Added initializer to warn about orphaned preferences. commit 4f2669
- Address.default will no longer provide a nil value if the default country is deleted. #1142 + #997
- Fix undefined_method to_d for PriceSack Shipping. #1156
- Fixed rounding calculation bug for VAT. #1128 + #1172
- Allow
:error
key to be passed tolink_to_delete
.#1169 - Fix issue where assigning a price such as”$5” to a variant caused it to set the price to 0. #1173
- Product names longer than 50 characters are now truncated. #1171
- Fix issue where preferences set to
false
were not being saved. #1177 - Fix incorrect variable name in
script/rails
file inside extension generator. #1135 - Acknowledge Spree’s own locale settings before
Rails.application.config.i18n.default_locale
for Spree’s locale details. #1184 - Fix issue where preferences set to an empty string were not being saved. #1187
- Set
default_url_options
inmail_settings.rb
so that it doesn’t need to be set manually for each environment or mailer. #1188 - Correctly fire events for content paths and actions. #1141
- Allow preferences with a type of
:text
. - Image settings (such as width & height) are now configurable via the Admin interface. 7d987fe
- Fix bug where
Payment#build_source
would fail dependent on the ordering of the hash passed in. #981 - Fix issue where states javascript include would be prefixed with asset host when alternate asset host was configured. #1213
- Fix issue where
Promotion#products
would return no products due to incorrect class specification. #1237 - Order email addresses are now validated with the Mail gem. #1238
- Attempt to access
/admin/products/{id}
will now redirect to/admin/products/{id}
. #1239 - Show ‘N/A’ for tax category on
/admin/tax_rates
if a tax rate doesn’t have a tax category. #535 - Fix issue where incorrect order assignment was breaking return authorization creation. #1107 #1109 #1149
- Fix issue where under certain circumstances users were able to view other people’s order information. #1243
- Fix issue where searching for orders by SKU was broken in admin backend. #1259
- Logout when “Remember me” was checked for login now will actually log a user out. #1257
Spree::UrlHelpers
has moved toSpree::Core::UrlHelpers
3bf5df- Preview buttons on the admin dashboard are now hidden once the dashboard has been configured. #1271
- Slightly alter permalink code so that it does not conflict on similar names. Current permalinks will not be affected. #1254
- Don’t allow payments to be created in admin backend unless payment methods have been defined. #1269
Address#full_name
will now return a string with no extra spaces around it. #1298- Ensure
StatesController
always returns JS response. #1304 - Fix issue where checkbox for “Use Billing Address” was not being checked for an order in admin backend when it was in the frontend. #1290
- Fix issue where a shipping method could not be updated. #1331
- Allow layout to be customized based on a configuration setting. #1355
Rails.application.config.assets.debug
is no longer hardcoded tofalse
in Spree. Set this variable at your discretion inside yourconfig/application.rb
from now on. #1356- Added
gem_available?
method toBaseHelper
to be able to check if an extension is available. #1241 - Fixed potential bug where
Activator.active
scope may have not been returning activators that were currently active. #1343 - Fix incorrect route issue when updating a return authorization. #1343
- Fixed issue where “Add to Cart” button may not work on IE7. #1397
- Fixed issue where non-price characters were being stripped from prices. #1392 #1400
- Limit ProductsController#show to only show active products. #1390
- Spree::Calculator::PerItem will now calculate per-item, rather than per-line-item. This means that if you have a per-item calculator costing $1 and 3 line items with quantity of 5 that would be $15, rather than $3. #1414


Takes an array like:
[[fromX, fromY], ...[toX, toY]]
and return IMove[]
Takes an array like:
[
[[fromX, fromY], ...[toX, toY]],
[[fromX, fromY], ...[toX, toY]]
]
and return IMove[].
Used to create smaller test data.
Get board after move, return a new board with:
Get IMove from an array like [[fromX,fromY], [toX, toY]]
const move = [[5, 7], [5, 6]];
Get IMove[] from an array like [[fromX,fromY], [toX, toY]]
const moves = [ [[5, 7], [5, 6]], [[2, 0], [2, 1]], [[7, 7], [5, 5]] ];
Generated using TypeDoc
Can not move


Microsoft Whiteboard app for Windows 10 can now add Lists and Note Grids
by RakaMicrosoft has added a couple of new features to the Whiteboard app for Windows 10 in a recent update. Aside from Word, PowerPoint documents, PDFs, images, and templates, you’ll now be able to add lists, note grids. The latest update also added a few new templates to the Whiteboard app. Further, the update takes the app to Version 19.11021.4425.0.
To get these handy new features, you’ll need to make sure to install the latest update of the Whiteboard app. You can hit Microsoft Store and then Check for update, an update for the Whiteboard app then should appear on your PC screen, now all you need to do is install the update. The update is available for everyone.
Changelog
More new features to help you structure your ideas!
• Lists: Add text lists directly to the canvas.
• Note Grids: Organize your notes with a note grid.
• New Templates: Understand your customers better by using the new empathy map and persona builder templates.
• Lots of bug fixes!
If you’re not a fan of Windows 10 store apps, you can also check out the Microsoft Whiteboard web app and it’s available across devices, no install required.
|
|
Download | Microsoft Whiteboard Developer: Microsoft Corporation Price: Free |
|
via ALumia


Converts data from incoming packets with explicit types to custom classes.
If the vclass is not found, the object is unmodified. Sets the explicit type marker in the data of the outgoing packets. If the explicit type marker is already set in an outgoing object, the value is left as is. This works for nested objects. This is to support services and plugins setting the explicit type themselves.
Located in /Amfphp/Plugins/AmfphpCustomClassConverter/AmfphpCustomClassConverter.php (line 23)
constructor.
if the object contains an explicit type marker, this method attempts to convert it to its typed counterpart if the typed class is already available, then simply creates a new instance of it. If not, attempts to load the file from the available service folders.
If then the class is still not available, the object is not converted note: This is not a recursive function. Rather the recusrion is handled by Amfphp_Core_Amf_Util::applyFunctionToContainedObjects. must be public so that Amfphp_Core_Amf_Util::applyFunctionToContainedObjects can call it
converts untyped objects to their typed counterparts. Loads the class if necessary
looks at the outgoing packet and sets the explicit type field so that the serializer sends it properly
sets the the explicit type marker on the object and its sub-objects. This is only done if it not already set, as in some cases the service class might want to do this manually.
note: This is not a recursive function. Rather the recusrion is handled by Amfphp_Core_Amf_Util::applyFunctionToContainedObjects. must be public so that Amfphp_Core_Amf_Util::applyFunctionToContainedObjects can call it
Documentation generated on Thu, 23 Jun 2011 13:03:03 +0200 by phpDocumentor 1.4.3


Open Data Network is temporarily unavailable for scheduled maintenance.
We'll be back soon. For updates and information, please visit
status.socrata.com


Exploit controlled vocabularies organized on tematres servers.
| Version: | 0.2 |
| Imports: | XML, RCurl, plyr, gdata |
| Suggests: | ggplot2 |
| Published: | 2013-08-23 |
| Author: | Claas-Thido Pfaff |
| Maintainer: | Claas-Thido Pfaff <claas-thido.pfaff at idiv-biodiversity.de> |
| License: | GPL-3 |
| URL: | https://github.com/cpfaff/rtematres |
| NeedsCompilation: | no |
| Materials: | NEWS |
| CRAN checks: | rtematres results |
| Reference manual: | rtematres.pdf |
| Package source: | rtematres_0.2.tar.gz |
| Windows binaries: | r-devel: rtematres_0.2.zip, r-release: rtematres_0.2.zip, r-oldrel: rtematres_0.2.zip |
| OS X binaries: | r-release: rtematres_0.2.tgz, r-oldrel: rtematres_0.2.tgz |
| Old sources: | rtematres archive |
| Reverse imports: | rbefdata |
Please use the canonical form https://CRAN.R-project.org/package=rtematres to link to this page.


The new OsmAnd release has a list of new features that are waiting to be tried out. You can now use shading on the map to see the relief, plan trips and search for points of interest in a handy way. Let's get to details.
One of the significant steps forward is the ability to view POI on the map. From now on, you'll be able to view any points of interest as you enter the Search. From healthcare to parking to tourist attractions - search for the point you need through all the categories or choose one type of POI to see what's around your location.
The OsmAnd iOS version now has the hillshade maps. Those are map layers visualizing the details of the terrain. The hillshade maps are available by country. To use the hillshade, don't forget to go to the map settings, turn on the hillshade and choose it as either under- or overlay.
You can now just enter the My trips menu, choose Create new trip and then add waypoints by making long taps. At this moment, you can also add details to the waypoint, such as its name, color indicating this waypoint, its group (you can create a group of waypoints: work locations, favorite spots on town, etc.) and a description. Then hit Save.
You can choose to sort your waypoints using the route management menu. Just tap the blue toolbar, then swipe the waypoint you'd like to move higher on the list and tap the arrow icon. Activate or deativate waypoints to customize your route in this menu. Also, now you can add an endless number of waypoints.
As you add waypoints, you'll see them in a toolbar on the top of the screen. Now you can view waypoints or delete them by tapping on the upper toolbar and swiping to the left. Tap the arrow to unfold the full list and choose the point you need to get to in order to see the distance to it and view the location on map. Please note that the points are connected by straight lines and are meant to help you create a general understanding of the directions for your trip. Hit the arrow button to start following the directions. To mark it as visited, select the checkbox sign. Same checkboxes will be available as soon as you approach the waypoints.
As you search for the points of interests, your previous destinations will be added to make searching even easier. The same applies to the favorites.
The new version also has lots of small improvements to make the user experience better. Go ahead and try out OsmAnd 1.2.2. Install!


i recently started at dev bootcamp in san francisco. this site will be a working progress from week 2 of phase 0 to completing coding school. you can get to know me through here.
i am from san diego. i graduated from ucsd with a management science degree, which basically revolved around solving econ problems with calculus and excel. it was fun but then i realized i was not a math person. then i moved to sao paulo, brazil for a year and half and taught english. it was really fun but then i realized i was not an english-teaching person either. so i relocated to san francisco where i realized i was into the creative and pragmatic structure of coding. so i applied to dev bootcamp and here i am, typing up my bio for my github.io. i also like to pet puppies, eat pho, and code challenges around these two subjects.
embroidery projects: a hobby of mine
web dev projects: projects done during dev bootcamp
birthday projects: personalized gifts to my group of friends


30-day, hassle-free money back guarantee
Gain access to our full library of tutorials along with expert code reviews. Perfect for any developers who are serious about honing their skills.
$29 per month
Full access for less than $1 a day
Why Us
Tutorials by industry experts Peer & expert code review Coding exercises Access to our GitHub repos Community forum Flashcard decks New videos every week


WEEKS
CITIES
SUMMER
Dear Future Space Cadets,
We embrace change. It is ingrained in our culture. So before we create, we challenge. We start by working with our clients to get a deep understanding of their business. Then, we ask hard questions. The result is always different, but ends with a clear path for how and what we will create.
The success of our work does not stop with its creation. Once it is in the world, we take measures to ensure it works as intended and lives on. Join us on our mission to the moon.
Middlebury College ‘10 -- B.A. in Philosophy & Political Science. Politics and Consulting in DC. Freelance Photography in NYC. Full-Stack development as a 2014 Fellow at Code For Progress.
3M - Scotchbrite and Nexcare, Schwans, Jack Link’s, Twin6, Jostens, Pearson's
Supportive, multi-faceted, and non-pretentious engineering team. Ability to pursue projects of interest and utilize skills outside of the scope of your position.
Strategic Communications & French Majors from the University of Wisconsin-Madison (Go Badgers!)
Buffalo Wild Wings, Jostens, Jack Links and Sun Country Airlines
My favorite thing about space150 is definitely the people. I also love the actual space we work in, the endless supply of La Croix water, the basketball hoop I can’t make a basket in and the support and help from my team.
Concordia College, Moorhead ‘15 - I like listening to Records, Social Media, Drinking coffee, playing golf, traveling.
3M (Scotch-Brite, Nexcare, ACE Brand & Ocelo) 3M Newsroom, Jack Links, Matador, Squatch Sticks, & Cambria
In my time at space I’ve enjoyed the talented/smart people I’ve been able to work with. Everyone has something to contribute at space, and that speaks with the quality of work produced here
Portfolio Builder Program Certificate at Brainco. Lover of movies, comics, art, literature, and Krav Maga
Nexcare, Jack Links, and Bon Appetit
The people. People here are friendly, hard working, and willing to mentor you to help you grow. They appreicate you for working hard and will give you opportunities to succeed.
B.F.A in Graphic Design @ University of Wisconsin Stout
Tony’s, Freschetta, Edwards Desserts, Mrs. Smith’s, Jack Link’s, and Nike
My personal favorite thing about space is the atmosphere. People are so willing to help and the vibe is always fun, working in a place that feels like you’re hanging with a bunch of friends and family is rare and space150 has it down pat!
B.S. in Psychology & Design with a minor in Management from the University of Minnesota Twin Cities
Xcel Energy, Buffalo Wild Wings, and Jack Links
Besides the incredibly kind and positive environment (with a dash of crude humor), I appreciated my co-worker’s immediate willingness to trust my abilities and throw me into the deep end with real work. My managers actually worked with me to define my goals and strategize how to fulfill them, and the people I worked with treated me as an equal - not a lowly intern.
University of Wisconsin - Eau Claire, Class of 2016 Kinesiology and Organizational Communication Major, Human Health Science Minor
Tony’s, Freschetta, Edwards Desserts, Mrs. Smith’s and Twin Six
space is a go-getter company. Everyone around you is crazy smart, wickedly talented, and has the tenacity to keep learning and growing. They’re never content with where they’re at. This, in turn, instills a deep love for curiosity, a tireless drive for expanding skillsets, and an inspiring appreciation for the diversity of the surrounding talent.
Lawrence University Class of 2016 Art History and English Double Major
Nexcare, Scotchbrite, ACE, Futuro, Vidku, Red Baron, Tony’s, Mrs. Smith’s, Edwards, Freschetta, Pearson’s, Jack Link’s
The people. The culture at space is incredible, with everyone pushing each other to be their best. Yet, everyone is great at letting their hair down and enjoying themselves. space has found that perfect balance of being incredibly fun, incredibly challenging and ultimately incredibly rewarding.
Evergreen State College ‘05, Tokyo streets, boogie music, animation
3M, BWW, Matador
The people
Busey ipsum dolor sit amet, consectetur adipiscing elit. You ever roasted doughnuts? Listen to the silence. And when the silence is deafening, you're in the center of your own universe.
Thats an advanced modern oxymoron. It was good, I like it and I beleived it. Man you got a way with using words. Thats like a lariat that does a snake whip on your back legs, I mean on the back of your legs - not that you have 4 legs - and pulls you this way, and thats what that line did to me and I believed every minute of it. Until I looked at the quadrangle that it produced with the verbs used in the sentence.


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
SEARCH:
JavaScript is disabled on your browser.
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
N
Name
- Class in
seedu.address.model.person
Represents a Person's name in the address book.
Name(String)
- Constructor for class seedu.address.model.person.
Name
Constructs a
Name
.
NAME_DESC_AMY
- Static variable in class seedu.address.logic.commands.
CommandTestUtil
NAME_DESC_BOB
- Static variable in class seedu.address.logic.commands.
CommandTestUtil
NAME_VALIDATION_REGEX
- Static variable in class seedu.address.model.person.
Name
NameContainsKeywordsPredicate
- Class in
seedu.address.model.person
Tests that a
Person
's
Name
matches any of the keywords given.
NameContainsKeywordsPredicate(List<String>)
- Constructor for class seedu.address.model.person.
NameContainsKeywordsPredicate
NameContainsKeywordsPredicateTest
- Class in
seedu.address.model.person
NameContainsKeywordsPredicateTest()
- Constructor for class seedu.address.model.person.
NameContainsKeywordsPredicateTest
NameTest
- Class in
seedu.address.model.person
NameTest()
- Constructor for class seedu.address.model.person.
NameTest
navigateToCard(int)
- Method in class guitests.guihandles.
PersonListPanelHandle
Navigates the listview to
index
.
navigateToCard(Person)
- Method in class guitests.guihandles.
PersonListPanelHandle
Navigates the listview to display
person
.
NewResultAvailableEvent
- Class in
seedu.address.commons.events.ui
Indicates that a new result is available.
NewResultAvailableEvent(String)
- Constructor for class seedu.address.commons.events.ui.
NewResultAvailableEvent
next()
- Method in class seedu.address.logic.
ListElementPointer
Returns the next element in the list and advances the cursor position.
NodeHandle
<
T
extends javafx.scene.Node> - Class in
guitests.guihandles
Provides access to a node in a JavaFx application for GUI testing purposes.
NodeHandle(T)
- Constructor for class guitests.guihandles.
NodeHandle
NodeNotFoundException
- Exception in
guitests.guihandles.exceptions
Signals that the node cannot be found.
NodeNotFoundException()
- Constructor for exception guitests.guihandles.exceptions.
NodeNotFoundException
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
JavaScript is disabled on your browser.


On this sample the content of the panels is loaded when a panel is opened
Load widget on Panel2
Load new content for Panel3
Load new Panel
Load new Panel with widget


Brooks, an expert in the analysis of RNA sequencing data, is studying the role of RNA splicing aberrations in cancer.
Brooks, an expert in the analysis of RNA sequencing data, is studying the role of RNA splicing aberrations in cancer.
Brooks, an expert in the analysis of RNA sequencing data, is studying the role of RNA splicing aberrations in cancer.
Brooks, an expert in the analysis of RNA sequencing data, is studying the role of RNA splicing aberrations in cancer.
Brooks, an expert in the analysis of RNA sequencing data, is studying the role of RNA splicing aberrations in cancer.