Blockchain is an incorruptible real-time ledger of economics that can be encoded to record not just the history of financial transactions but nearly everything of value. All the data in the blockchain exists as a shared and continuously reconciled database. No one person or organization is in charge of the entire chain. This blockchain is hosted by millions of processors simultaneously, and its data is available to anyone with access to the internet. This technology allows the running of global business transactions with more trust and less friction between the vendor and purchaser. The technology was first implemented in 2009 and later revolutionized with Blockchain 2.1 in 2014. Blockchain technology is comprised of blocks that hold batches of time-stamped and encrypted transactions. The only person that can edit a block is the owner who gains access to it through a private key. Once the owner makes any changes on their block, every other distributed blockchain is automatically updated and synced in real time. Blockchain also offers the option of creating a fraud-proof structure for transacting exchanges. It has the potential for a variety of uses other than the digital currency sphere and is appealing to the interest of traditional financial institutions and other organizations. A good number of third world countries have applied blockchain based national currencies. This technology is also being used by some major charity schemes to help those lacking bank accounts.
A typical blockchain system consists of two types of records- transaction and blocks. Transactions are the actions carried out in a particular period and are stored together in a block. What makes blockchain unique is that each block contains a cryptographic hash that links them to the previous transactions creating a compact string of transactions. All participants can see the block and can verify or reject transactions using consensus algorithms. All the approved data is recorded into the ledger as part of a block and secured through cryptography. These chains are impossible to predict, which makes it easy to detect any tampering.
The blockchain technology promises to revolutionize finance and business. Here are some of the advantages of blockchain:


l
AMAZING PEOPLE ARE MAKING AMAZING DESIGNS IN AFUN ENVIRONMENT
When you work with us, you are part of committed collaborators. All aspects pf our software developement process are intergrated, interactiveand agile
Our approach unifies design, development and product management to create exceptional products.
We start each project by understanding your business goals, the user's needs and the product requirements
Then we help translate them into effective and elegant solution.
Before we sign a contract or write a line of code our team will spend the necessary time needed to understand your product vision
The outcome of this scoping session ia proposal or high-level statement of work.
based on your requirements, we can provide accomplete offering or just the pieces you need.
DESIGN
DEVELOPMENT
PRODUCT DEVELOPMENT>


At Get Invited we use gulp.js to automate a lot of our tasks and help us rapidly protoype concepts and ideas. Below are the various steps that David covered in his talk on the 13th November.


26 July 2001
Disease Outbreak Reported
As of 25 July 2001, the Ministry of Health of Chad reported a total of 608 cases including 20 deaths. The majority of cases have been in N'djamena district, with 22 cases and 2 deaths reported from newly affected areas: 17 cases in Massakory, 4 cases in Bongo and 1 case in Moundou.
WHO is working with the Ministry of Health and Médecins sans Frontières (MSF) to assist in responding to the outbreak. Control measures including strengthening surveillance, health education and improvement of public hygiene in food outlets. WHO have provided additional supplies.


This website contains information about the thesis "Cross-Domain Fault Diagnosis through Optimal Transport", done by Eduardo Fernandes Montesuma as a requirement for obtaining his Bachelor degree in Computer Engineering at Universidade Federal do Ceará, Fortaleza, Brazil.
Automatic fault diagnosis systems are an important component for fault tolerance in modern control loops. Nonetheless, the training of such diagnosis systems can be costly or even dangerous since faulty data need to be collected by driving the process to dangerous conditions. A possible solution to the said problem is training an automatic diagnosis system solely on simulation data. However, due to modeling errors, the data acquired may not reflect real process data. This is characterized by a change in the probability distributions upon which data is sampled. This problem is known in the literature as domain adaptation or cross-domain fault diagnosis in our context. Thus this work analyzes the cross-domain diagnosis problem through the point of view of optimal transport. We apply our methodology in a case study concerning the continuous stirred tank reactor (CSTR) system. Our contributions are three-fold:
In summary, we found that optimal transport-based domain adaptation is the best choice for solving the distributional shift problem. In addition, we further verified that an increasing degree of modeling error is correlated with an increase in the distance between source and target distributions. Furthermore, we found experimentally that the latter distance is correlated with a decrease in classification performance, confirming previous theoretical findings. Finally, the degree of modeling error can cause the transportation plan between source and target domain to transfer mass between different classes, harming classification performance.
We use the pipeline above for performing cross-domain fault diagnosis, which corresponds to unsupervised domain adaptation when data corresponds to the detection of faults in dynamical systems. The pipeline is composed by the following blocks,
If you find our work useful in your research, please consider citing it.
@thesis{montesuma2021,
author = {Eduardo Fernandes Montesuma},
title = {Cross-Domain Fault Diagnosis through Optimal Transport},
school = {Universidade Federal do Ceará},
year = 2021,
type = {Bachelor's Thesis}
}


fullPage.js callbacks allow you to create amazing dynamic sites with a bit of imagination. This example tries to reproduce the Apple iPhone-5c website animations as an example of what fullPage.js is capable of.
Amazing stuff
Combining fullPage.js with your own CSS styles and animations, you will be able to create something remarkable.
Just a demo
This is, of course, just a demo. I didn't want to spend much time on it.
Don't expect it to work perfectly in all kind of screens.
It has been designed to work on 1180px width or over on modern browsers with CSS3.


{% extends 'base.html' %} {% block title %}Home{% endblock %} {% block content %} {% if user.is_authenticated %}
InterIntel Technologies is an IT company based in Nairobi with an array of services ranging from software development, payment aggregations on mobile, web and applications, loyalty programs, premium rate service provision (IVR, SMS, USSD) among others. Our forte is around payment and financial systems, this covers different faucets from mobile channels (Mobile Apps, SMS, USSD), mobile money payments (MPESA, AirtelMoney), micro-finance/micro-lending institutions, remittance etc.
{% else %}Log In to continue
{% endif %} {% endblock %}


Index (r)
»
requirements
(
no frames
)
Features
Tags
Steps
Step Defs
Class List
Method List
File List
Cucumber
|
Gherkin
|
YARD
|
YARD-Cucumber
A
As a rest client I need to use URL parameters in order to send those parameters to a restful service.
(features/url_parameter.feature)
C
Create a basic rest client that can get, put, post, and delete
(features/rest_client.feature)
Create a basic rest client that can get, put, post, and delete
(features/print_response.feature)
Create a basic rest client that can get, put, post, and delete
(features/header_options.feature)
Tags
@authentication
,
@core
,
@delete
,
@extended
,
@get
,
@header
,
@header.S1
,
@header.S2
,
@header.S3
,
@header.S4
,
@headers
,
@parameter
,
@parameter.S1
,
@post
,
@print
,
@print.S1
,
@print.S2
,
@print.S3
,
@print.S4
,
@put
,
@rest.S1
,
@rest.S2
,
@rest.S3
,
@rest.S4
Step Definitions & Transforms
16
Step Definitions
0
Transforms
and 6
Undefined Steps


Did you know that...
Stool is the solid waste that is left after food is digested.
Stool forms in the intestines and passes out of the body through
the anus. The matter discharged at one movement of the bowels.
Also known as excrement, is a waste product from an animal's
digestive tract expelled through theanus or cloaca during a process
called defecation. Stool (feces) is most commonly brown in color,
and many people become curious or concerned when the color of their
stool changes. Most stool-to-stool changes in color have little meaning;
however, some changes, particularly if the changes are consistent from
stool-to-stool and not present in only one stool, can be important.
Kinds of stool
The colon reserves what remains of food after digestion in the small intestine. Mass peristalsis thrusts the feces down to the rectum for evacuation.


ReadCGI()
语法
Result = ReadCGI()概要
Reads the CGI request input. InitCGI() has to be called succesfully before trying to the read the CGI input.
参数
无.
返回值
Returns non-zero if the CGI request has been successfully read. If the request was to big or another error occured, zero is returned and the CGI program should be ended.
示例
If Not InitCGI() Or Not ReadCGI() End EndIf WriteCGIHeader(#PB_CGI_HeaderContentType, "text/html", #PB_CGI_LastHeader) ; Write the headers to inform the browser of the content format WriteCGIString("<title>PureBasic - variables</title>" + "Hello from PureBasic CGI !" + "")
参阅
InitCGI()
已支持操作系统
所有


As a nationally brokered FHIR® API, the GP Connect error handling approach defined below closely follows the approach of the Spine Core FHIR API Framework.
However, the guidance given below is the definitive error handling definition for the GP Connect API and thus the Spine Core error handling guidance should be viewed for context only.
Operation outcome usage
In the event of an error, provider systems SHALL respond by providing an OperationOutcome resource profiled to GPConnect-OperationOutcome-1.
The GPConnect-OperationOutcome-1
:
- SHALL contain a definition of severity in the
OperationOutcome.issue.severity
field providing a value from the valueset-issue-severity value set. In all cases described in this guidance, the value used will beerror
. - SHALL contain a definition of the type of error in the
OperationOutcome.issue.code
element, providing a value from the issue-type value set. - SHALL contain details of the
Spine error code
in theOperationOutcome.issue.details.coding.code
andOperationOutcome.issue.details.coding.display
fields. These shall be taken from the standard set of NHS Spine error codes as defined in the spine-error-or-warning-code-1 value set. The Spine error and warning codes provide a greater degree of error handling granularity, and also ensure a standardised error handling approach across NHS APIs. - SHOULD provide additional diagnostic details of the error in the
OperationOutcome.diagnostics
property where such details securely provide additional error context for consumer applications.
The sections below provide guidance on the error details to be returned in a number of key scenarios.
Identity validation errors
Provider systems SHALL respond by returning one of the following OperationOutcome
error codes where FHIR resource identity error scenarios are encountered:
| HTTP code | Issue type | Spine error code - code | Spine error code - display |
|---|---|---|---|
400 |
value | INVALID_IDENTIFIER_SYSTEM | Invalid identifier system |
400 |
value | INVALID_IDENTIFIER_VALUE | Invalid identifier value |
400 |
value | INVALID_NHS_NUMBER | NHS number invalid |
400 |
business-rule | INVALID_PATIENT_DEMOGRAPHICS | Invalid patient demographics (that is, PDS trace failed) |
404 |
not-found | ORGANISATION_NOT_FOUND | Organisation record not found |
404 |
not-found | PATIENT_NOT_FOUND | Patient record not found |
404 |
not-found | PRACTITIONER_NOT_FOUND | Practitioner record not found |
404 |
not-found | NO_RECORD_FOUND | No record found |
Example: Invalid NHS number supplied
If an invalid NHS number value is supplied to the $gpc.getcarerecord
operation, the following error details would be returned:
{
"resourceType": "OperationOutcome",
"meta": {
"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-OperationOutcome-1"]
},
"issue": [{
"severity": "error",
"code": "value",
"details": {
"coding": [{
"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
"code": "INVALID_NHS_NUMBER",
"display": "Invalid NHS number"
}]
}
}]
}
Example: Patient not found
For example, if a valid NHS number value is supplied to the $gpc.getcarerecord
operation but no GP record exists for that patient, then the following error details would be returned:
{
"resourceType": "OperationOutcome",
"meta": {
"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-OperationOutcome-1"]
},
"issue": [{
"severity": "error",
"code": "not-found",
"details": {
"coding": [{
"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
"code": "PATIENT_NOT_FOUND",
"display": "Patient not found"
}]
}
}]
}
Example: Resource not found
This is a catch-all where a request for a resource instance cannot be found at the FHIR server, where more specific Spine error codes (such as PATIENT_NOT_FOUND) cannot be used.
{
"resourceType": "OperationOutcome",
"issue": [{
"severity": "error",
"code": "not-found",
"details": {
"coding": [{
"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
"code": "NO_RECORD_FOUND",
"display": "No record found"
}]
}
}]
}
Security validation errors
When responding to consumer API requests, provider systems SHALL return one of the following OperationOutcome
details when enforcement of local consent rules result in an error condition:
| HTTP code | Issue type | Spine error code - code | Spine error code - display |
|---|---|---|---|
403 |
forbidden | NO_PATIENT_CONSENT | Patient has not provided consent to share data |
403 |
forbidden | NO_ORGANISATION_CONSENT | Organisation has not provided consent to share data |
403 |
forbidden | ACCESS_DENIED | Access denied |
Example: No patient consent to share
For example, if the patient has requested that their record should not be shared then the following error details would be returned:
{
"resourceType": "OperationOutcome",
"meta": {
"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-OperationOutcome-1"]
},
"issue": [{
"severity": "error",
"code": "forbidden",
"details": {
"coding": [{
"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
"code": "NO_PATIENT_CONSENT",
"display": "Patient has not provided consent to share data"
}]
}
}]
}
Duplicate errors
When responding to consumer API requests, provider systems SHALL return one of the following OperationOutcome
details when a resource could not be created or updated because it would cause a duplicate in the provider system:
| HTTP code | Issue type | Spine error code - code | Spine error code - display |
|---|---|---|---|
409 |
duplicate | DUPLICATE_REJECTED | Create would lead to creation of a duplicate resource |
Example: Attempting to register a patient that already exists
For example, if the consumer attempted to register a patient that already has an active record on the provider system the error details would be returned:
{
"resourceType": "OperationOutcome",
"meta": {
"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-OperationOutcome-1"]
},
"issue": [{
"severity": "error",
"code": "duplicate",
"details": {
"coding": [{
"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
"code": "DUPLICATE_REJECTED",
"display": "Create would lead to creation of duplicate resource"
}]
}
}]
}
Resource validation errors
Where FHIR resource validation issues arise during processing of consumer requests, provider systems SHALL utilise one the following error details:
| HTTP code | Issue type | Spine error code - code | Spine error code - display |
|---|---|---|---|
422 |
invalid | INVALID_RESOURCE | Submitted resource is not valid. |
422 |
invalid | INVALID_PARAMETER | Submitted parameter is not valid. |
422 |
invalid | REFERENCE_NOT_FOUND | Referenced resource not found. |
Detailed diagnostic information MUST be supplied when erroring on the codes above.
INVALID_PARAMETER would be used in the following, or similar, scenarios:
- Unexpected parameter value for a custom operation. For example, a lowercase value is supplied to the recordSection parameter of the $gpc.getcarerecord operation.
- An invalid date/time value specified in a custom operation parameter. For example, an invalid timePeriod defined in the timePeriod input parameter to the $gpc.getcarerecord operation.
INVALID_RESOURCE would be used in situations such as the following:
- Resource fails to validate against StructureDefinition (either in request body or in JSON Web Tokens (JWT) claim).
- A resource fails to be processed because of a FHIR constraint, or other rule application, where the error is not already covered by other error codes
REFERENCE_NOT_FOUND describes a scenario where a consumer POSTs a FHIR resource which contains a FHIR reference that cannot be found.
Example: Reference not found
For example, when using the ‘Book an appointment’ API use case, a consumer includes a reference to a slot which does not exist at the server. The following error details would be returned:
{
"resourceType": "OperationOutcome",
"meta": {
"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-OperationOutcome-1"]
},
"issue": [{
"severity": "error",
"code": "invalid",
"details": {
"coding": [{
"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
"code": "REFERENCE_NOT_FOUND",
"display": "FHIR reference not found"
}]
},
"diagnostics": "Reference to Slot/6 - no such slot exists at the server"
"location": "/f:Slot/f:6"
}]
}
Malformed request errors
When the server cannot or will not process a request due to an apparent client error then the following BAD_REQUEST
error SHALL be used to return debug details.
| HTTP code | Issue type | Spine error code - code | Spine error code - display |
|---|---|---|---|
400 |
invalid | BAD_REQUEST | Submitted request is malformed/invalid. |
BAD_REQUEST Spine error codes should be used in the following types of scenario:
- JWT claims information is not valid JSON, is null, or has an invalid value
- invalid FHIR resource in JWT claim (for example, patient resource when practitioner expected)
- malformed JSON or XML content in request body
- an expected header (for example,
interaction ID header
) is missing or invalid - invalid HTTP verb used (for example, using POST to read a patient)
- InteractionID header does not match request
Example: Malformed JSON claim in request
For example, if the request contained a null aud
claim in the JWT, then the following error details would be returned:
{
"resourceType": "OperationOutcome",
"meta": {
"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-OperationOutcome-1"]
},
"issue": [{
"severity": "error",
"code": "invalid",
"details": {
"coding": [{
"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
"code": "BAD_REQUEST",
"display": "Bad request"
}]
},
"diagnostics": "Empty JWT aud claim"
}]
}
Internal server errors
When the FHIR server has received a request for an operation or FHIR resource which is not (yet) implemented, then the NOT_IMPLEMENTED Spine error code SHALL be used.
| HTTP code | Issue type | Spine error code - code | Spine error code - display |
|---|---|---|---|
501 |
not-supported | NOT_IMPLEMENTED | FHIR resource or operation not implemented at server |
When the error is unexpected and the server can’t be more specific on the exact nature of the problem then the INTERNAL_SERVER_ERROR
Spine error code SHALL be used, and diagnostics SHALL be included to provide detail of the error.
| HTTP code | Issue type | Spine error code - code | Spine error code - display |
|---|---|---|---|
500 |
processing | INTERNAL_SERVER_ERROR | Unexpected internal server error. |
Example: Unexpected exception
For example, if an unexpected internal exception is thrown by either an Operation or RESTful API, then the following error details would be returned:
{
"resourceType": "OperationOutcome",
"meta": {
"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-OperationOutcome-1"]
},
"issue": [{
"severity": "error",
"code": "exception",
"details": {
"coding": [{
"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
"code": "INTERNAL_SERVER_ERROR",
"display": "Internal server error"
}]
},
"diagnostics": "Any further internal debug details i.e. stack trace details etc."
}]
}
Spine Secure Proxy (SSP) errors
When the Spine Secure Proxy cannot or will not process a request then one of the following errors SHALL be used to return debug details:
| HTTP code | Issue type | Description of error |
|---|---|---|
403 |
forbidden | The sender or receiver’s ASID is not authorised for this interaction. |
405 |
not-supported | Bad request for an unsupported HTTP verb such as TRACE. |
415 |
not-supported | A consumer application asked for an unsupported media type. |
502 |
transient | A downstream server is offline. |
504 |
transient | A downstream server timed out. |
SSP error example: ASID check failed
{
"resourceType": "OperationOutcome",
"issue": [{
"severity": "error",
"code": "forbidden",
"diagnostics": "Any further internal debug details i.e. stack trace details etc."
}]
}
SSP error example: method not allowed
{
"resourceType": "OperationOutcome",
"issue": [{
"severity": "error",
"code": "not-supported",
"diagnostics": "Any further internal debug details i.e. stack trace details etc."
}]
}
SSP error example: unsupported media type
{
"resourceType": "OperationOutcome",
"issue": [{
"severity": "error",
"code": "not-supported",
"diagnostics": "Any further internal debug details i.e. stack trace details etc."
}]
}
SSP error example: bad gateway
{
"resourceType": "OperationOutcome",
"issue": [{
"severity": "error",
"code": "transient",
"diagnostics": "Any further internal debug details i.e. stack trace details etc."
}]
}
SSP error example: gateway timeout
{
"resourceType": "OperationOutcome",
"issue": [{
"severity": "error",
"code": "transient",
"diagnostics": "Any further internal debug details i.e. stack trace details etc."
}]
}


Bangladesh: Many dead in train collision
by DWTwo trains have collided in eastern Bangladesh, leaving at least 15 dead and injuring dozens. Emergency personnel were on the scene to rescue passengers who were trapped in wreckage.
"So far, 15 bodies have been recovered," district official Hayat Ud Dowlah Khan said, warning that the death toll would likely rise.
"More than 40 injured people have been admitted in hospitals," he said.
"When I came out of the train, I saw dead bodies without heads, without legs, without hands," Mohammad Moslem, 50, who was among the
passengers told Reuters. "We were so close to death, but Allah saved us," he added.
Prime Minister Sheikh Hasina expressed shock and sorrow at the injuries and loss of lives, urging officials and the public to provide support for the victims.
Both trains on same track
The accident took place at around 3 a.m. local time (9 p.m. UTC) in Brahmanbaria, some 100 kilometers (60 miles) east of the capital, Dhaka, when a train headed for the capital crashed into another bound for the southern city of Chittagong, crumpling three compartments.
Most passengers were asleep when the crash occurred.
It remained unclear what caused the two trains to run on the same track. Authorities have launched a formal investigation.
"One of the trains might have broken the signal, leading to the tragedy," Shayamal Kanti Das, a police official, told reporters.
Firefighters, police, border guards and army officials were all at the scene to assist with the rescue operation.
Train accidents are a frequent occurrence in Bangladesh. Unsupervised railway crossings, poor signaling and poor track conditions have been some of the causes of previous accidents.


Data Science enthusiast
Independent thinker capable of questioning conventional wisdom and pushing boundaries, helping corporations overcome their business challenges.
Research and apply state-of-the-art Data Science techniques, including data inference, algorithmm development, and technology in order to solve analytically complex problems
Break down categories of business problems that can be handled by Machine learning and Statistical learning algorithms
Implement quantitative and statistical models in order to make effective investment decisions
Make use of BI Tools and Reporting systems to provide historical, current and predictive views of business operations, enhancing business decision making process.
- Degree classification: Distinction
- Specialization: Quantitative/Financial modeling and Investment management
- Ranked 1st in the Master program (Top student).
- Awarded Best Academic performance in Master of Investment and Financial Management.
- Awarded Student Prize for The best overall academic achievement by Head of Norwich Business School (University of East Anglia)
- Degree classification: First class honours
- Harvard Business Publishing (HBP) Financial Modelling Course (Issued 2016)
- Harvard Business Publishing (HBP) Finance Course (Issued 2016)
- DATA ANALYTICS: Descriptive and Predictive Analytics • Statistics and Machine Learning techniques • Data Visualization and Storytelling Dashboard
- QUANTITATIVE TECHNIQUES: Quantitative modeling and Monte Carlo methods for Simulation
- PROGRAMMING: Python, R, T-SQL, PostgreSQL, LegacySQL
- TOOLS: Google Data Studio, Power BI, Metabase • Google Bigquery, SQL Server, IBM DB2, MySQL, MongoDB • Google Colab, IBM Watson Studio • Git (GUI tools and basic Git Bash )
- MICROSOFT OFFICE: Microsoft Excel/Word/Powerpoint.
- COMMUNICATION: Vietnamese and English (fluently) • Verbal and written communication • Data interpretation
To be updated
1. Machine learning/statistical modeling:
- Build Credit scoring models to fasten loan and credit card approval processes of clients from finance and banking industry.
- Build Customer's affluence classification model to help clients with targeting and optimizing their marketing campaigns.
- Develop a new feature set that helped to improve the AUC of existing ML models by ~4% in average and make them more explicable.
2. Data mining:
- Employ frequent itemset algorithms to perform association rule mining and market basket analysis.
- Build analytical dashboards on request using BI tools and communicate findings to customers.
3. Design and implement estimation and hypothesis testing procedures.
4. Data as a Service (DaaS): served as a project manager.
11. Perform in-depth analyses and reports as required from multiple internal and external data sources (using Metabase, MSSQL Server and Python)
to identify anomalies then propose insightful recommendations for business improvements and risk management.
2. Monitor the data marts and data analytics platforms on an ongoing basis.
3. Take part in Data warehouse project: defining business requirements and building business dashboards on the new reporting system.
4. Achievements: Develop and maintain online/interactive dashboards for Agent Network division, Finance department using Google Data studio and Google BigQuery.
1. Conduct business studies on past, future and comparative performance to develop forecast models using statistical and quantitative techniques.
2. Develop and make comprehensive KPI plans and reports covering both financial and operational measures.
3. Provide management committee with accurate and timely regular bank-wide performance reports in regard to key financial and business indicators.
4. Achievements: Successfully develop and automate "Overdue debt collection analysis reports" of VPBank using MSSQL Server.
’’
You sinned by being average. You never stood out. You didn't study any more than you needed to get by. You did just the minimum of what was asked. You didn't try to learn new skills. You didn't try to improve your current skills, because you didn't have to. No wonder you were the first to be fired and are the last to be re-hired" (Stueben, 2018)


Hello, I am Cassidy Jensen. I am starting my senior year as a TAM major at CU Boulder and I work three different jobs at the school. My favorite job is as a student assistant for the space grant's mission to the moon: GLEE!
After taking Web as a TAM student, I have begun to focus in the subject of web development. Since then, I have worked as a Student Assistant Web Developer for CU Research and Support Office. I took Front End Development during my last semester and am currently taking Creative Web Development. It has become a partial focus for me as a student and I am interested in the potential applications outside of school. I have even researched a how to be a free lance web developer. A web project I have considered doing, but have not started, is creating an immersive web comic with one of my friends. It is still in the early brainstorming phase.
I am interested in learning a lot of the topics this class has previously covered. I am excited by the prospect of VR and AR using Aframe. Additionally, for my potential webcomic I believe Parallax Scrolling is a good skill that could be applied to a variety of things. Finally, I thought the work with sprite sheets and animating sounded really interesting. If it is possible to find a new method for doing it, that would be fantastic.


Rainwater harvesting and watershed management project
DATE : 1 May
EVENT : Rainwater harvesting and watershed management Project
ORGANIZATION: Paani Foundation
The world is heating up. Red alert is being sounded in most of the parts of India. Rural areas of Maharashtra have been facing droughts. For decades, drought has severely affected thousands of villages in the state. It is a crisis largely caused by humans- by poor management of water and rapid destruction of nature.
Hence, on Maharashtra Day, i.e. May 1st, V@rSITy Care joined the Maharashramdaan, a rainwater harvesting and watershed management project arranged by the Paani Foundation, to make Maharashtra drought free. This foundation is an NGO set up by the team of Satyamev Jayate with the mission of making Maharashtra drought-free and prosperous. Garade, village near Saswad, about 60km from Pune, took part in this.
The students of SIT signed up to volunteer for this noble initiative and participated in Mahashramdaan. The volunteers were taken on a tour in the village to show the different water conservation techniques which they have taken up. The village firstly made sure that everyone is united for the sake of the basic requirement, water, cutting across all socio-economic barriers. They, then underwent training on rainwater harvesting by Paani Foundation and started working. All the reservoirs and canals were desilted and their depth was increased. This visit gave the volunteers, a deeper and practical insight into rainwater harvesting and the water crisis that we are facing.


My Profile
My terrible blog posts that I have been forced to write.
Enjoy!
After 6 hours sleep and running a couple of errands, I am back at it. My page dedicated
to Lilly is almost complete and then I will be doing one for my plants. Then comes the
challenge of figuring out what the hell to put on the home page. And then hosting. And
then a brief. And wireframes. I’m so tired. Why did I do this to myself????
 I heckin love a
good nap. A nap that includes reading and being trapped between to big dogs. Hopefully I can
smash this out in the next couple of hours so I can go to the beach with the dogs and not
have to worry about anything, or I might just throw myself in the sea.

Hannah Banana


Email Address
Are you male or female?
Male
Female
What is your age?
15 or younger
15 - 20
20 - 25
25 - 30
30 - 40
40 or older
In what region do you live?
Jakarta Selatan
Jakarta Pusat
Jakarta Barat
Jakarta Timur
Jakarta Utara
Other
Next


Users will be allowed to authenticate if they are a member of the {{ provider.org.name }} organization.


export your Readme here, and potentially adjust it… 📝 Development 📝 The add-on is free/libre open-source software and developed on GitHub. Fork it on GitHub and contribute. There are some easy issues to start with. This extension works with modern Firefox and Thunderbird v78 or higher. 🙋♀ Contribute 🙋♀ You can easily get involved in this project and help. Here are some ideas:


Toggle navigation
Training
About
Calculators
Log
Training
loads calculator
Reset
100%
98%
97%
95%
92%
90%
87%
85%
82%
80%
75%
70%
60%


I use Pow to manage web servers on my development machine. It works pretty well.
To start my server, I just hit a URL like http://surveyweb.dev
, which starts the server (if it isn’t running) and spins it down automatically in 5 minutes.
It doesn’t work over HTTPS by default; here’s how you get that done.
1
|
|
This gem lets you route traffic from one port to another port.
We need to route traffic from port 443, to port 80 (where the Pow server runs).
1
|
|
While the tunnel is open, I can access https://surveyweb.dev
just fine.
Pow also has a feature where I can access my server from another machine on the LAN using a URL like http://surveyweb.<IP_ADDRESS>.xip.io/
where <IP_ADDRESS>
is the IP address of my machine. Even with the tunnel open, HTTPS doesn’t work for this URL.
We need to start another tunnel:
1
|
|
And now, both URLs work over HTTPS.


Obtain a thumbnail of album art for a music file. Please click the button below to pick a file and obtain the thumbnail.


TopoTools 2020
Disclaimer
This file documents the scope and functionality of the TopoTools plugin for 3ds Max version 2020 or later. If you have questions about the plugin or have experienced seemingly strange behaviour or if you simply don't know where to start, please read this document before filing a bug report.
If you have experienced an actual bug (a raised exception, a crash, a freeze, etc...), or if some observed behaviour is not described in this document, feel free to contact me using the e-mail address listed at the bottom of this page. When doing so, please include the stack-trace if there is one. If the error is only logged in the TopoTools UI itself, please provide a screenshot or a transcribed log. If you can provide a reproducible scenario for triggering the error, the chances of a fix are much improved. If not, at least describe what you were attempting to do and the behaviour you were expecting.
Use the list on the left side to quickly jump to a specific section of this document.
Introduction
TopoTools consists of two parts:
- A set of C++ functions published to 3ds Max itself.
- A user interface written in MaxScript that makes use of those functions.
(The C++ plugin does not maintain any state beyond its SDK-handled lifecycle. It is a purely functional interface.)
Because many of the exposed function have rather long and cumbersome signatures, it is not really recommended to use them directly, unless otherwise specified. A handful of functions are not safe to use in a general context.
At the core of TopoTools is the idea that two meshes with the same relations between their respective verts, edges and faces are topologically identical. Any two boxes with eight corners each are always topologically identical regardless of their actual coordinates or their vert-, egde- and face-orders under the hood.
In this vein, TopoTools allows the generation of so-called traversal orders and symmetry orders. Based on these orders, two meshes can be conformed to one another or it may be possible to losslessly mirror the Skin-weights from one side of a mesh to the other.
TopoTools simply aims to make such tasks easy and efficient, without relying on any kind of guess-work. It will always provide purely deterministic results and it won't introduce avoidable floating-point inaccuracies.
Traversal orders
A traversal order is simply a list of vert indices into a topology. In order to generate them, several things need to be defined:
- A set of edge-connected faces. Let's call that a patch.
- A vert, edge and face to start with.
|
Let's consider an example. The red faces represent the faces in our selection set. In this case, we have two separate patches, because even though they are connected, they are only connected by a vert. Because our edge and vert sets do not touch the smaller patch at all, TopoTools will simply ignore it. Only the larger patch qualifies. In this case, we only have a single vert (yellow) in our set. That is going to have to be our starting vert. It qualifies because it is connected to an edge (green) that is also in our set. This edge will be our starting edge. But it is now ambiguous which face is the starting face. Face A or face B? TopoTools does not guess. This information must be specified. In this case, another edge (blue) was specified, meaning face A is our starting face. All this work, and more, is done by TopoTools to first extract a starting selection from a selection set. Constellations that do not work are ignored. No ambiguity is permitted, so if there are several valid starting points, the selection set must be reduced by the user. Once a valid starting point could be determined, TopoTools will build a stack of verts and traverse the entire patch in a deterministic fashion. Meaning: Angles and coordinates to not matter. Vert-, edge- and face-ordering does not matter. Even if you changed the example plane extensively, such that its internal structure is now complelety different, TopoTools will always generate an equivalent logical ordering if given an equivalent selection and an equivalent topology. Each vertex will only be contained at most once in any generated order. TopoTools uses these traversal orders, as well as symmetry orders, to allow for a matching of topologically identical geometries. This functionality rests at the core of this plugin. |
Installation
The installation procedure is fairly painless, as far as 3ds Max goes.
- Determine your 3ds Max install directory. This is usually:
...\Autodesk\3ds Max 2020\
- Copy the Plugins folder and the UI_ln folder to the install directory.
- Determine your 3ds Max user macros directory. Launch 3ds Max, open the MaxScript listener (press F11) and execute the following command:
GetDir #userMacros
- Copy MXTopoTools.mcr and the MXTopoTools folder to your user macros directory.
- Re-launch 3ds Max so that it can find the macro script.
- Go to Customize 🠊 Customize User Interface. Click the Toolbars tab, set Group to Main UI. In the Category list, click on TopoTools. It should list an action called TopoTools Dialog.
- Click on New... to create a new toolbar. Call it 'TopoToolsBar' or something similarly expressive. Drag the TopoTools Dialog action onto the new toolbar. Dock the toolbar somewhere.
- Re-launch 3ds Max one more time to save the changes to its UI.
If you now click the newly available button, the TopoTools dialog will be displayed. The next section will go into further detail on how to use it all.
UI: The User Interface
That's a lot of buttons and most of them don't even have a descriptive name. Many buttons have alternate functionalities depending on which combination of modifiers (CTRL, SHIFT, ALT) is pressed when you click them.
This sounds unmanagable at first, but once you take the time to get a feel for this dialog, you'll find that it's actually not that hard to work with.
Similar functionality is clustered together with similar looking buttons. Most buttons will be disabled most of the time, simply because their functionality does not apply in the current context. And every button has a descriptive tooltip available.
All operations exposed by this dialog are undoable, except for the Scene Data operations.
Because this dialog, or rather its underlying script, can use up a good chunk of memory, it may automatically increase the MaxScript heap size to at least 128 MiBs.
Let's now go over each part in order.
UI: Node & Set (A)
This is where scene nodes and their associated selection sets are managed.
Pick a scene node, using 3ds Max pick-button functionality. The node is inserted into the node list below, unless already contained. |
Pick the currently selected scene node, if exactly one is selected. The node is inserted into the node list below, unless already contained. |
Select the currently active node in the scene. This will work even if this node is hidden/frozen. This action is undoable. |
Remove the active node from the node list and delete its associated data. If the [ALT+CTRL+SHIFT] modifiers are pressed, will remove all nodes from the list and delete all of their associated data. |
Most functionality in TopoTools requires nodes to be Editable Poly objects and/or have a Skin modifier. TopoTools will automatically detect if a tracked node is structurally changed, deleted or un-deleted, and enable or disable related functionality accordingly.
This drop-down menu represents the managed node list. Each node in this this list has data associated with it by TopoTools. The node that is currently selected in this list is referred to as the primary node or the A node. |
These two buttons simply allow you to re-order the nodes list. If the [CTRL] modifier is pressed down, the currently active node will be moved to the top or bottom of the list. If the [CTRL+ALT+SHIFT] modifiers are pressed down, the list is sorted lexicographically in ascending or descending order, based on current node names. |
Node name changes are automatically detected. The list will change to reflect this. If a tracked node is deleted, its displayed name is prefixed with *D instead of its position in the list. This change is reverted if the node gets un-deleted later on.
The next UI elements in this group relate to Selection Sets. A selection set is simply an unordered set of verts, edges, faces and handles. Handles, in the context of TopoTools, simply refer to the vertex selection handles of a Skin modifier. They usually pertain only to the top-most enabled Skin modifier, for the sake of simplicity (and my own sanity). Each managed node can have an arbritrary number of selection sets associated with it.
Create a new empty selection set and insert it into the sets list. |
Create temporary in-memory snapshot copy of the current selection set. |
Insert a copy of the in-memory snapshot as a new selection set into the sets list of the current primary node. This allows you to copy selections from one node to another in an unqualified way. Because selections are just bit arrays the results depend on the target topology. |
Remove the current set from the list and delete its data. If the [ALT+CTRL+SHIFT] modifiers are pressed, will remove all sets for the node and delete their data. |
This text field allows you to name the current selection set. |
This is the list of selection sets associated with the current primary node. Selecting a set makes it the primary set, or the current set. |
These two buttons simply allow you to re-order the sets list. If the [CTRL] modifier is pressed down, the currently active set will be moved to the top or bottom of the list. If the [CTRL+ALT+SHIFT] modifiers are pressed down, the list is sorted lexicographically in ascending or descending order, based on current set names. |
This button creates a traversal order for the current primary node, using its current selection set as the starting point. Each node can have one such order at a time. The label to its right displays which set was used to generate this order (indicated by name and current position in the sets list). If the [ALT] modifier is pressed down, an attempt is made to re-build the traversal order using the same set again, even it is no longer the currently active set. It is a good idea to allocate a dedicated selection set for this and not modify it after a traversal order has been generated. |
UI: Set Ops
The buttons in this group all pertain to the primary node and primary selection set. If the primary node is an editable poly or has a skin modifier, the upper row of buttons let you select the selection set's stored elements. Any change in the node's selection made this way are undoable.
Set the node's face selection to the set's stored faces. If [CTRL] is pressed, will instead add the stored faces to the selection. If [SHIFT] is pressed, will instead subtract the stored faces from the selection. |
Set the node's edge selection to the set's stored edges. If [CTRL] is pressed, will instead add the stored edges to the selection. If [SHIFT] is pressed, will instead subtract the stored edges from the selection. |
Set the node's vert selection to the set's stored verts. If [CTRL] is pressed, will instead add the stored verts to the selection. If [SHIFT] is pressed, will instead subtract the stored verts from the selection. If [ALT] is pressed, will instead set the skin modifier's handle selection to the set's stored verts. If [ALT+CTRL] is pressed, will instead add the stored verts to the skin modifier's handle selection. If [ALT+SHIFT] is pressed, will instead subtract the stored verts from the skin modifier's handle selection. |
Set the skin modifier's handle selection to the set's stored handles. If [CTRL] is pressed, will instead add the stored handles to the selection. If [SHIFT] is pressed, will instead subtract the stored verts from the selection. If [ALT] is pressed, will instead set the nodes's vert selection to the set's stored handles. If [ALT+CTRL] is pressed, will instead add the stored handles to the nodes's vert selection. If [ALT+SHIFT] is pressed, will instead subtract the stored handles from the nodes's vert selection. |
Set stored faces to node's face selection. If [CTRL] is pressed, add node's face selection to storage instead. If [SHIFT] is pressed, subtract node's face selection from storage instead. |
Set stored edges to node's edge selection. If [CTRL] is pressed, add node's edge selection to storage instead. If [SHIFT] is pressed, subtract node's edge selection from storage instead. |
Set stored verts to node's vert selection. If [CTRL] is pressed, add node's vert selection to storage instead. If [SHIFT] is pressed, subtract node's vert selection from storage instead. If [ALT] is pressed, set stored handles to node's vert selection instead. If [ALT+CTRL] is pressed, add node's vert selection to stored handles instead. If [ALT+SHIFT] is pressed, subtract node's vert selection from stored handles instead. |
Set stored handles to skin modifier's handle selection. If [CTRL] is pressed, add skin modifier's handle selection to storage instead. If [SHIFT] is pressed, subtract skin modifier's handle selection from storage instead. If [ALT] is pressed, set stored verts to skin modifier's handle selection instead. If [ALT+CTRL] is pressed, add skin modifier's handle selection to stored verts instead. If [ALT+SHIFT] is pressed, subtract skin modifier's handle selection from stored verts instead. |
UI: Node & Set (B)
This group allows you so specify a secondary (or a B) node and selection set. These are needed for any conform or transfer operations.
Displays the secondary node (indicated by name and position in the nodes list). |
Assign the primary node and selection set as the secondary node and selection set. |
This button creates a traversal order for the secondary node, using the secondary selection set as the starting point. The label to its right displays which set was used to generate this order (indicated by name and current position in the sets list). If the [ALT] modifier is pressed down, an attempt is made to re-build the traversal order using the same set again, even it is no longer the currently active set. It is a good idea to allocate a dedicated selection set for this and not modify it after a traversal order has been generated. |
UI: Symmetry Selection
This button creates a symmetry order for the primary node, using the current selection set as the starting point. If the [ALT] modifier is pressed down, an attempt is made to re-build the symmetry order using the same set again, even it is no longer the currently active set. It is a good idea to allocate a dedicated selection set for this and not modify it after a traversal order has been generated. |
Displays which set was used to generate the symmetry order (indicated by name and current position in the sets list). |
Swaps the "left" side of the node's symmetry order with its "right" side. |
Set primary node's vert/edge/face selection to the "left"-side elements of the symmetry order. If [CTRL] is pressed, add the symmetry order's "left"-side elememts to the node's selection instead. If [SHIFT] is pressed, subtract the symmetry order's "left"-side elements from the node's selection instead. |
Set primary node's vert/edge/face selection to the "middle" elements of the symmetry order. If [CTRL] is pressed, add the symmetry order's "middle" elememts to the node's selection instead. If [SHIFT] is pressed, subtract the symmetry order's "middle" elements from the node's selection instead. |
Set primary node's vert/edge/face selection to the "right"-side elements of the symmetry order. If [CTRL] is pressed, add the symmetry order's "right"-side elememts to the node's selection instead. If [SHIFT] is pressed, subtract the symmetry order's "right"-side elements from the node's selection instead. |
Sets the primary node's vert/edge/face selection to its mirrored version. If [CTRL] is pressed, adds the mirrored selection to the node's current selection instead. If [SHIFT] is pressed, subtracts the mirrored selection from the node's current selection instead. |
UI: Symmetry
The slider and spinner are linked and constrained to a range between 0.0 and 1.0. This value determines the "blend weight" for the Flip and Blend operations below. The blend weight simply controls how strong these operations will be. At 0.0, no effect will take place, at 0.5, the vertex coordinates are interpolated halfway between their current value and the full effect. You get it. If this value is very close to 0.0 or 1.0, the implementation will forego actual interpolation to prevent floating point inaccuracies. |
Flips or swaps vertex positions, depending on primary node's current vert selection. If a vert is selected and its symmetrical counterpart is also selected, their coordinates are swapped. Selected verts whose counterpart is not selected have their coordinates inverted (4 becomes -4, -2 becomes 2, etc...). Unselected vert pairs are unaffected. If [ALT] is pressed, the current selection set is used instead of the node's actual selection. Only the x, y or z coordinates are affected, depending on what is configured below. Swapping is lossless, flipping is done with double precision. |
Mirrors or normalizes vertex positions, depending on primary node's current vert selection. If a vert is selected and its symmetrical counterpart is also selected, the vertex pair is normalized, meaning they both receive equivalent mirrored positions along their "side" of the mirror axis. If only one vert of such a pair is selected, the counterpart receives a copy of its mirrored coordinates. Unselected vert pairs are unaffected. If [ALT] is pressed, the current selection set is used instead of the node's actual selection. During normalization, the total distance between two verts is preserved. This helps a great deal with preserving the volume of an overall geometry. But this is by no means a perfect solution. A more complete solution would require actual volumetric analysis, which is difficult, computationally expensive and has its own problems. There is an unsolveable edge case that normalization cannot handle predictably: When the distance along the mirror axis is exactly 0, no information is available as to which "side" either vert belongs to. In this very unusual case (think about what that even looks like), the sides are chosen arbitrarily and the user will need to flip the affected verts specifically. |
Determines the canonical local coordinate axis to use for Flip and Blend. |
UI: Symmetry (Skin)
In order for symmetry operations to be applied to a skin modifier correctly, it is absolutey necessary to have a way to match "left"- and "right"-side bones against each other. Bone systems, unlike geometries, cannot be easily analyzed for unambiguous symmetries. However, symmetrical bone systems ususally have a consistent naming convention. TopoTools simply attempts to match bones based on their names and the specified affixes.
Not every bone in the scene is parsed. Only those that are listed in the skin modifier require proper naming.
Set primary node's top enabled Skin modifier's vert handle selection to the "left"-side verts of the symmetry order. If [CTRL] is pressed, add the symmetry order's "left"-side verts to the Skin modifiers's selection instead. If [SHIFT] is pressed, subtract the symmetry order's "left"-side verts from the Skin modifiers's selection instead. |
Set primary node's top enabled Skin modifier's vert handle selection to the "middle" verts of the symmetry order. If [CTRL] is pressed, add the symmetry order's "middle" verts to the Skin modifiers's selection instead. If [SHIFT] is pressed, subtract the symmetry order's "middle" verts from the Skin modifiers's selection instead. |
Set primary node's top enabled Skin modifier's vert handle selection to the "right"-side verts of the symmetry order. If [CTRL] is pressed, add the symmetry order's "right"-side verts to the Skin modifiers's selection instead. If [SHIFT] is pressed, subtract the symmetry order's "right"-side verts from the Skin modifiers's selection instead. |
Sets the primary node's top enabled Skin modifier's vert handle selection to its mirrored version. If [CTRL] is pressed, adds the mirrored selection to the Skin modifier's current selection instead. If [SHIFT] is pressed, subtracts the mirrored selection from the Skin modifier's current selection instead. |
Flips the bone lists or swaps weight data entirely for selected handles. If a handle is selected and its symmetrical counterpart is also selected, their weight data is completely swapped, including their bone list and dual-quaternion blending weight. If only one handle of a pair is selected, or if a middle handle is selected, then its bone list is replaced with a mirrored copy, meaning that any "left"-side bones are replaced with the matching "right"-side bones and vice versa. The actual weight data, including the dual-quaternion blend weight will remain untouched. If [ALT] is pressed, the handles in the current selection set are used instead of the modifier's actual selection. |
Mirrors or normalizes weight data for selected handles. If a handle is selected and its symmetrical counterpart is also selected, both handles' weights are blended such that each side receives the average weights between the two, each receiving the correct bone list for its respective "side". If only one handle of a pair is selected, the counterpart receives a mirrored copy of its weight-data. If [CTRL] is pressed, this direction is reversed. If [ALT] is pressed, the current selection set's handles are used instead of the modifiers actual selection. Because middle verts have no counterpart, they are always blended such that their weights are equally distributed among both sides. During normalization, a sorted-by-influence list is constructed for each pair. The lowest influence bones or bone-pairs are dropped from this list until it conforms to the modifier's bone affect limit. The modifier's bone affect limit must, therefore, be at least 2. Otherwise middle handles cannot be blended fairly. The resulting bone list must be capable of holding at least one pair of matching bones. |
Specify the "left"- and "right"-side bone matching affixes. These can be pretty much anything, as long as they consist of more than whitespace. Leading and trailing whitespace is trimmed. |
Specify whether the affixes are prefixes (leading patterns) or suffixes (trailing patterns). |
UI: Conform Selection
This group of buttons enables the translation of selections between different nodes, by simply iterating over their traversal orders in lock-step.
Translate the primary node's hande/vert/edge/face selection and apply it to the secondary node. If [CTRL] is pressed, add the tranlated selection to the secondary node's selection instead. If [SHIFT] is pressed, subtract the translated selection from the secondary node's selection. If [ALT] is pressed, use the primary selection set instead of the primary node's selection. |
Translate the secondary node's hande/vert/edge/face selection and apply it to the primary node. If [CTRL] is pressed, add the tranlated selection to the primary node's selection instead. If [SHIFT] is pressed, subtract the translated selection from the primary node's selection. If [ALT] is pressed, use the seconday selection set instead of the secondary node's selection. |
UI: Conform
The slider and the spinner are linked. Together they represent the "conform balance": At 0.0 the primary coordinates have full influence, the secondary ones have none. At 0.5 both have equal influence. And so on. The combined influence always adds up 100%. Using this balance, it is fairly convenient to imitate the effects of a Morpher modifier, except for internally differing topologies. |
Blend the vert coordinates of the primary and secondary nodes' selected verts. Each of the three buttons handle selections differently: The "A" button ignores the secondary selection. The "B" button ignores the primary selection. The "A + B" button uses the translated union of both selections. |
If the box on the left is checked, the "A" and "A + B" operations will use the primary selection set instead of the primary node's selection. If the box on the right is checked, the "B" and "A + B" operations will use the secondary selection set instead of the secondary node's selection. |
The spinner on the left controls the blend weight for the primary node. The spinner on the right controls the blend weight for the secondary node. The blend weight simply controls how strong these operations will be. At 0.0, no effect will take place, at 0.5, the vertex coordinates are interpolated halfway between their current value and the full effect. You get it. If this value is very close to 0.0 or 1.0, the implementation will forego actual interpolation to prevent floating point inaccuracies. |
UI: Transfer Skin
These operations allow for the lossless transfer of weight data between two skin modifiers. Something that is not possible with 3ds Max alone (It will approximate. Badly.).
All that is needed is for the traversal orders to be ready and for the bones used by each modifier to have a affix-matchable naming convention.
Because the adding of bones to a Skin modifier is not truly undoable, TopoTools simply requires that the needed bones already exist in the target modifier. Explanation: Skin modifier simply hides a bone when it is removed or its addition undone. And because it's closed source, there's nothing I can do. Skin modifier is notorius for being inconvenient.
Transfer weight data of selected handles in the primary node's top enabled Skin modifier to the top enalbed Skin modifier of the the secondary node. The selection is translated using both node's traversal orders and the two modifier's bones are matched by name and affix. If [ALT] is pressed, the primary selection set will be used instead of the primary modifier's selection. |
Transfer weight data of selected handles in the secondary node's top enabled Skin modifier to the top enalbed Skin modifier of the the primary node. The selection is translated using both node's traversal orders and the two modifier's bones are matched by name and affix. If [ALT] is pressed, the secondary selection set will be used instead of the secondary modifier's selection. |
Specify the primary and secondary bone matching affixes. These can be nything. Leading and trailing whitespace is trimmed. |
Specify whether the affixes are prefixes (leading patterns) or suffixes (trailing patterns). |
UI: Attach/Detach
These operations allow combining several editable poly nodes into a single node. All nodes in an operation must have the same number of Skin modifiers. They may have other modifiers present, but they will be ignored.
The weight data is for all corresponding skin modifiers is combined losslessly. However, more complex structures, such as envelope data or gizmos are not transferred. The skin modifiers created this way are "clean" new modifiers, that do not hold any legacy garbage data (such as removed bones).
Creates a clone of the primary node and attaches a clone of the secondary node to it. The verts, edges and faces of the second node a simply appended whole-sale to the first node's. This leads to a predictable outcome. |
Combines all nodes currently selected in the scene into a single new node. The nodes are appended to each other in arbitrary order. |
The primary node's currently selected faces are cloned into a new node. Weight data is preserved losslessly. If [CTRL] is pressed, the weights are additionally deleted from the primary node. If [ALT] is pressed, the primary selection set is used instead of the primary node's selection. |
UI: Remove
Remove faces or edges while preserving weight data losslessly.
Deletes primary node's selected faces. Verts and edges that would end up isolated or incomplete will be removed as well. If [ALT] is pressed, the primary selection set is used instead of the primary node's selection. |
Removes primary node's selected edges, if they can be removed. Borders may not be possible to remove. If [CTRL] is pressed, any verts that, as a result of this operation, would end up connected to two or fewer edges are removed as well. If [ALT] is pressed, the primary selection set is used instead of the primary node's selection. |
UI: Strip Weights
Remove bones or weights from primary nodes's top enabled Skin modifier that have influence at or below a certain threshold.
The threshold value used by the other two operations. |
Removes all bones that are listed with an influence at or below the threshold from the skin modifier's weight lists. If [CTRL] is pressed, additionally also removes any fully unused bones from the skin modifer. If [SHIFT] is pressed, will only remove any fully unused bones from the skin modifier, leaving weight lists intact. 3ds Max does not support true removal of bones from skins. The bone will be hidden from the list instead. |
This functions similarly to "Strip", but creates a clone of the primary node instead, and operates on all skin modifiers at the same time. Additionally, any unused bones are truly removed from the modifiers. However, envelope data, gizmos, etc. are not retained. |
UI: Misc.
|
Welds one topologically connected run of border verts with a second run with the same number of verts. The verts are target welded in deterministic order, meaning the same input will result in the same "direction" for the target weld. If [CTRL] is pressed, this direction is reversed. It may be necessary to undo the operation and reverse the order to achieve the desired result. The selection of verts is either extracted from the currently selected border edges, or if none are selected a pair of exactly two verts must be selected. If [ALT] is pressed, the primary selection set is used instead of the primary node's selection. The two runs are considered as a single run of corresponding vert pairs. The distance between the verts of a pair is irrelevant. A run always follows the orientation of its faces. This ensures that the pairs are always weldable. The weight data is always preserved for the target handle. This is why interpolation is not supported. If a blended result is needed, both handle sides should simply share the same weight data beforehand. The topological effects of this operatation can be achieved using 'polyops'. However, this implementation is orders of magnitude more efficient. Where polyops might take hours (or simply crash), this will take a second while consuming a fraction of the memory. Additionally, this operation preserves all weight-data losslessly. This is not achievable using only 3ds Max. |
Attempts to remove one level of subdivision from the primary node's face selection, while preserving weight data for all Skin modifiers. If a selected patch is closed or has no border verts that are also corners, it must have one vert selected that would survive this process. If [ALT] is pressed, uses the primary selection set instead of the primary node's selection. The volume of the unsubdivided shape is not altered. Whatever loss in volume was initially incurred due to a smooth subdivision is not reversed. |
Attempts to detriangulate primary node's selected faces, meaning it will attempt to identify macthing pairs of triangles and turn them into quads by removing the shared edge. This process is deterministic, the shape of the resulting quads is irrelevant. By default, will assume that the selection is grid-shaped, meaning that its faces are laid out like a grid of quads of M*N dimensions. If [CTRL] is pressed, a stricter approach to matching is used that allows for more variant selections. However, this mode is less likely to find many unambiguous matches. If [ALT] is pressed, the primary selection set is used instead of the primary node's selection. |
UI: Message Log
The message log simply provides feedback or logs errors. It will identify which TopoTools function experienced an error, together with a short message identifying the reason for the error. This approach was chosen in favour of more explicit exception handling, because exceptions 'stop-the-world'. Incorrect or insufficient input is common and must be dealt without bringing 3ds Max to its knees. The number the left side simply increases wich each message displayed. This way, identical messages can be differentiated. Note that it will only log defined errors. If something truly unexpected happens, you just found an actual bug. |
UI: Scene Data
The entire state of the TopoTools UI can be saved to the current scene. Or the scene may be cleansed of any remaining data. When loading, the current state is replaced entirely. Currently deleted nodes are accounted for at the moment of storage. Their associated data will still be stored, because it may prove useful still (no dead pointers are accrued, no worries.). After storing or deleting scene data, the scene must be saved again for the changes to persist. Most data is diligently serialized using a custom high-throughput integer compression scheme, inspired by FastPFOR as implemented by Daniel Lemire. This version additionaly uses striped differential coding to dramatically increase the compression ratio for most inputs. If it appears that loading or storing takes too long, the reason is that 3ds Max will always verify that each array passed to a published function is a 'plain-old-data' array or a mixed type array. This can take a while, and there is little to be done. |
UI: Info
Pressing this button will simply land you on this page again, in your default browser. If [ALT+CTRL+SHIFT] is pressed all tooltips (except for this button) are toggled. Use it if they get in the way. |
Licensing & Legal
All files belonging to the TopoTools plugin project are released under the Apache License Version 2.0 © 2020 Jan Kebernik (http://www.apache.org/licenses/).
A copy of this license must be included in all distributions of this project or parts thereof.
Contact the author
Contact me at<EMAIL_ADDRESS>with problems or questions regarding TopoTools. Bugs should be reported to the github repository directly.


torchdata.maps¶
This module provides functions one can use with torchdata.Dataset.map
method.
Following dataset
object will be used throughout documentation for brevity (if not defined explicitly):
# Image loading dataset
class Example(torchdata.Dataset):
def __init__(self, max: int):
self.values = list(range(max))
def __getitem__(self, index):
return self.values[index]
def __len__(self):
return len(self.values)
dataset = Example(100)
maps
below are general and can be used in various scenarios.
-
class
torchdata.maps.
After
(samples: int, function: Callable)[source]¶ Apply function after specified number of samples passed.
Useful for introducing data augmentation after an initial warm-up period. If you want a direct control over when function will be applied to sample, please use
torchdata.transforms.OnSignal
.Example:
# After 10 samples apply lambda mapping dataset = dataset.map(After(10, lambda x: -x))
- Parameters
samples (int) – After how many samples function will start being applied.
function (Callable) – Function to apply to sample.
- Returns
Either unchanged sample or function(sample)
- Return type
Union[sample, function(sample)]
-
class
torchdata.maps.
Drop
(*indices)[source]¶ Return sample without selected elements.
Sample has to be indexable object (has
__getitem__
method implemented).Important:
Negative indexing is supported if supported by sample object.
This function is slower than
Select
and the latter should be preffered.If you want to select sample from nested
tuple
, please useFlatten
firstReturns single element if only one element is left
Returns
None
if all elements are dropped
Example:
# Sample-wise concatenate dataset three times new_dataset = dataset | dataset | dataset # Zeroth and last samples dropped selected = new_dataset.map(torchdata.maps.Drop(0, 2))
- Parameters
*indices (int) – Indices of objects to remove from the sample. If left empty, tuple containing all elements will be returned.
- Returns
Tuple without selected elements
- Return type
Tuple[samples]
-
class
torchdata.maps.
Except
(function: Callable, *indices)[source]¶ Apply function to all elements of sample except the ones specified.
Sample has to be
iterable
object.Important:
If you want to apply function to all nested elements (e.g. in nested
tuple
), please usetorchdata.maps.Flatten
object first.Example:
# Sample-wise concatenate dataset three times dataset |= dataset # Every element increased by one except the first one selected = new_dataset.map(torchdata.maps.Except(lambda x: x+1, 0))
-
function
¶ Function to apply to chosen elements of sample.
- Type
Callable
-
*indices
Indices of objects to which function will not be applied. If left empty, function will be applied to every element of sample.
- Type
int
- Returns
Tuple with subsamples where some have the function applied.
- Return type
Tuple[function(subsample)]
-
-
class
torchdata.maps.
Flatten
(types: Tuple = (<class 'list'>, <class 'tuple'>))[source]¶ Flatten arbitrarily nested sample.
Example:
# Nest elements dataset = dataset.map(lambda x: (x, (x, (x, x), x),)) # Flatten no matter how deep dataset = dataset.map(torchdata.maps.Flatten())
- Parameters
types (Tuple[type], optional) – Types to be considered non-flat. Those will be recursively flattened. Default:
(list, tuple)
- Returns
Tuple with elements flattened
- Return type
Tuple[samples]
-
class
torchdata.maps.
OnSignal
(signal: Callable[[...], bool], function: Callable)[source]¶ Apply function based on boolean output of signalling function.
Useful for introducing data augmentation after an initial warm-up period. You can use it to turn on/off specific augmentation with respect to outer world, for example turning on image rotations after 5 epochs and turning off 5 epochs before the end in order to fine-tune your network.
Example:
import torch from PIL import Image import torchdata import torchvision # Image loading dataset class ImageDataset(torchdata.FilesDataset): def __getitem__(self, index): return Image.open(self.files[index]) class Handle: def __init__(self): self.value: bool = False def __call__(self): return self.value # you can change handle.value to switch whether mapping should be applied handle = Handle() dataset = ( ImageDataset.from_folder("./data") .map(torchvision.transforms.ToTensor()) .cache() # If handle returns True, mapping will be applied .map( torchdata.maps.OnSignal( handle, lambda image: image + torch.rand_like(image) ) ) )
- Parameters
signal (Callable) – No argument callable returning boolean, indicating whether to apply function.
function (Callable) – Function to apply to sample.
- Returns
Either unchanged sample of function(sample)
- Return type
Union[sample, function(sample)]
-
class
torchdata.maps.
Repeat
(n: int, function: Callable)[source]¶ Apply function repeatedly to the sample.
Example:
# Increase each value by 10 * 1 dataset = dataset.map(torchdata.maps.Repeat(10, lambda x: x+1))
- Parameters
n (int) – How many times the function will be applied.
function (Callable) – Function to apply.
- Returns
Function(sample) applied n times.
- Return type
function(sample)
-
class
torchdata.maps.
Select
(*indices)[source]¶ Select elements from sample.
Sample has to be indexable object (has
__getitem__
method implemented).Important:
Negative indexing is supported if supported by sample object.
This function is faster than
Drop
and should be used if possible.If you want to select sample from nested
tuple
, please useFlatten
firstReturns single element if only one element is left
Example:
# Sample-wise concatenate dataset three times new_dataset = dataset | dataset # Only second (first index) element will be taken selected = new_dataset.map(torchdata.maps.Select(1))
- Parameters
*indices (int) – Indices of objects to select from the sample. If left empty, empty tuple will be returned.
- Returns
Tuple with selected elements
- Return type
Tuple[samples]
-
class
torchdata.maps.
To
(function: Callable, *indices)[source]¶ Apply function to specified elements of sample.
Sample has to be
iterable
object.Important:
If you want to apply function to all nested elements (e.g. in nested
tuple
), please usetorchdata.maps.Flatten
object first.Example:
# Sample-wise concatenate dataset three times new_dataset = dataset | dataset | dataset # Zero and first subsamples will be increased by one, last one left untouched selected = new_dataset.map(torchdata.maps.To(lambda x: x+1, 0, 1))
-
function
¶ Function to apply to specified elements of sample.
- Type
Callable
-
*indices
Indices to which function will be applied. If left empty, function will not be applied to anything.
- Type
int
- Returns
Tuple consisting of subsamples with some having the function applied.
- Return type
Tuple[function(subsample)]
-
-
class
torchdata.maps.
ToAll
(function: Callable)[source]¶ Apply function to each element of sample.
Sample has to be
iterable
object.Important:
If you want to apply function to all nested elements (e.g. in nested
tuple
), please usetorchdata.maps.Flatten
object first.Example:
# Sample-wise concatenate dataset three times new_dataset = dataset | dataset | dataset # Each concatenated sample will be increased by 1 selected = new_dataset.map(torchdata.maps.ToAll(lambda x: x+1))
-
function
¶ Function to apply to each element of sample.
- Type
Callable
- Returns
Tuple consisting of subsamples with function applied.
- Return type
Tuple[function(subsample)]
-


FROM Dr.I.B.Skosana ADDRESS: No. 5,Haggar Rider Avenue, Johannesburg, South Africa. Reply<EMAIL_ADDRESS>ATTENTION: The President / Director, I know that this message may come to you as a surprise since we do not know each other before, but for purpose of introduction, I am Dr I.B Skosana, the chief Auditor in ABSA BANK of South Africa. During my auditing work in the bank, I found an account opened in this bank in 1992 and since 2000 nobody has operated on this account. After going through some old files in the record, I discovered that the owner of this account is Mr. Smith.B. Andreas, from MUNICH GERMANY and a miner at Kruger Gold Company who died along with his entire family in a plane crash. Since 2000, No other person(s) knows about this account or any thing concerning it, the account has no other beneficiary and my investigation proved to me as well that his company does not know anything about this account and the amount involved is Twelve Million Five Hundred Thousand United States Dollars (US$12.5M). FOR MORE INFORMATION VISIT THIS SITE BELOW: http://news.bbc.co.uk/1/hi/world/europe/859479.stm I am only contacting you as a foreigner because this money cannot be approved to a local bank here, but can only be approved to any foreign account because the money is in US Dollars and the former owner of the account Mr. Smith B. Andreas is a foreigner too. I need your full co-operation to make this transaction work, because the management is ready to approve the transfer of this money to any foreigner who has correct information of this account, which I will provide to you later. If you are able and willing to handle such amount in strict confidence and according to my instructions and advice for our mutual benefit because this is a lifetime opportunity. With my position in the office I can lobby to transfer this money into your account, with the assurance that the money will be intact pending my physical arrival in your country. I will destroy all documents of transaction immediately this money is transferred, leaving no trace to any place. I will apply for my annual leave to get visa immediately I hear from you that you are ready to act and receive this fund in your account. I will use my position and influence to effect legal approvals and onward transfer of this money to your bank account with appropriate clearance forms from the appropriate ministries and foreign exchange departments. Please reply urgently so that I will inform you the next step to take immediately. Send also your private telephone and fax numbers for easy communications. At the conclusion of this business, you will get 30% of the total amount, 65% will be for me, while 5% will be for expenses both parties might incur during the transfer process. I look forward to your earliest reply, God Bless.


Choose your Recipe
See all Cake Recipe
See all Drinks Recipe
See all Spicy Recipe
South Indan Recipe
See all Sweet Recipe
See all Rice Recipe


--- layout: wide title: Blog ---
In the RWD blog, we talk about the process of creating a new responsive web design course. The blog will also house recaps of our individual class sessions. You can get more updates by following @RWDKent on Twitter.


--- layout: post title: |- Discovery's Final Launch Viewed From a Commercial Jet: how cool! Note how strongly stratified the lower atmosphere is. date: '2011-03-02T12:33:00.000-05:00' author: Bob Sica tags: - atmosphere - nasa - space_shuttle modified_time: '2011-12-21T12:48:50.365-05:00' blogger_id: tag:blogger.com,1999:blog-736339229338318027.post-5427615368749940242 blogger_orig_url: http://blog.purplecrowlidar.ca/2011/03/discovery-final-launch-viewed-from.html ---
As an atmospheric physicist it is neat to see (via the exhaust trail) how generally stratified the atmosphere was for that launch, must have been a relatively smooth ride. Best of luck to the crew on their mission. Thanks to former student VL for sending me this!


| Property starting with A |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
Account
|
|
|
GUID
|
|
Account
|
|
|
|
|
|
AccountPayableName
|
Creditor Account
|
Creditor Account
|
String
|
|
AccountPayableName
|
|
|
|
|
|
AssistantFullName
|
Assistant Name
|
Assistant Name
|
String
|
|
AssistantFullName
|
|
|
|
|
|
AssistantID
|
AssistantID
|
AssistantID
|
Number
|
|
AssistantID
|
|
|
|
|
| Property starting with B |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
BackOfficeBlocked
|
BackOffice Blocked
|
BackOffice Blocked
|
Boolean
|
|
BackOfficeBlocked
|
|
|
|
|
| Property starting with C |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
CentralizationAccount
|
Name
|
Name
|
String
|
|
CentralizationAccount
|
|
|
|
|
|
ClassificationID
|
Classification
|
Classification
|
String
|
|
ClassificationID
|
|
|
|
|
|
ContractEndDate
|
Contract End Date
|
Contract End Date
|
Date
|
|
ContractEndDate
|
|
|
|
|
|
ContractLocation
|
Main Location
|
Main Location
|
String
|
|
ContractLocation
|
|
|
|
|
|
CostCenter
|
Cost Center
|
Cost Center
|
String
|
|
CostCenter
|
|
|
|
|
|
CostUnit
|
Cost Unit
|
Cost Unit
|
String
|
|
CostUnit
|
|
|
|
|
|
Creditor
|
Creditor
|
Creditor
|
String
|
|
Creditor
|
|
|
|
|
|
Currency
|
Currency
|
Currency
|
String
|
|
Currency
|
|
|
|
|
| Property starting with D |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
DebtorCode
|
Debtor
|
Debtor
|
String
|
|
DebtorCode
|
|
|
|
|
|
DebtorNumber
|
Debtor Number
|
Debtor Number
|
String
|
|
DebtorNumber
|
|
|
|
|
|
Discount
|
Discount
|
Discount
|
Number
|
|
Discount
|
|
|
|
|
|
Division
|
|
|
String
|
|
Division
|
|
|
|
|
|
DivisionCreditorID
|
DivisionCreditorID
|
DivisionCreditorID
|
GUID
|
|
DivisionCreditorID
|
|
|
|
|
|
DivisionDebtorID
|
DivisionDebtorID
|
DivisionDebtorID
|
GUID
|
|
DivisionDebtorID
|
|
|
|
|
| Property starting with E |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
EmailWork
|
Email address
|
Email address
|
String
|
|
EmailWork
|
|
|
|
|
|
EmploymentEndDate
|
Inactive
|
Inactive
|
Date
|
|
EmploymentEndDate
|
|
|
|
|
|
EmploymentStartDate
|
Start Date
|
Start Date
|
Date
|
|
EmploymentStartDate
|
|
|
|
|
| Property starting with F |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
Fax
|
Fax number
|
Fax number
|
String
|
|
Fax
|
|
|
|
|
|
FiscalCode
|
Fiscal Code
|
Fiscal Code
|
String
|
|
FiscalCode
|
|
|
|
|
|
FTE
|
FTE
|
FTE
|
Number
|
|
FTE
|
|
|
|
|
| Property starting with I |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
ID
|
ID
|
ID
|
GUID
|
|
ID
|
|
|
|
|
|
InternalRate
|
Internal Rate
|
Internal Rate
|
Number
|
|
InternalRate
|
|
|
|
|
| Property starting with J |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
JobLevel
|
Job Level
|
Job Level
|
Number
|
|
JobLevel
|
|
|
|
|
|
JobTitle
|
Job Title
|
Job Title
|
String
|
|
JobTitle
|
|
|
|
|
| Property starting with M |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
MainDivision
|
MainDivision
|
MainDivision
|
Boolean
|
|
MainDivision
|
|
|
|
|
|
ManagerFullName
|
Manager Name
|
Manager Name
|
String
|
|
ManagerFullName
|
|
|
|
|
|
ManagerID
|
Manager ID
|
Manager ID
|
Number
|
|
ManagerID
|
|
|
|
|
| Property starting with O |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
OffSetAccount
|
OffSet Account
|
OffSet Account
|
String
|
|
OffSetAccount
|
|
|
|
|
| Property starting with P |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
PayeeName
|
Payee Name
|
Payee Name
|
String
|
|
PayeeName
|
|
|
|
|
|
PaymentCondition
|
PaymentCondition
|
PaymentCondition
|
String
|
|
PaymentCondition
|
|
|
|
|
|
PersonID
|
|
|
Number
|
|
PersonID
|
|
|
|
|
|
PhoneWork
|
Telephone number
|
Telephone number
|
String
|
|
PhoneWork
|
|
|
|
|
|
PhoneWorkExtension
|
Phone Extension
|
Phone Extension
|
String
|
|
PhoneWorkExtension
|
|
|
|
|
|
PhoneWorkMobile
|
Mobile
|
Mobile
|
String
|
|
PhoneWorkMobile
|
|
|
|
|
|
PhysicalLocation
|
Location
|
Location
|
String
|
|
PhysicalLocation
|
|
|
|
|
|
PrevRating
|
Previous Rating
|
Previous Rating
|
String
|
|
PrevRating
|
|
|
|
|
|
PriceList
|
PriceList
|
PriceList
|
String
|
|
PriceList
|
|
|
|
|
|
PurchaseLimit
|
Purchase orders
|
Purchase orders
|
Number
|
|
PurchaseLimit
|
|
|
|
|
| Property starting with R |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
Rate
|
Rate
|
Rate
|
String
|
|
Rate
|
|
|
|
|
|
Rating
|
Current Rating
|
Current Rating
|
String
|
|
Rating
|
|
|
|
|
|
ReasonResign
|
Reason
|
Reason
|
String
|
|
ReasonResign
|
|
|
|
|
|
ResourceType
|
Type
|
Type
|
String
|
|
ResourceType
|
|
|
|
|
|
RMALimit
|
RMA orders
|
RMA orders
|
Number
|
|
RMALimit
|
|
|
|
|
|
Room
|
Room
|
Room
|
String
|
|
Room
|
|
|
|
|
| Property starting with S |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
SalesInvoiceLimit
|
Sales invoice
|
Sales invoice
|
Number
|
|
SalesInvoiceLimit
|
|
|
|
|
|
SalesOrderLimit
|
Sales / Service orders
|
Sales / Service orders
|
Number
|
|
SalesOrderLimit
|
|
|
|
|
|
SecurityLevel
|
Security Level
|
Security Level
|
Number
|
|
SecurityLevel
|
|
|
|
|
|
Status
|
Status
|
Status
|
String
|
|
Status
|
|
|
|
|
| Property starting with V |
| Name |
Caption |
Description |
Type |
Mandatory |
Name (known in REST) |
Available since release |
Introduced by which team |
Introduced for which project |
Additional remarks |
|
VatNumber
|
VatNumber
|
VatNumber
|
String
|
|
VatNumber
|
|
|
|
|


{% extends 'base_layout.html' %} {% block head_extra %} {% endblock %} {% block content %}
Below are some of the most frequently asked questions we have received.
| Appropriate | Inapropriate |
|---|---|
| Total GDP by region | Human Development Index (or similar composite statistics) |
| Total population by region | Population density by region |
| Number of college gradates by region | Percentage of population that are college graduates by region |


Table of Contents
Getting started
Going to a marketplace
Registering
Accepting the terms and conditions
Accepting the privacy policy
Confirming your account
Logging in after confirmation
Logging in
Changing your initial password
Recovering your password
Recovering your password
Defining your new password
Defining your new password
Reactivating a locked account
Correcting problems with the database
Correcting problems with an external authentication system
Registering a user with the platform
Login with Invalid Tenant ID
Logging out from a service
Service usage error
Subscription key error
Subscription error
Logging in
Confirming your account
Access to restricted marketplace
Login to restricted marketplace
Account menu options
Editing your profile
Changing your password
Registering new users
Importing users
Managing users
Creating reports
Managing suppliers
Managing custom attributes
Adding a custom attribute
Editing a custom attribute
Managing LDAP settings
Managing process triggers
Managing a trigger
Managing processes
Exporting billing data
Defining the billing period
Customer menu options
Registering customers
LDAP keys
Managing customers
Viewing customer information
Managing payment types
Managing VAT rates
Viewing a subscription
Managing subscription attributes
Terminating a subscription
Technical Service menu options
Registering a service definition
Importing a service definition
Updating a service definition
Exporting a service definition
Deleting a service definition
Viewing a service definition
Viewing billing system details
Marketable service menu options
Defining a service
Updating a service
Localizing the service information
Copying a service
Deleting a service
Defining up/downgrade options for a service
Viewing a service
Managing a service
Viewing price model details
Defining publishing options
Activating or deactivating services
Price model menu options
Defining a service price model
Defining a service price model
Defining a service price model
Defining a customer price model
Defining a customer price model
Defining a customer price model
Deleting customer price models
Defining a subscription price model
Defining a subscription price model
Defining a subscription price model
Localizing price model elements
Defining role-specific prices
Managing VAT rates
Defining the billing period
Price model details
One-time fee
Recurring charge per subscription
Recurring charge for users
Prices for parameters and options
Prices for events
Stepped prices
Role-based prices
Free trial period
Discounts
Operation menu options
Managing users
User data file for multiple user import
Creating an organization
Managing organizations
Managing timers
Managing currencies
Managing languages
Managing billing systems
Updating configuration settings
Updating the search index
Managing LDAP settings
Billing data preview
Executing billing tasks
Exporting audit log data
Creating a payment service provider
Managing payment service providers
Adding payment types
Adding payment types
Managing operator revenue share
User interface resources
Online help and FAQs
Report labels
Supported language codes
Managing Tenants
Prerequisites at the OIDC Provider
OIDC Tenant Configurations
Marketplace menu options
Managing categories
Managing the access to a marketplace
Managing sellers
Managing sellers
Managing sellers
Managing sellers
Creating a marketplace
Updating a marketplace
Deleting a marketplace
Adding tracking code
Defining featured services
Customizing the marketplace stage
Customizing the marketplace layout
Customizing texts
Managing broker revenue shares
Managing reseller revenue shares


FROM: Miss L. B. CHRISTOPHER MISSIONARY QUARTERS A15 CHURCH ROAD ACCRA GHANA PLS SEND REPLY TO MY PRIVATE BOX<EMAIL_ADDRESS>Dear respectful one I feel good contacting you today I have read from your add in Internet knowing quiet well that this contact will bring a lasting relationship. With regard to your reputation and co-worshipper of God who will not disappoint me nor deny me in faith, I am directing this letter of assistance to you. I am Miss Louisa. Christopher the only daughter of Mr.Christopher from Republic of Zimbabwe in desire to get somebody who will safe guard my interest, that of my junior brother (Louis) and this money.Briefly, our father Mr. Christopher was a Gold and Cocoa merchant who based in Lome Togo, Abidjan cote d'Ivoire, and had a branch office here in Accra Ghana.My father was a wealthy Gold/Cocoa merchant who has business in many countries in Europe, America and Asian countries.According to my father, my own mother Died when I was about six years of age, which means that I did not even know my mother very well.The story is that my father Mr. Christopher was Poisoned to death by his business associates about seven months ago, and he died in a private hospital here in Accra Ghana. But when he was about to die, he called us beside his sick bed and told us that he deposited the sum of fifty Two Million Seven Hundred Thousand United States Dollars (US$52.700,000) with a local bank there in Accra, the economic and administrative capital of Republic of Ghana.This money was kept for us in my name, his only daughter. Right now I am a first year student of business management in one of the University here.My only problem now is that since my father has been poisoned to death by his business Associates, I don't even trust any other person here again including my father's brothers and sisters.Right now, I want you to help us in the following ways: 1)I want you to provide a personal / company's bank Account where this amount here he deposited the sum of fifty Two Million Seven Hundred Thousand United States Dollars (US$52.700,000) into your account. 2) You are going to be the manager of this fund and Also my personal guardian until I finished my studies. 3)You are going to procure admissions for us to continue our studies in one of the known university in your country. 4) You are going to receive 15% of the total sum for providing a bank account for this transfer. 5) That you must prepare immediately to make a working visit to ACCRA GHANA here so that me and you can see each other and we can then do the transfer at the same time and I will go back with you to your country. We hope to receive your early response, as it will Encourage us, to stop establishing further contacts as It regards to this subject matters, so that we will furnish you With a private phone number where you can reach us Direct, on receipt of your positive response.For your information, this place we staying now is a House of a church sister who saw our condition and Decided to house us for a while. THIS BUSINESS IS HIGHLY CONFIDENTIAL BECAUSE NONE OF OUR LATE FATHER'S BROTHERS AND SISTERS KNOWS ABOUT THIS TRANSACTION. Waiting to hear from you soon Pls Send reply to my private email box: chr_2006@walla. com Thanks for your understanding, Miss L.B. Christopher


Auto-Close Popup News
if checked, TableCrab will try its best to automatically close news boxes. NOTE:
when selecting news from the menu these will be closed as well. you have to uncheck
this setting to be able to read them.
Close Tourney Registration Boxes
if checked, TableCrab will try its best to automatically close these OK boxes popping up on tourney
registration / unregistration
Close Table Message Boxes
if checked, TableCrab will try its best to automatically close OK boxes popping up at tables
Close Log In Box
if checked, TableCrab will try its best to automatically close these log in box wherever it may pop
up. for example: you hit "Login" in the PokerStars lobby and if you user name and password
is filled in in the box popping up TableCrab will automatically hit OK for you.
Move Mouse To Active Table
if checked, TableCrab will move the mouse pointer to the point EmptySpace at the active table.
WARNING: enabling this may cause all kinds of unwanted side effects. windows may get thrown around
and what not. i assume you know what you are doing.


KEEPING THE FAITH A film review by Steve Rhodes Copyright 2000 Steve Rhodes RATING (0 TO ****): *** 1/2
Edward Norton (FIGHT CLUB), one of the most gifted actors today, shows that he is just as talented behind the camera as in front of it in his directorial debut with KEEPING THE FAITH, a film in which he stars along with Ben Stiller (THERE'S SOMETHING ABOUT MARY) and Jenna Elfman (EDTV and "Dharma & Greg").
Most actors, even some of the best ones, play essentially the same character in every movie. Edward Norton is a true acting chameleon who becomes completely different people in every part he plays.
In KEEPING THE FAITH, Norton plays Father Brian Finn, a sweet and innocent Catholic priest with a pixyish grin. Ben Stiller plays Rabbi Jacob Schram. The two of them are affectionately referred to as "The God Squad." They are a lovable duo who pack their respective church and synagogue with enthusiastic worshipers.
Jenna Elfman plays Anna Reilly, a 100-hour-per-week, workaholic management consultant, who says God could have made the world in just 3 days if he had gotten her help. The 3 of them were best buddies until Anna moved away from New York City in the eighth grade. The story concerns their reuniting when she comes to The Big Apple to work on temporary assignment. It is at a time in Jacob's life when the elders of his congregation want him to find a good Jewish woman, something Anna isn't, to marry.
In a cinematic era in which cynicism rules, KEEPING THE FAITH is that rarest of movies that celebrate the importance and the joys of faith and religion. And at a time in which dysfunctionalism is ever-present in pictures, KEEPING THE FAITH shows the unbounded happiness of a good romance.
Although the three of them resume their friendship as adult buddies, their relationship quickly moves beyond that stage. And, when Jacob and Anna fall in love, it gets complicated fast, especially since they decide it would be better not to hurt Brian's feelings by telling him.
The script is quite funny, and there isn't a false moment in the movie. Among the wonderful supporting cast is: Anne Bancroft as Jacob's Jewish mother, Milos Forman as a wise older priest and Eli Wallach as an older rabbi with big heart and an open mind. Set in New York City, the movie is filmed beautifully, and the city's skyscrapers have never looked lovelier.
The picture's only failing is that Norton makes the mistake of many first-time directors and falls too much in love with his work, letting some scenes meander when they should have been crisper.
The joy of KEEPING THE FAITH is contagious. This feel-good movie is a real charmer with great romantic chemistry among the leads. It makes you feel happy to be alive.
KEEPING THE FAITH runs 2:05. It is rated PG-13 for some sexuality and language and would be fine for kids around 11 and up.
My son Jeffrey, almost 11, loved the movie, giving it a full ****. He said that it was really funny and that his favorite part was when they were all in the eighth grade.
Email<EMAIL_ADDRESS>Web: http://www.InternetReviews.com
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


Stress costs.
Both in money and in personal health.
Do you know how your staff are feeling? Hospitals are stressful environments.
But there are scientifically-proven methods to ensure your most precious resource, your staff, are not suffering unduly. Let Dr De Stress help you help your staff.


You strike the bredon with your knife killing the beast
You skin the beast for meat, horns and fur and continue on your way it looks like your gonna have some Bredon Meat for dinner
THE END
Thank you for playing my game made in 1 day
You strike the bredon with your knife killing the beast
You skin the beast for meat, horns and fur and continue on your way it looks like your gonna have some Bredon Meat for dinner
Thank you for playing my game made in 1 day