I am a computer programmer who believes that good theory leads to good implementation. This blog will hopefully cover a variety of topics ranging from research areas that interest me, to implementation techniques that I find noteworthy, and probably more.


Using template rules in XSLT 2.0, data entry into the HTML form below is marshalled into an OASIS UBL invoice. Fill in the fields, add and delete invoice lines, and at any time press the "Reveal" button to generate the XML syntax for the invoice.
For more information please see the stylesheet documentation at readme-Crane-ublform.html. Note that the documentation is created using Crane's XSLStyle™ annotation methodology for XSLT stylesheets.
| Loading... |


{% extends 'layout.html' %} {% block pageTitle %} NHS Medical Examiner Prototype {% endblock %} {% block beforeContent %} {% endblock %} {% block content %}
We have sent password reset instructions by email to:
xxx@nhs.uk


Submit owners for ${stripeAccount.id}
When you have finished adding all other owners, if any, submit them for review.
|
${person.id}
|
${person.first_name} ${person.last_name} |
Add information
|
- |
Error! There are owners still requiring information.
Success! The company's owners has been submitted
Error! An error occurred submitting the owners


BMED360 - In vivo imaging and physiological modelling
Aim and Content
Obtain theoretical and practical knowledge on functional and
quantitative in vivo imaging in man and animal using magnetic
resonance imaging (MRI) and computer-based image analysis. The focus
is on brain imaging (perfusion, diffusion, permeability mapping) and
structural and functional connectivity, but also examples from
functional kidney imaging and (image-based) systems biology will be
presented. A major objective is also to give insight about the
importance of mathematical models and computations in analysis and
understanding of complex physiological processes, and the need of
cross-disciplinary collaborations.
Learning Outcomes
Students will be able to explain the physical principles of MRI and
functional MRI imaging for exploration / estimation of the
physiological and morphological parameters (e.g. k-space and pulse
sequences, tensor estimation and eigen-decomposition, deconvolution,
compartment modeling, statistical modeling, and geometric modeling).
Students will also achieve practical knowledge of software and
algorithms for quantitative analysis of image-based information in
space and time, and be able to install and modify these programs for
use in analysis and visualization of their own data. This knowledge is
particularly linked to MATLAB and Python.
After completion of the course the student should be able to:
Present knowledge about
Basic principles of MRI.
Methdos for image analysis.
Software tools for image processing.
Skills and general competence
Perform simple scripting and programming.
Install and adapt image processing tools.
Communicate and translate imaging problems between (i) a biological or
medical formulation and (ii) a computational & algorithmic
formulation.
Prerequisites
Physics, computer science, mathematics or statistics, on bachelor
level. Students with bachelor's degree in biology/life sciences, and
strong interest and some previous experience in biomedical image
analysis and programming could also be qualified.
Recommended previous knowledge
General human physiology dealing with diffusion, perfusion and
microcirculation. Basic knowledge of brain anatomy and
neurophysiology, and molecular and cell biology. Background in
mathematics (e.g. calculus & linear algebra) and some experience with
using computers in biomedical applications (e.g. statistical packages,
signal processing, etc.). Access to a computer with MATLAB and Image
Processing Toolbox installed, in addition to Python/Sage.
{% endblock %}
{% block main_content %}
{% endblock %}


Here is a link to the slides (Google slides)
Presented at FoxCon Toledo Software Developers Conference, Toledo, OH, on 1/27/2018.
Abstract:
Electronic torque tools used in automobile production produce a large amount of data as workers and robots physically assemble a vehicle. This data includes alarms and errors for various potential defects such as rehit bolts, cross-threaded bolts, incorrectly removed bolts, failure to achieve torque within engineering specifications, etc. In his presentation David will reveal how an analysis of this data can yield new insights into the causes of operator errors and solutions in new quality auditing systems, both on and off the production line.


For the fig swirl, melt butter over medium heat in a saucepan. Add brown sugar and stir to dissolve. Halve all of the figs and toss into a saucepan with water and lemon juice. Cook over medium heat, stirring frequently, until you have a chunky-jammy mixture. Add salt with one or two stirs, set aside, and let cool completely.
Ice Cream: In a small pot over medium heat, combine milk and granulated sugar until sugar is completely dissolved and the milk is just barely lukewarm. Whisk in the egg yolks. Set mixture in the fridge and wait until the fig mixture is cooled.
Using an ice cream machine, pour liquids into the frozen basin and process using manufacturers instructions, ie. let spin and thickden for 20 minutes before adding marscapone, fig-jam mixture and the nuts. Continue to process for +/- 10 minutes. Pour semi-frozen mixture into Pyrex dish or glass tupperware. Freeze for atleast 2 hours before serving.
- 1 1/2 cups milk
- 1/2 cup mascarpone
- 1/2 tsp pink salt
- 1lb black mission figs
- 1/2 cup brown sugar
- 2-4 tsp water
- 1 1/2 cups heavy cream
- 1/3 cup granulated sugar
- 2 egg yolks
- 1 lemon, juiced
- 2 tbsp butter
- 1 cup honey roasted pecans, lightly chopped


Error #29: DISK ID MISMATCH,TT,SS This message is generated when the controller has been requested to access a diskette which has not been initialized. The message can also occur if a diskette has a bad header.


Three founding members, John, Tre and Dan sat down and began to eat when they realized something only nerds would. Upon building a matrix from their initials, they discovered something that could only be attributed to fate. As you can see below, all three sets of initials can be found both horizontally and vertically, further confirming the suspision that it was truly meant to be. Upon further examination, they found the diagonals to read, JAB and DAD. JAB sounded a little to harsh for a business name so we went with DAD. When our fourth member, Colin joined the team, "Co" dropped perfectly into place to for the company that will change the world. That company is DADCo.


Brandon's Webpage
Brandon Lioudis - Class of 2024
This website is full of magic
Mystery Button
Trevor Day Schedule
Proposal website


The Security Token Service (STS) is a web service that implements, for the SOAP binding, the authentication use cases 1, 2, 3 and 4 defined in the OGC 07-118 version 1.1. The implementation has used the following software and libraries:
In this document, you can find the manuals for:
The HMA Security Token Service can be installed using different methods depending on the availability of the hardware and software. The simplest method is to install the service onto an existing server that already has:
In this case, the installation procedure is as follows:
The following sections describe a complete procedure that allows to install the Security Token Service on an empty machine with only operating system software installed. The procedure has been tested successfully on the following system and software files:
System:
Software:
| Installer binary package file | Project website and/or location where the software binary package can be obtained. | |
| OpenLDAP version 2.4.23-26 | openldap-2.4.23-26.el6.x86_64.rpm openldap-servers-2.4.23-26.el6.x86_64.rpm openldap-clients-2.4.23-26.el6.x86_64.rpm |
http://www.openldap.org The RPM package is available on the software CDROM "Red Hat Enterprise Linux Server release 6.3". |
| Oracle/Sun JDK version 1.7.0_45 | jdk-7u45-linux-x64.rpm | http://www.oracle.com/technetwork/java |
| Apache tomcat 6.0.37 | apache-tomcat-6.0.37.tar.gz | http://apache.cu.be/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz |
| Apache Ant version 1.6.2 | apache-ant-1.6.2-bin.zip | http://archive.apache.org/dist/ant/binaries/apache-ant-1.6.2-bin.zip |
| Apache Axis2 version 1.4 | axis2-1.4.zip | http://archive.apache.org/dist/ws/axis2/1_4/axis2-1.4.zip |
| Security Token Service version 2.5 | sts-bin-v2.5.zip | http://code.google.com/p/hma-security-token-service |
The procedure includes the following steps:
Note: the procedure's steps should be executed step by step and in the order they appear in this document. In the steps' description, $software is used to reference to a local directory on the system where the software binary package files listed on the table above are put.
If the software is not yet installed during the OS system installation, log in to the system under root and go to directory $software to execute the following command:
root>openldap-2.4.23-26.el6.x86_64.rpm
root>openldap-servers-2.4.23-26.el6.x86_64.rpm
root>openldap-clients-2.4.23-26.el6.x86_64.rpm
Follow the command instruction to have the software installed completely.
Run the following command to have the LDAP service started together with the system boot
root>chkconfig slapd on
Start the directory service for the first time for test
root>service slapd start
The last command should print a log "Starting slapd: [ OK ]" if the installation is successful.
Note: the current step installs OpenLDAP software files to directory /etc/openldap.
The present step allows to specify the LDAP directory service, including the specific attributes needed in the LDAP directory, by means of LDAP schema file(s). The schema file(s) are to be defined according to the needs of the application using the LDAP directory, since OGC 07-118 version 0.1.0 does not specify a list of attributes (contrarily to version 0.0.4). Note that the inetOrgPerson schema (RFC 2798) is already defined in OpenLDAP; provided that inetOrgPersonuser attributes are sufficient, the definition of a new schema is not required.
The following instructions include the hmaOpenLDAP.schema into the software installation, as an example of extending LDAP schema for new attributes and object types that are not yet defined/available in RFC 2798. This hmaOpenLDAP schema registers a new object "HMAUser" that has sufficient attributes to fulfill the LDAP-SAML mapping, which produces a SAML token as per the example on table 2 of OGC -07-118r9 Issue 1.1.
For more information about OpenLDAP extending schema, see http://www.openldap.org/doc/admin24/schema.html
As root on the system:
When finish, go to directory /etc/openldap to run the following commands to apply the change made above:
Stop the slapd service if it is running:
root>service slapd stop
Apply the configuration:
root>mv /etc/openldap/slapd.d /etc/openldap/slapd.d-bk
root>mkdir /etc/openldap/slapd.d
root>slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
root>chown -R ldap:ldap /var/lib/ldap
root>chown -R ldap:ldap /etc/openldap/slapd.d
Start slapd service for testing:
root>service slapd start
The last command should print "Starting slapd: [ OK ]" if the configuration is successful.
This step is to create the base entries for appending the HMA user data and to insert initial user entries (for testing purposes):
Copy file testUsers.ldif (from package sts-bin-v2.5.zip, at path sts.aar/ldap) to directory /etc/openldap.
Go to directory /etc/openldap to run the following command:
Note to replace the values in the bold texts with the information for your system: "cn=ldapRoot, dc=spacebel,dc=be" is replaced by the rootdn applied in Step 2 above; "secret" is replaced by the rootpw applied in Step 2 above.
For more information, refer to the product documentation at http://www.openldap.org/doc/admin24/index.html
Sign in the installing machine under root user.
Change command prompt to directory $softwareDir, and run the following command:
root>rpm -Uvh jdk-7u7-linux-x64.rpm
Run this command to test the installation
root>java -version.
The last command should prints "java version "1.7.0_45"..." if the installation is successful.
Step 1: install software file
As root, expand the zip file $softwareDir/apache-tomcat-6.0.37.tar.gz to directory on the machine /apps/. This will create a new directory "apache-tomcat-6.0.37" under the /apps directory.
This new directory "apache-tomcat-6.0.37" is referenced later on as $TOMCAT_HOME.
Step 2: Configure the default HTTP ports
Go to directory $TOMCAT_HOME to run the following commands to configure HTTP access port
root>sed -i.bk "s/8080/80/g" conf/server.xml
root>sed -i "s/8443/443/g" conf/server.xml
Step 3: Configure SSL keys HTTPs connection
And run the following commands to create a self-signed key to be used for HTTPs connections supported by this Tomcat server.
root>mkdir -p /apps/conf/keystores
root>/usr/java/default/bin/keytool -genkey -alias tomcat -keyalg RSA -validity 3650 -keystore /apps/conf/tomcat.keystore
Anwser the question prompted by the last command, to have the key generated. When prompted for the password, enter "changeit".
You can apply other password instead. However in that case, you need to set it to the tomcat server.xml configuration.
Edit the conf/server.xml file to apply the keystore generated above, as follows:
Replace the following text in the file:
| <!-- <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> --> |
by the following new text:
| <Connector port="443" protocol="HTTP/1.1"
SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/apps/conf/keystores/tomcat.keystore" keystorePass="changeit" /> |
Step 4: Register tomcat service to the system
Create new file /etc/init.d/tomcat with the following content:
| # This is the init script for starting up the Tomcat
server # # chkconfig: 345 91 10 # description: Starts and stops the Tomcat daemon. # # Source function library. . /etc/rc.d/init.d/functions # Get config. . /etc/sysconfig/network # Check that networking is up. [ "${NETWORKING}" = "no" ] && exit 0 tomcat=/apps/apache-tomcat-6.0.37 startup=$tomcat/bin/startup.sh shutdown=$tomcat/bin/shutdown.sh start(){ echo -n $"Starting Tomcat service: " $startup RETVAL=$? echo } stop(){ echo -n "Stopping Tomcat service: " $shutdown RETVAL=$? echo } restart(){ stop sleep 30 start } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) # This doesn't work ;) status tomcat ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac exit 0 |
Run the following command to register the tomcat service to boot process
root>chmod +x /etc/init.d/tomcat
root>chkconfig --add tomcat
Step 5: Start tomcat service to test the installation
root>service tomcat start
Open a browser and visit this URL http://server-ip, where server-ip is replaced by the IP address or the full domain name of the machine.
You should see the tomcat home page if the installation is successful.
Copy the file $softwareDir/axis2.war to the Tomcat deployment directory $TOMCAT_HOME/webapps.
Edit file $TOMCAT_HOME/webapps/axis2/WEB-INF/conf/axis2.xml to set
true value for the parameter disableSOAP12.
<parameter name="disableSOAP12" locked="true">true</parameter>
Change the command prompt to the directory $softwareDir/ to run the following commands:
A directory named "sts.aar" will appear under the directory $softwareDir.
Copy the directory "sts.aar" to the Axis2 service home directory
$TOMCAT_HOME/webapps/axis2/WEB-INF/services/
authentication-service.properties file
Update the file $TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar.aar/authentication-service.properties to have the values of your system, as described in the following table:
| LDAP_URL | URL to connect to the LDAP directory, e.g, ldap://localhost:389 (see the ldap configuration in section "Install LDAP". |
|
| LDAPSearchContext | The root position where ldap searching action is started from, e.g, dc=spacebel,dc=be (see the ldap configuration in section "Install LDAP". |
|
| LDAPPrincipal | The string used to connect to the LDAP under the admin user, e.g. cn=ldapRoot,dc=spacebel,dc=be | |
| LDAPCredentials | The password of the admin user, e.g. secret | |
| KEYSTORE_LOCATION | The location of the keystore file. The Security Token Service include a keystore for test and demonstration purpose. This demonstration keystore is located at: $TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar.aar/keystore/demokeystore. The keystore file contains a pair of public and private keys with alias 'authenticate'. See the following section for more information about the SSL keys used by the Security Token Service. |
|
| KEYSTORE_PASSWORD | Keystore password |
|
| AUTHENTICATION_CERTIFICATE_ALIAS | Alias of certificate containing the private key of the STS, used to sign SAML tokens |
|
| AUTHENTICATION_CERTIFICATE_PASSWORD | Password associated to AUTHENTICATION_CERTIFICATE_ALIAS |
|
| AUTHORISATION_CERTIFICATE_ALIAS | Alias of certificate containing the public key of the authorisation service, used to encrypt the SAML token (see 3.1) |
|
CLIENT_CERTIFICATE_ALIASES |
Coma-separated list with aliases of certificate containing the public keys of trusted STS clients, used to verify RST signature (used only for RST with signature) (see 3.2); if no client is trusted for issuing RST with signature, then the value shall be empty |
|
REGISTRATION_STATE_ATTRIBUTE_NAME |
Optional; if set, then an extra check is made on RST before issuing SAML token: the specified user shall have a LDAP attribute named as the value of REGISTRATION_STATE_ATTRIBUTE_NAME and this attribute shall have the same value as REGISTRATION_STATE_ATTRIBUTE_VALUE; if this checks fails, then the RST fails |
|
REGISTRATION_STATE_ATTRIBUTE_VALUE |
Optional; see REGISTRATION_STATE_ATTRIBUTE_NAME |
|
| ISSUER_NAME | Name of the SAML token issuer |
|
| SAML_TOKEN_EXPIRY_PERIOD | The period during which the SAML token is still valid. |
|
| SAML_ASSERTION_ID_PREFIX | Prefix of the SAML assertion identifier. |
|
SAML_ASSERTION_ELEMENT |
Optional, used for SAML token backward compatibility with OGC 07-118 v0.0.4 or before; it impacts the SAML token returned in <wst:RequestedSecurityToken> of RSTR; - if set to True, then the SAML token is an element <Assertion xmlns="http://earth.esa.int/um/eop/saml">, parent of a <xenc:EncryptedData> element, with "Content" encryption type; this is the format defined in OGC 07-118 v0.0.4 or before - otherwise (or if SAML_ASSERTION_ELEMENT is absent), the SAML token is directly the <xenc:EncryptedData> element, with "Element" encryption type; this is the format defined in OGC 07-118 v0.0.5 or after |
|
SAML_OLD_SIGNATURE |
Optional, used for SAML token backward compatibility with OGC 07-118 v0.0.5 or before; it impacts the signature of SAML token returned in <wst:RequestedSecurityToken> of RSTR; - if set to True, then the canonicalization method algorithm used in signature is " http://www.w3.org/TR/2001/REC-xml-c14n-20010315", the signature's URI reference is empty and the certificate is attached to the token; this is the format defined in OGC 07-118 v0.0.5 or before - otherwise (or if SAML_OLD_SIGNATURE is absent),the canonicalization method algorithm used in signature is "http://www.w3.org/2001/10/xml-exc-c14n#", the signature's URI reference refers to SAML Assertion and no certificate is attached; this is the format defined in OGC 07-118 v0.0.6 or after. |
|
SAML_TOKEN_ENCRYPTION_ACTIVE |
Optional, flag indicating whether the SAML token shall be delivered encrypted or not. The value True shall be put in any operational system supposed to comply with OGC 07-118. The value False is mainly dedicated to testing purpose. If missing, then True is assumed. |
|
| LOG4J_CONFIG_LOCATION | The location of the Log4j configuration file, e.g. $TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar.aar/authentication-service-log4j.properties |
|
LOCAL_STS_URN |
Optional. used for STS federation only. It is an arbitrary URN identifying the present STS instance. If set, the STS as the ability to be federated, i.e. to receive RST from another STS. Any RST, containing an element <DelegateTo> having a URN content equal to LOCAL_STS_URN is considered as coming from a federating STS; in that case the SAML token is returned ensigned and unencrypted. Note that this URN shall be declared also in the federated_sts.properties file of the federating STS (see below) |
federated_sts.properties file
If the STS is a federating STS, i.e. it shall be able to forward RST to other STS, then
the following file shall be filled in:
$TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar.aar/federated_sts.properties
(if the STS is not federating, then the file can be empty or even missing). The purpose of
this file is to map the STS URN present in <DelegateTo> element of the RST, if any,
to the actual URL of the corresponding federated STS. The format is a set of lines with
equalities
delegated_sts_urn = delegated_sts_url
Not that the colon character in the urn shall be escaped with a backslash character.
For instance,
urn\:ceos\:def\:epr\:spacebel\:1.0\:federated-sts =
http://localhost:8080/axis2/services/sts
authentication-service-log4j.properties file
Update the parameter "log4j.appender.logfile.File" in the file /stsHome/apache-tomcat-5.5.27/webapps/axis2/WEB-INF/services/sts.aar.aar/authentication-service-log4j.properties to point to the service log file, e.g.:
/var/log/sts.log
This section describes steps to make the first test to verify if the installation done in the sections above succeeded.
Step1: prepare test data
Connect to the LDAP directory server to import the test user profile using the input data from the file $TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar/ldap/testUsers.ldif
If the import succeeds, there are two test users in the LDAP directory with credentials "TestUser1/TestUser1 and TestUser2/TestUser2".
Step 2: make a SOAP call to the service operation "RequestSecurityToken".
Using a SOAP client, such as TCP monitor to send the following SOAP message to the
service at URL http://IP:PORT/axis2/services/sts
Note to replace the IP and PORT with your system values.
SOAP request message:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<wst:RequestSecurityToken
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512/">
<wst:TokenType>
http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1
</wst:TokenType>
<wst:RequestType>
http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue
</wst:RequestType>
<wsse:UsernameToken
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:Username>TestUser1</wsse:Username>
<wsse:Password>TestUser1</wsse:Password>
</wsse:UsernameToken>
</wst:RequestSecurityToken>
</soapenv:Body>
</soapenv:Envelope>
The service should return a SOAP response message that includes the SAML token representing the user TestUser1.
This section describes steps to integrate the Security Token Service into an authorization service, e.g. a Policy Enforcement Point - PEP (as the consumer of this Security Token Service).
The SAML token returned by this STS is in encryption and it will be decrypted by the authorisation service during the authorisation processing. To make the encryption and decryption works each other, the Security Token Service needs to use the certificate that is in pair with the private key of the authorization service. The following steps will make the two services integrated:
Step 1: Export the certificate of the authorisation service (public key only).
The following Java keytool command can be used:
keytool -export -rfc -alias pep-alias -file pep.cert -keystore pep_keystore_filenameStep 2: Import the certificate (obtained in step 1) into the Security Token Service's keystore under an alias with name equals to the value of the property "AUTHORISATION_CERTIFICATE_ALIAS" (see configuration file $TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar/authentication-service.properties).
The following Java keytool command can be used:
keytool -import -alias pep-alias -file pep.cert -keystore sts_keystore_filenameStep 3: Restart STS
This section describes steps to register a trusted client, so it can issue valid RST
with signature to STS. This is the case for a STS that is not the IDP server. For this, a
RST request does not include user password but the user id and the signature of the
trusted client. For the latter purpose, the STS shall verify the signature thanks to
the registered public key of the trusted client in its keystore. The registration of a
trusted client on STS therefore boils down to register the public key of trusted client in
the STS keystore. This is done with the following steps:
Step 1: Export the certificate of the trusted client (public key only).
The following Java keytool command can be used:
keytool -export -rfc -alias <client-alias> -file client.cert -keystore client_keystore_filenameStep 2: Import the certificate (obtained in step 1) into the STS keystore under a given alias A
The following Java keytool command can be used:
keytool -import -alias <client-alias> -file client.cert -keystore sts_keystore_filenameStep 3: Add alias <client-alias> in the coma-separated list defined in the property "CLIENT_CERTIFICATE_ALIASES" (see configuration file $TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar/authentication-service.properties)
Step 4: Restart STS
To unregister a trusted client on STS, the following steps shall be done:
Step 1: Remove the alias corresponding to the client from the coma-separated list defined in the property "CLIENT_CERTIFICATE_ALIASES" (see configuration file $TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar/authentication-service.properties)
Step 2: Remove the corresponding certificate from STS keystore (this step is optional)
The following Java keytool command can be used:
keytool -delete -alias <client-alias> -keystore sts_keystore_filenameStep 3: Restart STS
To change to a new LDAP directory service (used by the Security Token Service), update the following parameters in the software configuration file ($TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar/authentication-service.properties):
See section 3.5 for more information.
The default configuration of the Security Token Service applies the following keys and certificates (stored in the file $TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar/keystore/default.kestore):
Those keys and certificates are generated using the following Ant script function (that uses Java JDK 1.7 keystore utility):
<!-- Ant version 1.6.x or higher -->
| <target name="createDemoKeystore"> <mkdir dir="${build.dir}/${aar.file}/keystore"/> <property name="file" value="${build.dir}/${aar.file}/keystore/default.keystore"/> <property name="cert.file" value="${build.dir}/${aar.file}/keystore/default.cert"/> <property name="alias" value="urn:ceos:def:epr:spacebel:1.0:sts"/> <property name="pass" value="changeit"/> <!-- valid for 10 years--> <property name="validity" value="3650"/> <delete file="${file}/"/> <genkey alias="${alias}" storepass="${pass}" keyalg="RSA" keystore="${file}" validity="${validity}"> <dname> <param name="CN" value="HMA-S"/> <param name="OU" value="Space"/> <param name="O" value="Spacebel"/> <param name="C" value="BE"/> </dname> </genkey> <exec executable="keytool"> <arg value="-export"/> <arg value="-alias"/> <arg value="${alias}"/> <arg value="-rfc"/> <arg value="-file"/> <arg value="${cert.file}"/> <arg value="-keystore"/> <arg value="${file}"/> <arg value="-storepass"/> <arg value="${pass}"/> </exec> <echo message="Generated keystore at ${file}"/> </target> |
To change the default keystore configuration, follows the following steps:
The service allows to change names of the SAML attributes (in the SAML tokens) by updating the mapping file ($TOMCAT_HOME/webapps/axis2/WEB-INF/services/sts.aar/saml-ldap-attributes-mapping.properties). This file uses Java properties file's format to define the mapping as follows:
The LDAP attribute name present in the first first association shall be an identifier of the user. This attribute will be used by the STS to build up the SAML token, in order to set the NameIdentifier element of the subject of NamesIdentifier in AuthenticationStatement and AttributeStatement.


The Diet tracking application is a Practical way to keep yourself motivated and never loose track of your goals
On Track Gives You Timely Reminders of when you should have your next meal and what you should eat as per the suggestions of your favorite dieticiens
On Track Helps you establish contacts with trusted dieticians with a proper registration number .
Chose the best on basis of the rating and reviews


👋 I am a Designer Director, co-founder of øculto studio serving clients worldwide with great digital products.


A Jedi is a Force-sensitive individual, most often a member of the Jedi Order, who studied, served, and used the mystical energies of the Force; usually, the light side of the Force. The weapon of a Jedi is the lightsaber, a blade made of pure energy. Jedi fought for peace and justice in the Galactic Republic, usually against their mortal enemy: the Sith, who studied the dark side of the Force. The Jedi were all but destroyed by the Sith during and after the execution of Order 66, leaving very few Jedi survivors at the end of the Galactic Civil War.


Alright, let’s get you going. I’m assuming that your operating system is a debian linux distribution like Ubuntu, that you’re using Python version 2.7, and that you are able to access your terminal. We are going to load a sqlite3 database with news articles from several RSS feeds.
Now let’s set up a project.
$ mkdir my_project
$ cd my_project
$ touch feeds_list.txt
Add the RSS feeds you want to “feeds_list.txt”. Here are some that you may want to use:
- http://feeds.reuters.com/reuters/businessNews
- http://feeds.reuters.com/reuters/entertainment
- http://feeds.reuters.com/reuters/topNews
- http://feeds.reuters.com/Reuters/worldNews
- http://rss.cnn.com/rss/money_latest.rss
- http://rss.cnn.com/rss/cnn_showbiz.rss
- http://rss.cnn.com/rss/cnn_topstories.rss
- http://rss.cnn.com/rss/cnn_world.rss
Now, we’re ready to load the SQLite3 database with articles from the RSS feeds we’ve previously specified.
$ # First, let's get our project path and make note of it.
$ pwd
$ # Now we're ready to start up Python
$ python
>>> from gathernews.gRSS import CaptureFeeds
>>> capture_feeds = CaptureFeeds("/home/tyler/my_project/")
>>> capture_feeds.load_db()
We’ve now created a new table for each one of the RSS feeds you previously specified, populated each table, and removed any duplicate entries in those tables.
Anytime you want to load the database with new articles from your RSS feeds, we can just use the same method. Let’s say you add additional tables to your “feeds_list.txt”, just use the same method; load_db().


THE ROAD TO THE END OF THE WORLD A film review by Felix Kreisel Copyright 1996 Iskra Research
Montreal 1996 The recently concluded Montreal World Film Festival is one of the better known venues of the cinema world. It attempts to promote a wide range of filmmakers from many countries by requiring as little as possible in promotion expenditures. This year the Festival organizers paid special attention to current Russian films and even gave a special prize in the category of the Russian Cinema of Today. This writer was able to view a number of the more significant films presented at the Festival. Preceding my impressions I have included the official descriptions provided by the Festival organizers.
* * * * * * * * * * The Road To The End Of The World
* * * * * * * Official information * * * * * * *
Director: Ruben Muradian. Script: Gennady Bokarev, Ruben Muradian. Photography: Boris Shapiro. Editor: Lidia Volokhova. Music: Vladimir Rubashevsky. Sound: Larisa Shutova. Cast: Zarif Bapinaiev, Barasbim Mulaiev, Natalia Fateieva, Boris Kuliev, Zarema Bechelova, Alexander Pashutin, Bagrat Khachatrian, Viktor Proskurin. Producer: Ruben Muradian, Antik-100.
The "Great Patriotic War" (World War II) was beginning to draw to a close. But Stalin's repressive government agencies were still working at full capacity and the plan for the mass deportation of the native inhabitants of the Northern Caucasus was put into effect. March 8, 1944 became a black day in the history of these people.
* * * * * ) Iskra Research; by F. Kreisel * * * * *
The Second World War exposed the social, economic and national contradictions within the Soviet Union. The great conquests of the October Revolution: central planning, industrialization, cultural progress of masses of people gave the Soviet state great advantages in the military sphere by comparison with the preceding tsarist regime and assured its final victory over fascism. Yet the bureaucratic police state of Stalin undermined many of these gains and contributed to the initial victories of the Nazi invaders: the policy of forced collectivization and artificial famine of 1932 alienated the peasantry, especially in Ukraine, its economic zigzags slowed industrial development, its police repression during the Great Purges destroyed the fighting capacity of the Red Army, its eclectic blindness allowed Hitler the element of surprise.
Towards the end of the war the regime had to forestall any movement among the masses of people towards greater democracy. For the Stalinist bureaucracy, its policy of self preservation meant that the anger of the Russian people at the great unnecessary losses had to be channeled into Great Russian chauvinism, that the Soviet nationalities were to be pitted against one another and the rigid police state of 1930's reestablished. Over the next ten years we witness the harsh genocidal policies of exiling and exterminating whole nationalities, relocation of peoples, anti-cultural crusades of Zhdanov and the anti-Semitic campaign culminating with the extermination of the Jewish Anti-Fascist Committee and the Doctors' Plot. In 1941 Stalin disbanded the German Autonomous Region on the Volga. In early 1944 the Stalinist regime attacked the following nationalities: the Chechen, the Ingush, the Karachay, the Balkar, the Kalmyks, the Crimean Tartars.
This movie was introduced by its director Ruben Muradian as a documentary story, telling the tragic events of March 1944 when the 40,000 members of the Balkar nation were picked up by the force of 20,000 NKVD troops and driven thousands of miles to Siberia. Muradian does succeed in explaining that Stalin's policy was completely irrational even from the point of view of nation building and state security. The NKVD collected all persons of the Balkar nationality, even the Party and Komsomol members, even the soldiers and officers of the Red Army and their families, including Stalin's own henchmen in the local hierarchy. They were all moved to the Siberian wilderness and great many of them died en route or from the privations of the initial settlement period. Unfortunately, Muradian's method of story telling turns this historic tragedy into something of a melodrama. He pads the movie with much scenic imagery (probably to save money). His use of documentary materials is primitive: his long repetitious sequences of moving locomotives and trains do not add much to our understanding of events. On the other hand, he uses actors for all the action scenes, contemporary people instead of photos of the real victims, imagined story instead of the grim tales of 1944. He shows us a dying Red Army soldier and his fiancee, and turns the crying girl's face towards the camera milking us for emotions. He shows an elderly woman dying of a heart attack as the NKVD bastard pushes her down. He shows a loyal Stalinist committing suicide, a Red Army hero chasing the trains across the country, and so on. Such things happened, to be sure, but this reviewer does not like the movie directors who use these hackneyed cliches to jerk tears out of the viewer. As interesting as the movie is the tale of its screening around the world and in Russia itself. The Russian government film agency Roskomkino normally provides the seed money, the permits for studio use and other facilities to film a movie. Muradian's movie was duly filmed, a copy sent to Roskomkino, one reel was sent to the festivals around the world and that is all. This picture was not screened in Russia at all, and the director does not know of any plans to do so. This writer suggests that this movie was produced solely as a showpiece at the festivals like the Montreal venue to provide the public opinion in the West with a proof of the liberal and democratic intentions of the current Russian regime. True, Yeltsin and his generals did bomb Chechnia into the Stone Age, kill some thirty thousand and send hundreds of thousands more to squatter camps in the neighboring regions. But, the IMF and the World Bank can assure the gullible public that some of the money they sent to Russia was spent on filming this humanitarian drama, and this proves that Yeltsin's heart is in the right place.  -- Iskra Research -- Historical research and publication of Marxist classics in the Russian language. Address: PO Box 397142, Cambridge, MA 02139-7142; e-mail<EMAIL_ADDRESS>http://www.mit.edu:8001/people/fjk/iskra.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Links for demo
AV Changes, fixtures
Presentation 3 (WIP)
Technical challenges
POC for BL
Joscha's implementation
Evaluation of techniques
Ed's AV component
Running in UV


Gitbub stats | Projects | Bioconductor | R Shiny | Website | Custom packages
Github stats
Here you can find a selection of my projects and R packages along with a cool dynamically generated card of my current Github stats (thanks to Anurag for the feature).
Click on any of the project cards to be directed to their respective pages on
Github. I’d personally start with fedup
as this is my first package officially
submitted to Bioconductor
You can also find the code that’s used to actually build this website at rosscm.github.io
!


Apparently not. Paul Fussell said class is alive and well in the US. Even you, gentle reader, cannot affirm that there are no classes at the same moment as calling some people low-class and others high class.
If America is not class-less, how many classes are there?
Fussell considers and dismisses three hypotheses:
He says that nine classes are intelligible in the U.S. And he says that it’s not money alone that separates the classes (27). It’s also taste, style, and awareness.
Our book club is aiming to discuss this book because we are fascinated by class. (He says fascination with class is very middle class!)


Biography Stories Themes Mythos H.P. Lovecraft Howard Phillips Lovecraft was an American writer of weird fiction and horror fiction. Born in Providence, Rhode Island, he spent most of his life there, and his fiction was primarily set against a New England backdrop.


@ui-widgets-js/popup-menu
Simple, lightweight, framework-independent, and easy-to-use popup menu UI widget for web applications.
PopupMenu demo
Installing from NPM
npm install @ui-widgets-js/popup-menu
Viewing Demo Application
Clone repository
git clone https://github.com/ui-widgets-js/popup-menu.git
Run npm install
to install all development dependencies. Finally, run npm start
to start the demo application in the default browser.
Using PopupMenu in your application
Check demo/index.js for the full example code.
The documentation is available here.
import PopupMenu, { PopupMenuItem, PopupMenuPosition } from '@ui-widgets-js/popup-menu';
// This example shows how to display PopupMenu under the specific button
const myButton = document.getElementById('myButton');
const itemList = [
new PopupMenuItem(1, 'Play', './images/image-play.svg'),
new PopupMenuItem(2, 'Pause', './images/image-pause.svg'),
new PopupMenuItem(3, 'Next', './images/image-next.svg'),
new PopupMenuItem(4, 'Previous', './images/image-previous.svg')
];
const position = PopupMenuPosition.alignBottomLeft(myButton);
const selectedId = await PopupMenu.show(itemList, position);
This example code uses module import. Consider using webpack to be able to import PopupMenu the same way. Alternatively you can load your JavaScript file as type="module" in html. Check demo/index.html for example.
Styling the PopupMenu
Modify the font, the color, or any other property of PopupMenu by adding css for popup-menu tag in your application. For example:
body popup-menu {
background-color: #add8e624;
border: 1px solid #add8e6;
border-radius: 5px;
color: #0e5490;
}


---
layout: post
title: Understanding Django static files
date: '2013-09-13T13:06:00.000-07:00'
author: Mark Evans
tags:
- Django
modified_time: '2013-09-13T13:09:20.110-07:00'
blogger_id: tag:blogger.com,1999:blog-8042776731714569314.post-6380629180252106599
blogger_orig_url: http://codexpython.blogspot.com/2013/09/understanding-django-static-files.html
---
In struggling to setup a new development/production server on Mountain Lion, I came across this good explanation of django static files and how to configure them.
http://bitsoul.com/2012/10/04/understanding-django-static-files-for-beginners/
Also, this link was also helpful in setting up the environment
http://thecodeship.com/deployment/deploy-django-apache-virtualenv-and-mod_wsgi/
Cheers.


--- layout: common_search title: Page not found! page_title: Page not found! lang: en notfound: true permalink: 404error.html ---
I'm sorry, the page you were looking for is not found!
Lo siento, la página que busca no ha sido encontrada!


Taking customization further, here is an example of a popup that has been customized to look like a vertical panel with three mini buttons:
Open panelHere is the HTML markup for the button and panel:
Open panel

<button data-theme="a" data-icon="back" data-mini="true">Back</button>
<button data-theme="a" data-icon="grid" data-mini="true">Menu</button>
<button data-theme="a" data-icon="search" data-mini="true">Search</button>

To style the panel, and attach it to the right edge, the following CSS is used. Note that #popupPanel-popup
is the ID of the container div generated by the framework.
#popupPanel-popup {
right: 0 !important;
left: auto !important;
}
#popupPanel {
width: 200px;
border: 1px solid #000;
border-right: none;
background: rgba(0,0,0,.5);
margin: -1px 0;
}
#popupPanel .ui-btn {
margin: 2em 15px;
}
Because the popup container is positioned absolute, you can't make the panel full height with height:100%;
. This small script sets the height of the popup to the actual screen height.
$( "#popupPanel" ).on({
popupbeforeposition: function() {
var h = $( window ).height();
$( "#popupPanel" ).css( "height", h );
}
});


AlzCare
Alzheimer's Care Solution
Home
Learn More about Alzheimer's Disease
Provide patient's Details
Activity Monitor
About Us
Submit Patient's Details Here :
Male
Female
Other


The Lost Art of Prototyping
Prototyping is a design methodology that basically involves “trying stuff out and seeing what works”. It’s meant to be iterative in that you continue to create prototypes (possibly by alterring previous prototypes) until you’ve got all the information you need to say your design is complete.
If we were building cars, we would probably first prototype a body design with CGI to be able to collect feedback before building the car itself. It’s much cheaper (effort and materials wise) to iteratively develop the body with a 3d model than with the actual materials that would be used.
If we were designing websites, we might prototype the design in photoshop for a bunch of iterations until the client is happy. The great thing about that is that the web designer can actually chop up that protoype in photoshop, and use it for images as part of the work after the client has approved the design stage. In this case, the prototype isn’t a throw-away prototype — it’s actually useful to bring into the implementation stage.
In software development we can (and usually do) prototype similarly. There’s usually a point in the design process where a developer needs to “try some stuff out and see what works”. Once the developer has proven a methodology with code, the prototyping phase can mostly be called complete. Throwing away that code would widely be considered a huge waste though, so it usually ends up being used in the final implementation as well.
Prototyping VS. Hacking
It’s probably safe to say that many developers do prototyping (a design methodology) and implementation at the same time bouncing back and forth between the two as necessary, blurring that line between design and implementation.
This way of developing is seductive, because you get straight to banging on the keyboard, which feels like you’re making progress, but it’s really upstream in the design stage where you get the opportunity to save the most amount of time. If you don’t distinguish between design and implementation, it’s tough to tell which stage you’re in at any given time, and so it’s tough to determine if you’re in the right stage.
You can imagine how wasteful this back-and-forth would be if you were an automative engineer instead, and you swapped back and forth between prototyping and working on the implementation details. As you iterate on the prototype, those details you worked on in the last iteration could be completely removed — that’s a big waste of time, and it’s often emotionally difficult to let go of design decisions that have undergone a lot of implementation work. So while realistically design never really stops, you do want to do as much up front as possible.
So there are definitely right and wrong ways to prototype, but it’s extremely valuable and worthwhile if done correctly. I doubt many developers would argue that sometimes you just need to try stuff out and see what works. Very few developers are interested in development methodologies that omit the ability to prototype.
So What about TDD?
This seems to me to be the most often used argument against Test Driven Development (TDD). I agree that TDD doesn’t work well for tasks that don’t have clear-cut solutions, but TDD is still always applicable downstream after the solution has become more clear. The trick is to reach a certain level of solidity with your solution’s plan before you get into TDD.
Here’s a case in point as Ron Jeffries attempts to “solve sudoku” with TDD without even knowing the rules of the game. If you follow his method of solving the problem and compare it against Peter Norvig’s design-first approach, TDD starts to look like a miserable failure. Indeed, some have dragged this out as a case against the utility of TDD “in the real world”. Ron Jeffries’ example doesn’t really make the case against TDD at all though; It simply shows that you have no business being in the TDD stage before you fully understand the problem and you’ve done adequate design. TDD doesn’t preclude other design methods (like prototyping) at all.
And in cases of large architectural issues, prototyping is likely not the first tool that you should turn to — it’s too detail oriented, and you can iterate much faster on designs expressed via whiteboard doodling, flowcharts, UML, etc. You might move to prototyping at some stage later though before you completely decide on some particular design. The important part to keep in mind though is that you’re not in the implementation stage — you’re planning. Changes are cheap and easy at this stage, and it saves you so much more time than if you just jumped in and started developing.
The software that comes out of the prototyping process is a nice side effect, but it’s almost never ready for production. This is where TDD comes in. If you have a clear understanding of the solution you want to implement (whether you used prototyping or not) then your design is sufficiently complete to start TDD. In this way TDD and prototyping are not opposed at all. Prototyping is just one possible methodology in the design stage that should precede implementation. TDD just says that tests should be written before implementation. It doesn’t say anything about what else you do prior to implementation.
So, there’s nothing un-TDD about prototyping a solution, setting it aside, writing your tests, then writing an implementation that passes those tests (based on the knowledge you got from your prototype). Ideally you’re working with units that are single-minded and small so copying/pasting from the prototype isn’t even necessary, but to be honest, I think some copy/paste from the prototype is fine. If it’s done in a careful way where you’re not hurting the quality of the final code (because prototypes generally don’t care all that much about code quality), you might as well make use of your previous work, if you can. You just have to be careful that it’s the quality you want, but then again TDD will force a lot of the quality.
The Steel Thread
The concept of the steel thread is one that I use quite often on the team that I work in when we’re working on complex tasks. It’s definitely a loose sort of prototype, and it’s meant to prove the basics of our core concepts. Basically, we concentrate on the core functionality of the complex task, putting priority on the completion of the “happy path“, the path of execution without error scenarios, special cases, etc. Once that core functionality is in place, the general design can be considered verified, the necessary components can be easily identified, and the existing work can be evolved to something high-quality (possibly through a fresh start with TDD). Work is easily divided amoung teammates after this steal thread has been acheived.
Spike Solutions
Spike Solutions are like the opposite of the steel thread in many ways. Where the steal thread tries to prove the viability of the entire solution (in a breadth-first sort-of-way), a spike solution will try to prove the viability of a part of the solution that isn’t very well known, in a depth first sort-of-way. It’s useful when there’s a particular piece of the solution that we’re not sure will work, so we prototype that part as quickly as possible to make sure our overall solution won’t fail because of that single part.
The point of the concepts of steel threads and spikes is to tackle the unknowns early on and prove the viability of the entire solution as early as possible. Once everyone is relatively sure that the team is on the right path and the design is firmed up, you’re ready to get into the more detail-oriented aspects of development. It’s not until this point that I’d switch to TDD, and start writing my tests for the implementation stage of the work.
Is this just BDUF?
I don’t think so. I’m not proposing a huge documentation process that specifies every aspect of the final product. I’m simply talking about spending some time to loosely figure out what we’re going to do before we do it. It’s time well spent, because it’s just so much cheaper to make major changes at this earlier stage in the process. We’ll still figure out the minor details as we go.


Accountability is the quality of a person to own up to their actions and take responsibility for their mistakes. If a team member is lacking accountability, they will lose the trust of their fellow team members and potentially hurt the team more than if they were accountable. Accountability is what allows team member to rely on and work with each other, and without it a team will start to split apart.
Accountability is the glue that holds the teams efforts together!
One could implement a sort of honor code into the team to increase Accountability. The team could punish people who own up to their mistakes much less than someone who doesn't, or not punish them at all! There could also be incentives for being accountable, like bonuses or raises. It would also help to let employees know exactly what is expeted of them. This way, the employee is less likely to misinterpret requests and orders and will be able to be more Accountable.
Accountability is the base of trust in business. If a person cannot be held accountable for their own actions, then that person is not trustworthy. By ensuring that your team and employees are held accountable, you can foster trust among the team as well as among potential business partners. Having accountable employees also creates an environment that can improve work culture. An accountable employee is also more likely to hand in higher-quality work.


Doorman of Hell:
Although the war is over, the dispute over the border has yet to be resolved. Keep your head down for now.
Open the gate
Close the gate
Quest


Home
About
Products
Blog
Contact
Contact Form
REGISTER
Name:
Email:
Message:
Send
PLEASE TURN SCREEN SIDEWAYS FOR BETTER TEXT SPEED :)


Indiana
I'm a Junkie-Monkey!
Registered: Oct 2001
Location: Incommincado Tyler Durden says: Do we really need another women?
Posts: 3087 |
The jaffa base was a private forum for Moderators.
I actually think that the latest posts device made the site very less talkative. Personally I thought the community discussions went down a bit since the introduction of the latest posts section on the main page, but that's just me.
Report this post to a moderator | ? + *
|


Zoobar Foundation for Inquisitive Thinking
Supporting the best thinkers of the 21st-century
Username:
Password:


Options
Set focus on Requester after adding a new tab
Allows to automatically focus to new tabs.
See also
Requester
the introduction to Requester add-on


| Package | Description |
|---|---|
| game.control | |
| game.logic | |
| game.logic.items | |
| game.logic.world |
| Modifier and Type | Class and Description |
|---|---|
class |
PlayerMP
This class should do the multiplayer connecting side, player logic should be
left to Player.java.
|
| Modifier and Type | Method and Description |
|---|---|
Player |
StealthGame.getPlayer()
Gets player created on this class.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.List<Player> |
Room.getPlayersInRoom()
Returns players in room
|
| Modifier and Type | Method and Description |
|---|---|
void |
Room.addPlayer(Player inPlayer)
Add player to room
|
void |
StealthGame.addPlayer(Player p)
Adds player to the current level.
|
void |
Level.addPlayer(Player p)
Add a player to the level.
|
Tile |
Room.getTile(Player p,
double x,
double y) |
Tile |
Room.getTile(Player p,
int ID)
Returns tile that player is at and checks if tile ID matches ID
|
void |
Room.removePlayer(Player outPlayer)
remove player from room
|
void |
StealthGame.removePlayer(Player p)
Removes player from level.
|
boolean |
Level.removePlayer(Player p)
Remove a player from level.
|
void |
Room.tick(Renderer r,
Player p)
Tick through the tiles to see if there are any items to remove.
|
boolean |
Room.validPosition(Player p,
double x,
double y)
returns if player can be in position in room
|
| Modifier and Type | Method and Description |
|---|---|
void |
Room.setPlayersInRoom(java.util.List<Player> playersInRoom)
Sets players in room
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
Chest.canPickUp(Player p) |
boolean |
Terminal.canPickUp(Player player) |
boolean |
Item.canPickUp(Player player)
Check if a player can pick up item.
|
boolean |
Key.canPickUp(Player p) |
void |
Chest.interact(Player p) |
void |
Terminal.interact(Player p) |
void |
Item.interact(Player p)
Defines the behavior with the player when the player interacts with item
|
void |
Key.interact(Player p) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
Door.canEnter(Player p) |
boolean |
BlankTile.canEnter(Player player) |
boolean |
Tile.canEnter(Player player)
Returns if player can enter tile
|
boolean |
Wall.canEnter(Player player) |
boolean |
BasicFloor.canEnter(Player player) |
void |
Water.onEnter(Player p) |
void |
Door.onEnter(Player p) |
void |
BlankTile.onEnter(Player p) |
void |
Tile.onEnter(Player p)
Defines what happens to the player on enter
|
void |
Wall.onEnter(Player p) |
void |
BasicFloor.onEnter(Player p) |
void |
Water.onExit(Player p) |
void |
Door.onExit(Player p) |
void |
BlankTile.onExit(Player p) |
void |
Tile.onExit(Player p)
Defines what happens to the player on exit
(Often used to remove buffs/debuffs of tile)
|
void |
Wall.onExit(Player p) |
void |
BasicFloor.onExit(Player p) |
void |
Door.onInteract(Player p) |
void |
BlankTile.onInteract(Player p) |
void |
Tile.onInteract(Player p)
Defines happens when player is on tile and interacts with tile
|
void |
Wall.onInteract(Player p) |
void |
BasicFloor.onInteract(Player p) |


Confirm
Cancel


Click "MY PROFILE" to return to the "about me" page. Also below "MY PROFILE", you will find some of the projects, several unfinished, that I've been working on. Please click the different ones below (listed in no particular order) to see some of my progress.
One of the very first basic lessons taught at Epicodus was about making sure to practice good indentation and spacing habits. In this exercise, the goal was to learn the basics of how to practice cloning Git repositories, while being mindful of well-written code.
In this website, it merely copies the code from an existing repository with basic HTML that contains a cookie recipe. Given the poor indentation and spacing provided in this existing code, we had to fix it and push the changes to our own GitHub account.
Additionally please see the following links for both the Github page, and its respective repository.


2.2.0 / 2015-05-09¶
- package: update “ms” to v0.7.1 (#202, @dougwilson)
- README: add logging to file example (#193, @DanielOchoa)
- README: fixed a typo (#191, @amir-s)
- browser: expose storage (#190, @stephenmathieson)
- Makefile: add a distclean target (#189, @stephenmathieson)
2.1.3 / 2015-03-13¶
- Updated stdout/stderr example (#186)
- Updated example/stdout.js to match debug current behaviour
- Renamed example/stderr.js to stdout.js
- Update Readme.md (#184)
- replace high intensity foreground color for bold (#182, #183)
2.1.2 / 2015-03-01¶
- dist: recompile
- update “ms” to v0.7.0
- package: update “browserify” to v9.0.3
- component: fix “ms.js” repo location
- changed bower package name
- updated documentation about using debug in a browser
- fix: security error on safari (#167, #168, @yields)
2.1.1 / 2014-12-29¶
- browser: use typeof to check for console existence
- browser: check for console.log truthiness (fix IE 8/9)
- browser: add support for Chrome apps
- Readme: added Windows usage remarks
- Add bower.json to properly support bower install
2.1.0 / 2014-10-15¶
- node: implement DEBUG_FD env variable support
- package: update “browserify” to v6.1.0
- package: add “license” field to package.json (#135, @panuhorsmalahti)
2.0.0 / 2014-09-01¶
- package: update “browserify” to v5.11.0
- node: use stderr rather than stdout for logging (#29, @stephenmathieson)
1.0.4 / 2014-07-15¶
- dist: recompile
- example: remove console.info() log usage
- example: add “Content-Type” UTF-8 header to browser example
- browser: place %c marker after the space character
- browser: reset the “content” color via color: inherit
- browser: add colors support for Firefox >= v31
- debug: prefer an instance log() function over the global one (#119)
- Readme: update documentation about styled console logs for FF v31 (#116, @wryk)
1.0.3 / 2014-07-09¶
- Add support for multiple wildcards in namespaces (#122, @seegno)
- browser: fix lint
1.0.2 / 2014-06-10¶
- browser: update color palette (#113, @gscottolson)
- common: make console logging function configurable (#108, @timoxley)
- node: fix %o colors on old node <= 0.8.x
- Makefile: find node path using shell/which (#109, @timoxley)
1.0.1 / 2014-06-06¶
- browser: use removeItem() to clear localStorage
- browser, node: don’t set DEBUG if namespaces is undefined (#107, @leedm777)
- package: add “contributors” section
- node: fix comment typo
- README: list authors
1.0.0 / 2014-06-04¶
- make ms diff be global, not be scope
- debug: ignore empty strings in enable()
- node: make DEBUG_COLORS able to disable coloring
- *: export the colors array
- npmignore: don’t publish the dist dir
- Makefile: refactor to use browserify
- package: add “browserify” as a dev dependency
- Readme: add Web Inspector Colors section
- node: reset terminal color for the debug content
- node: map “%o” to util.inspect()
- browser: map “%j” to JSON.stringify()
- debug: add custom “formatters”
- debug: use “ms” module for humanizing the diff
- Readme: add “bash” syntax highlighting
- browser: add Firebug color support
- browser: add colors for WebKit browsers
- node: apply log to console
- rewrite: abstract common logic for Node & browsers
- add .jshintrc file
0.8.1 / 2014-04-14¶
- package: re-add the “component” section
0.8.0 / 2014-03-30¶
- add enable() method for nodejs. Closes #27
- change from stderr to stdout
- remove unnecessary index.js file
0.7.4 / 2013-11-13¶
- remove “browserify” key from package.json (fixes something in browserify)
0.7.3 / 2013-10-30¶
- fix: catch localStorage security error when cookies are blocked (Chrome)
- add debug(err) support. Closes #46
- add .browser prop to package.json. Closes #42
0.7.2 / 2013-02-06¶
- fix package.json
- fix: Mobile Safari (private mode) is broken with debug
- fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript
0.7.1 / 2013-02-05¶
- add repository URL to package.json
- add DEBUG_COLORED to force colored output
- add browserify support
- fix component. Closes #24
0.7.0 / 2012-05-04¶
- Added .component to package.json
- Added debug.component.js build
0.6.0 / 2012-03-16¶
- Added support for “-” prefix in DEBUG [Vinay Pulim]
- Added .enabled flag to the node version [TooTallNate]
0.5.0 / 2012-02-02¶
- Added: humanize diffs. Closes #8
- Added debug.disable() to the CS variant
- Removed padding. Closes #10
- Fixed: persist client-side variant again. Closes #9
0.4.0 / 2012-02-01¶
- Added browser variant support for older browsers [TooTallNate]
- Added debug.enable(‘project:*’) to browser variant [TooTallNate]
- Added padding to diff (moved it to the right)
0.3.0 / 2012-01-26¶
- Added millisecond diff when isatty, otherwise UTC string
0.2.0 / 2012-01-22¶
- Added wildcard support
0.1.0 / 2011-12-02¶
- Added: remove colors unless stderr isatty [TooTallNate]
0.0.1 / 2010-01-03¶
- Initial release


Frequently Asked Questions
What is a spectrum cluster?
A spectrum cluster is a group of Mass Spec spectra that share the same characteristics, namely the shapes of their peaks. The spectra that are similar are grouped together in the PRIDE Cluster pipeline.
Where do the spectrum come from?
The original spectrum comes from PRIDE Archive, which is a submission based data repository.
Due the diversity of PRIDE Archive submissions, we have spectrum from a large number of species and also covers many post translational modifications.
In order to keep the data submitted to us save and secure, we only take the public experiments into account for running the PRIDE Cluster production pipeline.
What can I learn from a cluster?
While grouping spectrum into clusters, we also take into account their original metadata, such as: peptide, modification and species.
For high quality cluster, we try to infer using statistical techniques the following information:
- Consensus spectrum
- Consensus peptide
- Species
- Modifications
For example, if there is a peptide of your interest, you can use our peptide search to identify whether this peptide has been seen before, in which species it likely to be seen, what are the pontential modifications.
What do the numbers mean for each cluster?
There are three key numbers that can help you to interrpret the cluster:
- Max ratio: The ratio between the largest number of spectra identify the same peptide and the total number of spectra within a cluster.
- Number of spectra: The number of spectra within a cluster.
- Number of projects: The number of original projects from PRIDE Archive.
What is a high quality cluster?
We define high quality clusters using the following criteria:
- Max ratio >= 0.7: The ratio between the largest number of spectra identify the same peptide and the total number of spectra within a cluster. The ratio must be greater or equal to 0.7.
- Number of spectra >= 3: The number of spectra within a cluster must be greater or equal to 3.
These criterias are explained in details in the original publication
What is a consensus spectrum?
A derived spectrum from all the spectra within a cluster, this spectrum is theoretically better quality and representative of the identification.
What is a consensus peptide?
If the majority of the spectra within a cluster agrees on a particular peptide identification, we then infer that this peptide is the likely peptide identification given the existing data.
How often is PRIDE Cluster released?
We are planning to run clustering of the new data every six months, the release will follow immediately after we got the clustering results.


Function convertText
Convert iopipe of one text type into an iopipe for another type. Performs conversions at the code-point level. If specified, the resulting iopipe will ensure there is a BOM at the beginning of the iopipe. This is useful if writing to storage.
auto auto convertText(Char, bool ensureBOM = false, Chain)
(
Chain chain
)
if (isSomeChar!Char);
If no conversion is necessary, and no BOM is required, the original iopipe is returned.
Parameters
| Name | Description |
|---|---|
| Char | The desired character type in the resulting iopipe. Must be one of char, wchar, or dchar. |
| ensureBOM | If true, the resulting iopipe will ALWAYS have a byte order mark at the beginning of the stream. At the moment this is accomplished by copying all the data from the original iopipe to the new one. A better mechanism is being worked on. |
| chain | The source iopipe. |
Returns
An iopipe which fulfills the given requirements.


Page maintained by Ke-Sen Huang.
If you have additions or changes, send an e-mail.
Note that when possible I link to the page containing the link to the actual PDF or PS of the preprint.
I prefer this as it gives some context to the paper and avoids possible copyright problems with direct linking.
Thus you may need to search on the page to find the actual document.
Eurographics Digital Library: Computer Graphics Forum Volume 33 - Issue 2 (EG 2014 Proceedings)
Eurographics Digital Library Link for the paper
Paper Abstract
Author Preprint
Paper Video
Paper Presentation
Paper Images
Paper Data
Demo Program or Source Code
Related Links
Changelog
FP1: Geometry Acquisition, Reconstruction & Analysis
- Spatio-Temporal Geometry Fusion for Multiple Hybrid Cameras using Moving Least Squares Surfaces
-
Claudia Kuster,
Jean-Charles Bazin,
Cengiz Oztireli,
Teng Deng,
Tobias Martin,
Tiberiu Popa,
Markus Gross
- Object Detection and Classification from Large-Scale Cluttered Indoor Scans
-
Oliver Mattausch,
Daniele Panozzo,
Claudio Mura,
Olga Sorkine-Hornung,
Renato Pajarola
- Detection and Reconstruction of Freeform Sweeps
-
Michael Barton,
Helmut Pottmann,
Johannes Wallner
- Curve Style Analysis in a Set of Shapes
-
Honghua Li,
Hao Zhang,
Yanzhen Wang,
Junjie Cao,
Ariel Shamir,
Daniel Cohen-Or
FP2: Images I
- Coded Exposure HDR Light-Field Video Recording
-
David Schedl,
Clemens Birklbauer,
Oliver Bimber
- Panorama Light-Field Imaging
-
Clemens Birklbauer,
Oliver Bimber
- Manipulating Refractive and Reflective Binocular Disparity
-
Lukasz Dabala,
Petr Kellnhofer,
Tobias Ritschel,
Piotr Didyk,
Krzysztof Templin,
Karol Myszkowski,
Przemyslaw Rokita,
Hans-Peter Seidel
- Optimizing Stereo-to-Multiview Conversion for Autostereoscopic Displays
-
Alexandre Chapiro,
Simon Heinzle,
Tunc Ozan Aydin,
Steven Poulakos,
Matthias Zwicker,
Aljoscha Smolic,
Markus Gross
FP3: Procedural Modeling I
- Parallel Generation of Architecture on the GPU
-
Markus Steinberger,
Michael Kenzel,
Bernhard Kainz,
Joerg Mueller,
Peter Wonka,
Dieter Schmalstieg
- SAFE: Structure-aware Facade Editing
-
Minh Dang,
Duygu Ceylan,
Boris Neubert,
Mark Pauly
- Game Level Layout from Design Specification
-
Chongyang Ma,
Nicholas Vining,
Sylvain Lefebvre,
Alla Sheffer
- On-the-fly Generation and Rendering of Infinite Cities on the GPU
-
Markus Steinberger,
Michael Kenzel,
Bernhard Kainz,
Peter Wonka,
Dieter Schmalstieg
FP4: Shape Collections, Features
- Recurring Part Arrangements in Shape Collections
-
Youyi Zheng,
Daniel Cohen-Or,
Melinos Averkiou,
Niloy J. Mitra
- ShapeSynth: Parameterizing Model Collections for Coupled Shape Exploration and Synthesis
-
Melinos Averkiou,
Vladimir Kim,
Youyi Zheng,
Niloy J. Mitra
- 3D Timeline: Reverse Engineering of a Part-based Provenance from Consecutive 3D Models
-
Jozef Dobos,
Niloy J. Mitra,
Anthony Steed
- Sketch-To-Design: Context-Based Part Assembly
-
Xiaohua Xie,
Kai Xu,
Niloy J. Mitra,
Daniel Cohen-Or,
Wenyong Gong,
Qi Su,
Baoquan Chen
FP5: Surfaces I
- Compressing Dynamic Meshes with Geometric Laplacians
-
Libor Vasa,
Stefano Marras,
Kai Hormann,
Guido Brunnett
- Self-similarity for accurate compression of point sampled surfaces
-
Julie Digne,
Raphaelle Chaine,
Sebastien Valette
- SimSelect: similarity-based selection for 3D surfaces
-
Emilie Guy,
Jean-Marc Thiery,
Tamy Boubekeur
- Analogy-Driven 3D Style Transfer
-
Chongyang Ma,
Haibin Huang,
Alla Sheffer,
Evangelos Kalogerakis,
Rui Wang
FP6: Images II
- Light Montage for Perceptual Image Enhancement
-
Vlad Hosu,
Mai Lan Ha,
Terence Sim
- Perceptual Depth Compression for Stereo Applications
-
Dawid Pajak,
Robert Herzog,
Radoslaw Mantiuk,
Piotr Didyk,
Elmar Eisemann,
Karol Myszkowski,
Kari Pulli
- A Randomized Algorithm for Natural Object Colorization
-
Sou-Young Jin,
Ho-Jin Choi,
Yu-Wing Tai
- Laplacian colormaps: a framework for structure-preserving color transformations
-
Davide Eynard,
Artiom Kovnatsky,
Michael M. Bronstein
FP7: Animation I (Physically-Based)
- Feedback Control for Rotational Movements in Feature Space
-
Mazen Al Borno,
Eugene Fiume,
Aaron Hertzmann,
Martin de Lasa
- Efficient Enforcement of Hard Articulation Constraints in the Presence of Closed Loops and Contacts
-
Robin Tomcin,
Dominik Sibbing,
Leif Kobbelt
- On-line Real-time Physics-based Predictive Motion Control with Balance Recovery
-
Daseong Han,
Junyong Noh,
Xiaogang Jin,
Joseph S. Shin
- IISPH-FLIP for Incompressible Fluids
-
Jens Cornelis,
Markus Ihmsen,
Andreas Peer,
Matthias Teschner
FP8: Surfaces II
- Non-oriented MLS Gradient Fields
-
Jiazhou Chen,
Gael Guennebaud,
Pascal Barla,
Xavier Granier
- SCALe-invariant Integral Surfaces
-
Cedric Zanni,
Adrien Bernhardt,
Maxime Quiblier,
Marie-Paule Cani
- Efficient Nonlinear Optimization via Multiscale Gradient Filtering
-
Tobias Martin,
Pushkar Joshi,
Miklos Bergou,
Nathan Carr
- Crack-free rendering of dynamically tesselated B-Rep models
-
Frederic Claux,
Loic Barthe,
David Vanderhaeghe,
Jean-Pierre Jessel,
Mathias Paulin
FP9: Animation II (Motion Data Processing)
- Interactive Motion Mapping for Real-time Character Control
-
Helge Rhodin,
Kwang In Kim,
James Tompkin,
Kiran Varanasi,
Hans-Peter Seidel,
Christian Theobalt
- Rate-distortion Optimized Compression of Motion Capture Data
-
Libor Vasa,
Guido Brunnett
- Pose Partitioning for Multi-resolution Segmentation of Arbitrary Mesh Animations
-
Andreas Vasilakis,
Ioannis Fudos
- Parameter Estimation and Comparative Evaluation of Crowd Simulations
-
David Wolinski,
Stephen Guy,
Anne-Helene Olivier,
Ming Lin,
Dinesh Manocha,
Julien Pettre
FP10: Rendering
- Optimizing BRDF orientations for the Manipulation of Anisotropic Highlights
-
Boris Raymond,
Gael Guennebaud,
Pascal Barla,
Romain Pacanowski,
Xavier Granier
- Efficient Monte Carlo rendering with realistic lenses
-
Johannes Hanika,
Carsten Dachsbacher
- Interactive Cloth Rendering of Microcylinder Appearance Model under Environment Lighting
-
Kei Iwasaki,
Kazutaka Mizutani,
Yoshinori Dobashi,
Tomoyuki Nishita
- Adaptive Texture Space Shading for Stochastic Rendering
-
Magnus Andersson,
Jon Hasselgren,
Robert Toth,
Tomas Akenine-Moller
FP11: Procedural Modeling II
- Customizable LoD for Procedural Architecture
-
Gonzalo Besuievsky,
Gustavo Patow
- Crowd Sculpting: A space-time sculpting method for populating virtual environments
-
Kevin Jordao,
Julien Pettre,
Marc Christie,
Marie-Paule Cani
- Thumbnail Galleries for Procedural Models
-
Stefan Lienhard,
Matthias Specht,
Boris Neubert,
Mark Pauly,
Pascal Muller
- Scalable Symmetry Detection for Urban Scenes
-
Jens Kerber,
Martin Bokeloh,
Michael Wand,
Hans-Peter Seidel
FP12: Images III
- 4D Video Textures for Interactive Character Appearance
-
Dan Casas,
Marco Volino,
John Collomosse,
Adrian Hilton
- Temporally Coherent and Spatially Accurate Video Matting
-
Ehsan Shahrian,
Brian Price,
Scott Cohen,
Deepu Rajan
- Art-Photographic Detail Enhancement
-
Minjung Son,
Yunjin Lee,
Henry Kang,
Seungyong Lee
- Content-Aware Surface Parameterization for Interactive Restoration of Historical Documents
-
Kazim Pal,
Christian Schuller,
Daniele Panozzo,
Olga Sorkine-Hornung,
Tim Weyrich
FP13: Animation III
- Designing Large-Scale Interactive Traffic Animations for Urban Modeling
-
Ignacio Garcia-Dorado,
Daniel G. Aliaga,
Satish V. Ukkusuri
- Accurate and Efficient Lighting for Skinned Models
-
Marco Tarini,
Daniele Panozzo,
Olga Sorkine-Hornung
- Deformation with enforced metrics on length, area and volume
-
Shuo Jin, Yunbo Zhang,
Charlie C.L. Wang
- Efficient GPU Data Structures and Methods to Solve Sparse Linear Systems in Dynamics Applications
-
Daniel Weber,
Jan Bender,
Markus Schnoes,
Andre Stork,
Dieter Fellner
FP14: Men and Nature
- Simulation of Morphology Changes in Drying Leaves
-
SoHyeon Jeong,
Si-Hyung Park,
Chang-Hun Kim
- Flower Reconstruction from a Single Photo
-
Feilong Yan,
Minglun Gong,
Daniel Cohen-Or,
Oliver Deussen,
Baoquan Chen
- Automatic Generation of Tourist Brochures
-
Michael Birsak,
Przemyslaw Musialski,
Peter Wonka,
Michael Wimmer
- ExploreMaps: Efficient Construction and Ubiquitous Exploration of Panoramic View Graphs of Complex 3D Environments
-
Marco Di Benedetto,
Fabio Ganovelli,
Marcos Balsa Rodriguez,
Alberto Jaspe Villanueva,
Roberto Scopigno,
Enrico Gobbetti
FP15: Cutting and Printing
- Clean color: Improving multi-filament 3D prints
-
Jean Hergel,
Sylvain Lefebvre
- Dual-Color Mixing for Fused Deposition Modeling Printers
-
Tim Reiner,
Nathan Carr,
Radomir Mech,
Ondrej Stava,
Carsten Dachsbacher,
Gavin Miller
- Multi-style Paper Pop-up Designs from 3D Models
-
Conrado R. Ruiz Jr.,
Sang N. Le,
Jinze Yu,
Kok-Lim Low
FP16: Visualization
- Pathline Glyphs
-
Marcel Hlawatsch,
Filip Sadlo,
Hajun Jang,
Daniel Weiskopf
- Hierarchical Opacity Optimization for Sets of 3D Line Fields
-
Tobias Gunther,
Christian Rossl,
Holger Theisel
- Fast insertion-Based Optimization of Bounding Volume Hierarchies
-
Jiri Bittner,
Michal Hapala,
Vlastimil Havran
Short Papers
- Combining Inertial Navigation and ICP for Real-time 3D Surface Reconstruction
-
Matthias Niessner,
Angela Dai,
Matthew Fisher
-
-
,
,
,
kesen.huang@gmail.com


Based on Tidy Tabs for Sublime Text by Brad Daily
Ever get to the end (middle?) of a day of coding only to find your window littered with tabs that are nearly impossible to search through visually? Find yourself rage-quitting all your tabs in disgust and starting over? No? Just me? Ok.
Tidy Tabs is a Visual Studio extension that keeps your document well organized by closing document tabs you are no longer using.
Install from the Visual Studio Gallery
Close unused tabs with Tidy Tabs using the keyboard shortcut CTRL + ALT + ESC at any time.
By default Tidy Tabs will also close unused tabs whenever you save a document.
Tidy Tabs will never close the active document or any pinned tabs.
The following default settings can be modified by opening Tools -> Options -> Tidy Tabs in Visual Studio:
Close on Save (default: true)
If you only want Tidy Tabs to run when triggered with the keyboard shortcut set this to false.
Timeout Minutes (default: 10 minutes)
Once a tab has not be viewed for this length of time Tidy Tabs will close it next time it is run. Tab timeouts are paused when you are outside of Visual Studio and resume when it becomes the active application.
Open Tab Threshold (default: 0)
If this value is greater than 0 then Tidy Tabs will only attempt to close tabs when the number of open windows exceeds this value.
Maximum Open Tabs (default: 0)
If this value is greater than 0 then Tidy Tabs will close the oldest tabs until the number of open tabs is equal to this value. The oldest tabs will be closed even if they have not exceeded the timeout value.


Restaurants
Some top SF restaurants
- State Bird Provisions
- French Laundry
- The House
- Swan Oyster Depot
- House of Prime Rib
Desserts
To satisfy that sweet tooth
- Tartine Bakery
- Mr. Holmes Bakehouse
- Bob's Donuts
Landmarks
Places to go
- Alcatraz
- Dolores Park
- Angel Island
Hikes
One of the most scenic cities in the world
- Big Sur
- Yosemite National Park
- Lands End


[DSCTF 2019] CPU Adventure – Unknown CPU Reversing or: reverse-engineering a custom, unknown CPU from a single programtl;dr: We reverse-engineered a program written for a completely custom, unknown CPU architecture, without any documentation for th…
Breaking change proposal: StringInfo and TextElementEnumerator to support extended grapheme clusters · Issue #30955 · dotnet/runtime Proposal The StringInfo class (see MSDN docs) and TextElementEnumerator class provide APIs to get information about single display characters (sometimes called "graphemes") in a string. T...
.NET Community Standups | Streaming live each week These weekly live shows, hosted by the .NET team, are casual sessions full of community content, demos, Q&A, and discussions around what's happening in .NET.
novotnyllc/NuGetKeyVaultSignTool Contribute to novotnyllc/NuGetKeyVaultSignTool development by creating an account on GitHub.
Telerik UI for Blazor Scatter, Scatter Line, Bubble Charts Telerik UI for Blazor 2.1.0 – ASP.NET Core 3.0 Compatibility, Scatter, Scatter Line and Bubble Charts!
Signature help in collection inializers · Issue #38850 · dotnet/roslyn Collection initializers are just a syntactic sugar for calling an Add() method. When calling the Add() method explicitly, I get signature help: However, when using the collection initializer syntax...
ML.NET | Channel 9 Welcome to Machine Learning with ML.NET! In this introductory video series we will introduce the concept of Machine Learning, what you can do with various tooling, and how to get started with ML.NET!
El Camino: A Breaking Bad Movie | Official Trailer | Netflix Picking up moments after the series finale of Breaking Bad ends, Aaron Paul is back as Jesse Pinkman in El Camino: A Breaking Bad Movie, directed by Vince Gilligan, on Netflix October 11. For limited theatrical event, visit www.elcamino-movie.com for sho...
'System' not found after update to dotnet core 3.0 · Issue #3290 · OmniSharp/omnisharp-vscode Issue Description Steps to Reproduce Updated to dotnet core 3.0 following instructions here Created new project with dotnet new console Run dotnet build (0 errors and 0 warnings) Opened Program.cs ...
microsoft/FrozenObjects FrozenObjects serializer and deserializer. Contribute to microsoft/FrozenObjects development by creating an account on GitHub.
We Need a Carbon Tax, Now, That Goes Up Over Time If we tax fossil fuels – making them more expensive – then the awesome power and creativity of the free market will create diverse alternatives and efficiencies with minimal additional …
.NET Application Architecture Guides Free e-books and practical advice for developing for web, desktop, mobile, and microservices with Docker. Learn how to migrate existing .NET apps to the cloud.
dotnet-foundation/project-maturity-model Proposal/RFC for new .NET library development model. - dotnet-foundation/project-maturity-model
terrajobst/api-review-list Contribute to terrajobst/api-review-list development by creating an account on GitHub.
.NET Core 3.0 -- Post Launch Blog Posts .NET Core 3.0 -- Post Launch Blog Posts. GitHub Gist: instantly share code, notes, and snippets.
National Punctuation Day National Punctuation Day, September 24, celebrates the importance of proper punctuation.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.cmu.sphinx.util.LogMath
Provides a set of methods for performing simple math in the log domain. The
logarithmic base can be set by the SphinxProperty:
edu.cmu.sphinx.util.LogMath.logBase
| Field Summary | |
static java.lang.String |
PROP_LOG_BASE
Sphinx property to get the Log base |
static float |
PROP_LOG_BASE_DEFAULT
Default value for the Log base |
static java.lang.String |
PROP_USE_ADD_TABLE
Sphinx property that controls whether we use the old, slow (but correct) method of performing the LogMath.add by doing the actual computation. |
static boolean |
PROP_USE_ADD_TABLE_DEFAULT
Default value for whether we use the old, slow (but correct) method of performing the LogMath.add by doing the actual computation. |
| Constructor Summary | |
LogMath()
|
| Method Summary | |
float |
addAsLinear(float logVal1,
float logVal2)
Returns the summation of two numbers when the arguments and the result are in log. |
float |
getLogBase()
Returns the actual log base. |
static float |
getLogOne()
Returns the one value in the log domain |
static float |
getLogZero()
Returns the zero value in the log domain |
java.lang.String |
getName()
Retrieves the name for this configurable component |
float |
linearToLog(double linearValue)
Converts the value from linear scale to log scale. |
float |
lnToLog(float logSource)
Converts the source, which is a number in base Math.E, to a log value which base is the LogBase of this LogMath. |
static float |
log10(float value)
Returns the log (base 10) of value |
float |
log10ToLog(float logSource)
Converts the source, which is a number in base 10, to a log value which base is the LogBase of this LogMath. |
double |
logToLinear(float logValue)
Converts the value from log scale to linear scale. |
float |
logToLn(float logSource)
Converts the source, whose base is the LogBase of this LogMath, to a log value which is a number in base Math.E. |
static float |
logToLog(float logSource,
float sourceBase,
float resultBase)
Converts the source, which is assumed to be a log value whose base is sourceBase, to a log value whose base is resultBase. |
void |
newProperties(PropertySheet ps)
This method is called when this configurable component has new data. |
void |
register(java.lang.String name,
Registry registry)
Register my properties. |
float |
subtractAsLinear(float logMinuend,
float logSubtrahend)
Returns the difference between two numbers when the arguments and the result are in log. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final java.lang.String PROP_LOG_BASE
public static final float PROP_LOG_BASE_DEFAULT
public static final java.lang.String PROP_USE_ADD_TABLE
public static final boolean PROP_USE_ADD_TABLE_DEFAULT
| Constructor Detail |
public LogMath()
| Method Detail |
public void register(java.lang.String name, Registry registry) throws PropertyException
Configurable
register
in interface Configurable
name
- the name of the componentregistry
- the registry for this component
PropertyException
public void newProperties(PropertySheet ps) throws PropertyException
Configurable
newProperties
in interface Configurable
ps
- a property sheet holding the new data
PropertyException
- if there is a problem with the properties.public java.lang.String getName()
Configurable
getName
in interface Configurable
public final float addAsLinear(float logVal1, float logVal2)
That is, it returns log(a + b) given log(a) and log(b)
This method makes use of the equality:
log(a + b) = log(a) + log (1 + exp(log(b) - log(a)))
which is derived from:
a + b = a * (1 + (b / a))
which in turns makes use of:
b / a = exp (log(b) - log(a))
Important to notice that subtractAsLinear(a, b)
is *not*
the same as addAsLinear(a, -b)
, since we're in the log
domain, and -b is in fact the inverse.
No underflow/overflow check is performed.
logVal1
- value in log domain (i.e. log(val1)) to addlogVal2
- value in log domain (i.e. log(val2)) to add
public final float subtractAsLinear(float logMinuend, float logSubtrahend) throws java.lang.IllegalArgumentException
That is, it returns log(a - b) given log(a) and log(b)
Implementation is less efficient than add(), since we're less likely to use this function, provided for completeness. Notice however that the result only makes sense if the minuend is higher than the subtrahend. Otherwise, we should return the log of a negative number.
It implements the subtraction as:
log(a - b) = log(a) + log(1 - exp(log(b) - log(a)))
No need to check for underflow/overflow.
logMinuend
- value in log domain (i.e. log(minuend)) to be subtracted
fromlogSubtrahend
- value in log domain (i.e. log(subtrahend)) that is being
subtracted
java.lang.IllegalArgumentException
- This is a very slow way to do this, but this method should rarely be used.
public static float logToLog(float logSource, float sourceBase, float resultBase) throws java.lang.IllegalArgumentException
It takes advantage of the relation:
log_a(b) = log_c(b) / lob_c(a)
or:
log_a(b) = log_c(b) * lob_a(c)
where log_a(b) is logarithm of b base a etc.
logSource
- log value whose base is sourceBasesourceBase
- the base of the log the sourceresultBase
- the base to convert the source log to
java.lang.IllegalArgumentException
public final float lnToLog(float logSource)
logSource
- the number in base Math.E to convertpublic final float log10ToLog(float logSource)
logSource
- the number in base Math.E to convertpublic final float logToLn(float logSource)
logSource
- the number to convert to base Math.Epublic final float linearToLog(double linearValue) throws java.lang.IllegalArgumentException
linearValue
- the value to be converted to log scale
java.lang.IllegalArgumentException
public final double logToLinear(float logValue)
logValue
- the value to be converted to the linear scale
public static final float getLogZero()
public static final float getLogOne()
public final float getLogBase()
public static float log10(float value)
value
- the value to take the log of
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Lexington Patriot Day 5 mile
Lexington MA/USA
Website: lexingtonlions.clubwizard.com/5MileRoadRace.cfm
Race Winners
(100 runnings)
32:53 33:32 34:39 30:10 29:22 16 Apr 2007
28:17
31:30
17 Apr 2006
25:16
28:18
18 Apr 2005
26:22
29:21
19 Apr 2004
26:24
29:26
21 Apr 2003
26:44
32:19
15 Apr 2002
24:30
27:43
16 Apr 2001
25:36
29:15
17 Apr 2000
25:58
31:03
19 Apr
1999
25:21
30:47
20 Apr
1998
24:41
29:50
21 Apr
1997
25:12
31:26
15 Apr
1996
25:34
28:26
17 Apr 1995
n/a
---
18 Apr
1994
n/a
---
19 Apr
1993
n/a
---
20 Apr
1992
n/a
---
15 Apr
1991
n/a
---
16 Apr
1990
n/a
---
17 Apr
1989
n/a
---
18 Apr
1988
n/a
---
20 Apr
1987
n/a
---
21 Apr
1986
n/a
---
15 Apr
1985
n/a
---
16 Apr
1984
---
---
18 Apr
1983
n/a
---
19 Apr
1982
n/a
---
20 Apr
1981
n/a
---
21 Apr
1980
n/a
---
16 Apr
1979
n/a
---
17 Apr
1978
n/a
---
18 Apr
1977
---
---
19 Apr
1976
---
---
21 Apr
1975
n/a
---
15 Apr
1974
---
---
16 Apr
1973
23:56
---
17 Apr
1972
n/a
19 Apr
1971
n/a
20 Apr
1970
n/a
21 Apr
1969
n/a
19 Apr
1968
n/a
19 Apr
1967
---
19 Apr
1966
26:41
19 Apr
1965
n/a
20 Apr
1964
---
19 Apr
1963
n/a
19 Apr
1962
n/a
19 Apr
1961
n/a
19 Apr
1960
n/a
20 Apr
1959
n/a
19 Apr
1958
---
20 Apr
1957
---
19 Apr
1956
---
19 Apr
1955
n/a
19 Apr
1954
n/a
20 Apr
1953
n/a
19 Apr
1952
n/a
19 Apr
1951
n/a
19 Apr
1950
---
19 Apr
1949
n/a
19 Apr
1948
n/a
19 Apr
1947
n/a
20 Apr
1946
---
19 Apr
1945
---
19 Apr
1944
---
18 Apr
1943
---
19 Apr
1942
---
19 Apr
1941
n/a
19 Apr
1940
n/a
19 Apr
1939
n/a
19 Apr
1938
---
19 Apr
1937
---
20 Apr
1936
---
19 Apr
1935
---
19 Apr
1934
---
19 Apr
1933
n/a
19 Apr
1932
n/a
20 Apr
1931
---
19 Apr
1930
---
19 Apr
1929
n/a
19 Apr
1928
n/a
19 Apr
1927
n/a
19 Apr
1926
n/a
20 Apr
1925
---
19 Apr
1924
---
19 Apr
1923
n/a
19 Apr
1922
n/a
19 Apr
1921
n/a
19 Apr
1920
n/a
19 Apr
1919
n/a
19 Apr
1918
---
19 Apr
1917
n/a
19 Apr
1916
n/a
19 Apr
1915
n/a
20 Apr
1914
n/a
Notes: 1914 was the inaugural year. The race distance in 1966 was reported as 5.5 miles (8.8 km).
21 Apr
2014
26:45
Benjamin Jacobson (MA/USA)
30:38
Kathryn Hatch (MA/USA)
15 Apr
2013
26:46
Eric Sofen (WA/USA)
32:05
Heather Cirka (MA/USA)
16 Apr
2012
26:55
Eric Blake (CT/USA)
Lizbiz Porter (MA/.USA)
18 Apr
2011
25:33
Paul Morris-2
Cathy Pearce (MA/USA)
19 Apr
2010
25:03
Paul Morris (MA/USA)
Justine Cefalu (NY/USA)
20 Apr
2009
26:06
Kevin Rock Gray (MA/USA)
Jody Dushay-2
21 Apr
2008
25:18
Benjamin Ndaya (KEN)
Maria Varela (MA/USA)
Stephen Morris (MA/USA)
Jody Dushay (MA/USA)
John Korhonen
Zika Palmer (NC/USA)
Andy McCarron-2
Jennifer Rapaport (MA/USA)
Andy McCarron
Terri Anne
(McGettric) Arpin (MA/USA)
Ben Nephew
Amy May
Ted Fitzpatrick (MA/USA)
Natasha Roeter
Robert Winn (ME/USA)
Karen Smyers (MA/USA)
Will Ronco
Sue Kiley
Larry Sayers (VT/USA)
Marielle Yost
Chris Teague (GBR)
Dara Zall
Paul Hammond (MA/USA)
Sandy Lovejoy (MA/USA)
Robert O'Hara
Marty Geissler (MA/USA)
Bill Solimine
n/a
Dan Stetanisko
n/a
Dermot Fitzpatrick-2
n/a
Brad Hurst
n/a
John Raach
n/a
John Goodwin
n/a
Dermot Fitzpatrick
n/a
Cedric Smith
n/a
Bob Bradford
n/a
Stephen Desisto
n/a
Ed McCarthy
n/a
n/a
n/a
Jay Legre
n/a
Don Ricciato
n/a
Henry Phelan
n/a
Steve Hunt
n/a
Steve Lavorgna
n/a
Fred Doyle
n/a
n/a
n/a
n/a
n/a
Hamilton Amer
n/a
John Goodwin
n/a
Dan Moynihan (MA/USA)
n/a
James Capezzuto
Arthur Dulong
Manuel Slate
Charles Lange
Paul Hoss
n/a
Edmund Norris (MA/USA)
Greg Kent
n/a
Raymond Crothers
(MA/USA)
Robert Vinton
Anthony Sapienza
Russ Bennet
Bill Squires
n/a
n/a
n/a
Ed Shea
Fred Schoeffier-2
Richard Ollen
Fred Schoeffier
Al Roberts
n/a
John Kauppinen
Dick Carmichael
Frank Darrah
n/a
n/a
n/a
n/a
n/a
James O'Leary
Richard Cleveland
Mike Prohodsky
n/a
n/a
n/a
n/a
n/a
Dick Yerepud
Evan Etnecul
n/a
n/a
Winfield Ricker
Vincent Carroll
Albert MacDonald
Joseph Murphy
n/a
n/a
Leonard Short
James E Durkin-3
James E Durkin-2
James E Durkin
Dominick Modono
probably not held
John Lynch
Raymond Moore
Carl Page
Ralph Curner
Most Wins
(1914/date)
Men
3
James E Durkin
1920-22
Women
2
Jody Dushay (MA/USA)
2007,2009
Prize Money
(ADR qualified runners)
No information on prize money has been received for this race.
Race Time Bias
(sec/km)
Insufficient data to calculate the race time bias.
Competitive Level
(1990-date)
Insufficient data to calculate the competitive level.
Quality Performances
Men No men under 23:40 Women No men under 27:20
Last Updated on 28 Nov 2014
Contributors: Klaas Loonstra (50), Jack Leydig (1), Juraj Gasparovic (36)


5 things to pursue to achieve career growth in the corporate arena
Whenever you land on any new job either as a fresher or an experienced professional, your immediate concern is how to succeed here. Even when there is an internal project switch or a department switch, you come across a similar situation when you are a little apprehensive about how to achieve success in this new assignment, you get into. While that is normal given the kind of competitive world we live in, it becomes imperative for everyone to step up and deliver consistently to achieve career advancement and recognition which we all yearn for. I have outlined a few of the techniques/strategies that one needs to follow to gain immediate momentum in any new job or role you transition yourself to:
Have a holistic view: Organizations, these days, require you to have an open mindset and a willingness to transcend beyond your role. While it is important to be adept in your specialized/functional role and have a keen eye on the nuances that your role offers, the expectation today is also to go beyond your specialization and have a holistic view to get an understanding of the end-to-end project lifecycle and the value your project brings to the organization and its customers. Having this mindset will not only help you build that meaningful experience but will also set you up in good stead to climb the corporate ladder.
Learn from seniors: To attain an upward trend in your career progression, you would always need the right advice throughout your career path. Learning from others’ mistakes especially from the ones who have managed a similar role or handled a similar situation before you, will give you that extra mileage in getting things right almost for the first time. Even in taking an appropriate career choice/decision, their advice plays a significant role which will help you in maximizing the probability of long-term career success. Given they are distinctly ahead of you in the career curve, they provide a different view of your career than you have.
 You need to be fluid, dynamic, and adaptive when it comes to changing your mindset and your working style. You also need to be communicating and networking at all levels to stay updated and remain ahead of your growth curve.
Be Productive: Organizations count on you to deliver results at the time when matters the most. While you may spend considerable time building your foundation to become a long-term player, it is equally important that your work helps an organization realize its goals/objectives. Hence, learning the art of managing your time and improving your productivity plays a huge role in one’s career growth. There are a lot of productivity tips one can learn, like prioritizing the work, applying the 80-20 rule, taking up highly-intensive tasks in your peak hours (when you’re at your best), etc. Learning them and applying them early in your career will help steer your growth and boost your productivity.
Reflection/Retrospective: Inculcating the habit of reflecting on your performance every time you carry out a task or a project goes a long way in building your experience. You should be constantly asking the question “What I could have done better?” in order for you to build an honest feedback model and learn from your past mistakes and come up with potential improvements. This constant reflection will help you drive your personal growth and better respond to similar situations in the future.
These are a few strategies/mindsets you can adopt and apply to your work life immediately. It is important to start by gaining smaller wins in your career which, in turn, will help you gain confidence and build momentum for you to achieve long-term career success.
Thanks a lot for reading and feel free to comment.


This function returns a git log in a tabular format.
parse_log_detailed(path = ".", update_dump = TRUE) parse_log_detailed_full_run(path = ".", na_to_zero = TRUE, file_name = NULL, commit_range = NULL)
| path | The path to the git directory one wants to create summaries for. |
|---|---|
| update_dump | Whether or not to update the dump in .gitsum after parsing. |
| na_to_zero | Whether some |
| file_name | The path to a raw log. If |
| commit_range | A string of the form "hash1..hash2" indicating the commit
range to parse. |
A parsed git log as a nested tibble. Each line corresponds to a commit. The unnested column names are: short_hash, author_name, date, short_message, hash, left_parent, right_parent, author_email, weekday, month, monthday, time, year, timezone, message, description, total_files_changed, total_insertions, total_deletions, short_description, is_merge The nested columns contain more information on each commit. The column names are: changed_file, edits, insertions, deletions.
Note that for merge commmits, the following columns are NA
if
the option na_to_zero
is set to FALSE
.:
total_files_changed, total_insertions, total_deletions, changed_file,
edits, deletions, insertions.
Note that for binary files, the following columns are 0: edits, deletions, insertions.
parse_log_detailed_full_run
: In contrast to parse_log_detailed, this function
does not read any history from the .gitum directory.
The number of edits, insertions, and deletions (on a file level) are based
on git log --stat
and the number of +
and -
in this log. The number
of +
and -
may not sum up to the edits indicated as a scalar after "|"
in git log --stat
for commits with very many changed lines since for those, the +
and -
only indicate the relative share of insertions and edits. Therefore,
parse_log_detailed_full_run()
normalizes the insertions and deletions and rounds
these after the normalization to achieve more consistent results. However,
there is no guarantee that these numbers are always exact. The column
is_exact indicates for each changed file within a commit whether the result
is exact (which is the case if the normalizing constant was one).
See parse_log_simple for a fast alternative with less information.


It was 1994 23 year old Marc Andreessen @pmarca is interviewed in this rare video about a new company called Netscape.
He predicted that a simpler way to access information using a browser would bring just about everyone to the internet.
It sounded absurd.
He was right....


Home
Student Ragistration Form
First Name
Last Name
Gender
Male:
Female:
Date of Birth
Father Name
Email
Website
Qualification
10th:
12th:
Graduation:
Father Name
Address1
Address2
Cuntry
---select Your cuntry---
India
Pakistan
Australia
America
Chaina
Brazil
West Indies
New York
Zimbabo
Mobile no. :
+91
+92
+93
+94
+95
Message


SMART SENSE SPRING MINT- eucalyptol, menthol, methyl salicylate and thymol liquid
KMART CORPORATION
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
ACTIVE INGREDIENT
EUCALYPTOL 0.092%, MENTHOL 0.042%, METHYL SALICYLATE 0.060%, THYMOL 0.064%
PURPOSE
ANTIPLAQUE/ANTIGINGIVITIS
USES
TO HELP REDUCE AND PREVENT PLAQUE AND GINGIVITIS.
WARNINGS
DO NOT USE FOR CHILDREN UNDER 12 YEARS OF AGE.

DIRECTIONS
RINSE FULL STRENGTH FOR 30 SECONDS WITH 20 ML (2/3 FLUID OUNCE OR 4 TEASPOONFULS) MORNING AND NIGHT. DO NOT SWALLOW.
OTHER INFORMATION
STORE AT ROOM TEMPERATURE. COLD WEATHER MAY CLOUD THIS PRODUCT. ITS ANTISEPTIC PROPERTIES ARE NOT AFFECTED.
INACTIVE INGREDIENTS:
WATER (AQUA), ALCOHOL (21.6%), SORBITOL SOLUTION, FLAVOR, POLOXAMER 407, BENZOIC ACID, SODIUM SACCHARIN, SODIUM BENZOATE, YELLOW 10 (CI 47005), GREEN 3 (CI 42053).
QUESTIONS OR COMMENTS?
1-800-842-7886
LABEL COPY