name: inverse layout: true class: center, middle, inverse --- # Brownbag - ## Using Azure-PlantUML for better diagrams [Diego Casati - Microsoft - OCP Canada] --- template:inverse ## The State of Cloud Solution Architecture --- template:inverse layout: false .left-column[ ## Current State ] .right-column[ # The State of Cloud Solution Architecture .left[ > "If someone wants to communicate or to discuss a Cloud Solution Architecture these days, you will not > get a lot of implementation details." > > "You’ll likely get a .red[confused mess of nice symbols, boxes and lines]. Including inconsistent notations with > colours, shapes, line styles, ambiguous naming, unlabelled relationships, .red[generic terminology]. > --
Ricardo Niepel
>
https://azure-development.com/2018/09/11/save-the-world-from-powerpoint-cloud-solution-architects/
] ] --- .left-column[ ## Current State ] ## Essentially, getting us from here ...
[Improve scalability in an Azure web application ](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/scalable-web-app) --- .left-column[ ## Current State ] ## to here
--- .left-column[ ## Current State ] ## using this .left[ ``` @startuml !includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml !define AzurePuml https://raw.githubusercontent.com/RicardoNiepel/Azure-PlantUML/master/dist !includeurl AzurePuml/AzureCommon.puml !includeurl AzurePuml/Web/AzureCDN.puml !includeurl AzurePuml/Web/AzureSearch.puml !includeurl AzurePuml/Storage/AzureBlobStorage.puml Person(user, "User") Container(spa, "Single-Page App", "Angular, JS") AzureWebApp(webApp, "Web & API App", "ASP.NET Core MVC 2.1, C#", "Delivers the SPA and provides RESTful web APIs which are consumed from the SPA") AzureCDN(cdn, "CDN", "Akamai S2", "caches publicly available content for lower latency and faster delivery of content") AzureBlobStorage(staticBlobStorage, "Static Content", "General Purpose v2, Hot, LRS") AzureQueueStorage(queue, "Queue", "General Purpose v2, LRS") Rel(user, spa, "Uses", "HTTPS") Rel(user, webApp, "Uses", "HTTPS") Rel(user, cdn, "Uses", "HTTPS") @enduml ``` ] --- .left-column[ ## Current State ## C4: What is it? ] .right-column[ ## Introducing the C4 model for software architecture .left[ C4 = Context, Containers, Components and Code In a nutshell: > "The C4 model is an "abstraction-first" approach to diagramming software architecture, based upon abstractions > that reflect how software architects and developers think about and build software.""
>
https://c4model.com
To illustrate, let's see an example ] ] --- .left-column[ ## Current State ## C4: What is it? ] ## Context
--- .left-column[ ## Current State ## C4: What is it? ] ## Container
--- .left-column[ ## Current State ## C4: What is it? ] ## Components
--- .left-column[ ## Current State ## C4: What is it? ] ## Code
--- .left-column[ ## Current State ## C4: What is it? ## Azure-PlantUML ] ## Enter Azure-PlantUML
[Ricardo Niepel's Azure-PlantUML](https://github.com/RicardoNiepel/Azure-PlantUML) --- .left-column[ ## Current State ## C4: What is it? ## Azure-PlantUML ] ## Available Azure symbols
[Click here for the full list of available symbols](https://github.com/RicardoNiepel/Azure-PlantUML/blob/master/AzureSymbols.md#azure-symbols) --- # Demo: VS Code --- # How do can I use it ? --- .left-column[ ## Current State ## C4: What is it? ## Azure-PlantUML ## Getting started ] .right-column[ .left[ The tools: 1. VS Code with the PlantUML extension ![PlantUML](images/plantUML.png) 1. [Graphviz](https://graphviz.gitlab.io) 1. Copy one of the examples from: https://github.com/RicardoNiepel/Azure-PlantUML ] ] --- .left-column[ ## Current State ## C4: What is it? ## Azure-PlantUML ## Getting started ] ## Hello World - Azure Functions .right-column[ .left[ Create a `.puml` file and add the following: ``` @startuml !includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml !define AzurePuml https://raw.githubusercontent.com/RicardoNiepel/Azure-PlantUML/master/dist !includeurl AzurePuml/AzureCommon.puml !includeurl AzurePuml/Compute/AzureFunction.puml !includeurl AzurePuml/Web/AzureAPIManagement.puml !includeurl AzurePuml/Databases/AzureSqlDatabase.puml LAYOUT_TOP_DOWN LAYOUT_WITH_LEGEND Person(user, "User") ' Azure services AzureFunction(function, "Azure Function", "python", "Queries the Azure SQL DB") AzureAPIManagement(apimgmt, "Azure API Management", "acts as as a gatekeeper") AzureSqlDatabase(sqlDb, "SQL DB", "Standard S3") ' relationships Rel(user,apimgmt, "Routes traffic based on geolocation") Rel(apimgmt,function, "Reads from", "HTTP") Rel(function, sqlDb, "Reads from", "SQL query") @enduml ``` ] ] --- .left-column[ ## Current State ## C4: What is it? ## Azure-PlantUML ## Getting started ## Hello World ] ## Hello World - Azure Functions .right-column[
] --- .left-column[ ## Current State ## C4: What is it? ## Azure-PlantUML ## Getting started ## Hello World ] # Hello World - Azure Functions .right-column[
] --- ## Thanks [Ricardo Niepel](https://github.com/RicardoNiepel) for a fantastic work and for raising the bar ! --- name: last-page template: inverse ## Let's keep in touch: ### .white[twitter: [diegocasati](http://twitter.com/diegocasati/)] ### https://github.com/dcasati/better-diagrams/


I have an Associate’s Degree in Local Area Networking and am currently attending the University of Denver’s coding bootcamp to obtain a certificate in web development. I am confident I will bring both a strong work ethic and needed skills to your organization. In my academic career, I have demonstrated an exceptional level of skill and competency at every opportunity. My hands-on education has given me proficiency in problem solving, decision making, and patience. I am proactive in a group setting and have gained the flexibility to become an adaptable member of any project. I currently have certificates in CIS Programming and Local Area Networking. My training has enabled me to gain exceptional skills in wireless network, systems connections, and computer security. My certificates have allowed me to hone my problem-solving skills. I am confident in my ability to identify problems in systems and brainstorm creative and innovate ways to solve issues. In addition, my four-year experience as Manager at Afterglow Tanning Studio has given me strong interpersonal and communication skills. I enjoy working with people and am happy to offer any assistance I can. I am energetic, reliable, and goal-oriented, and will work as hard as I can to ensure that all aspects of my job, the mundane as well as the innovative, are done to the best of my ability.


The Article Archive contains New York Times articles dating back to 1851, and is organized into three date ranges.
Available to download (PDF):
Available to view online:
The archives also include Times Machine, a browser-based digital replica of every edition of The New York Times published between 1851 and 1980. Times Machine is available only to paid subscribers (not including NYT Now or NYT Opinion subscribers).
Articles from 1980 or earlier do not include display or classified advertising from the newspaper. Advertising that originally appeared in the newspaper from 1851 to 1980 may be viewed via Times Machine but is not available in PDF files.
Photographs, charts and other illustrations may not be included with some articles published since 1981. For information about ordering photo reproductions from The New York Times, please write to<EMAIL_ADDRESS>Full archive articles include the full text of an article. Prior to 1981, most full articles are available only as PDF files. For these articles, the article page will display a partial article that includes only an excerpt or an abstract.
Archive pricing differs for digital subscribers and nonsubscribers.
Digital Subscribers:
Learn more about digital subscriptions »
Nonsubscribers:
Learn more about your monthly limit as a nonsubscriber »
Access to Times Machine requires a paid digital subscription.
To find what you are looking for, try to make your search terms as specific as possible; just searching for "football" or "Russia" will usually result in too many results to sort through.
Articles you have purchased are available for 90 days from the purchase date.
To access an article you have already purchased, make sure that you are logged in with the account used to purchase the article, then navigate back to the article page via NYTimes.com search or by bookmarking the page.
You may save articles from our Article Archive for personal use. Copying or storing any article for other than personal, noncommercial use requires permission from The New York Times.
For articles prior to 1981, photographs, charts and other illustrations may be viewed in Times Machine and purchased or downloaded through archive search. Photographs and illustrations may not be included with some archived articles published since 1981.
To purchase a photograph for personal use, visit the New York Times Store, email<EMAIL_ADDRESS>or call<PHONE_NUMBER>.
To purchase a license to reuse New York Times credited photographs, contact Redux Pictures at<EMAIL_ADDRESS>or<PHONE_NUMBER>.
To purchase a license to reuse New York Times graphic art and articles contact PARS International at<EMAIL_ADDRESS>or visit http://www.nytreprints.com/.
General questions about photographs can be directed to<EMAIL_ADDRESS>A free, full abstract or text preview is available for almost every article published in this date range. It contains the bibliographic information for the selected article and the word count.
From this free preview, you may decide to purchase the full article. Articles are imaged and stored as PDF files, which can be viewed in Adobe Acrobat Reader. Because the article is displayed as an image, the text is not searchable within Adobe Acrobat Reader.
Articles are also available in Times Machine, a browser-based digital replica of every edition of the New York Times published between 1851 and 1980. Access to Times Machine requires a paid digital subscription.
TimesMachine is a browser-based digital replica of every edition of The New York Times published between 1851 and 1980. TimesMachine works like an online map; you can choose an article, then click, drag and zoom the paper to focus on interesting areas. TimesMachine is available to most print and digital subscribers (NYT Now and NYT Opinion subscribers are not eligible). Viewing articles does not count against a subscriber's 100-article limit unless the article is downloaded as a PDF.
The basic search includes the full text of the article, as well as text from the headline, author field, date range and subject terms.
For more detail on improving your search results, visit the Search FAQ.
The most comprehensive way to find an obituary in the Article Archive is to search the person's last name and "dies" or "death."
For example, for Charlie Chaplin, you would search this way:
Chaplin dies
Chaplin death
We do not offer a refund for articles purchased through our Article Archive. If you have problems accessing an article you have purchased, please email Customer Care.
View our Terms of Sale »
Back copies of The New York Times from the last 90 days can be ordered directly from the newspaper by calling<PHONE_NUMBER>. Click here for pricing.
For information on reproductions of full pages of The New York Times newspaper, please visit our Online Store.
Your digital subscription includes access to the New York Times archives.
If you have additional questions about the Article Archive, please send us an email or call<PHONE_NUMBER>.


The goal is to get as many blocks down as possible. The game ends when a block can't go below the top of the game. If there is a horizontal line that has no empty squares, then that line is removed.
All blocks of classic tetris consist of 4 squares, but this game also has blocks that consist of 1, 2, 3, or 5 squares. Also, classic tetris is 10 columns wide, but this game is 12 columns wide by default.


SFUNDING: Utility blockchain platform for DApps and decentralized entertainment services
by Press Release[PRESS RELEASE – Please read disclaimer]
SFUNDING is a Utility Blockchain platform that offers a favorable environment for DApps and decentralized entertainment services as well as ensuring transparency, fairness, and optimal user experience.
Blockchain-based games developed by SFUNDING provide users with numerous outstanding features.
- Track and validate ownership of digital assets.
- Offer a secure payment system
- Increase competitiveness by applying innovative technology
- Trade digital assets easily with high liquidity
- Operating model
SFUNDING system is empowered by Blockchain technology, which brings optimal freedom for the user through an open-source, decentralized, independent, and intermediary-free platform. All user data are securely encrypted and not controlled by any parties control, including SFUNDING Developer Team.
The launch of SFUNDING has opened up a new era of freedom and privacy where user rights and benefits are always the top priority. As an open-source platform, SFUNDING allows everyone to participate in information verification as well as the overall development of the platform.
Transaction information is always public and can be checked at any time to ensure transparency.
- An independent Coin
One of the primary goals of SFUNDING is promoting the development of cryptocurrency by presenting Token Games on DApps and connecting current top trending games.
SFUNDING Token is used as a payment tool for in-game transactions as well as a tradable currency once listed on prestigious Crypto Exchanges. It has high liquidity yet low costs and no intermediary.
- Earning from playing
Inspired by the sharing economy model, SFUNDING has developed a profit-sharing platform where every users and gamer who participate in or play any games on SFUNDING will have the chance to earn income. The particular ratio of profit shared will be decided upon the amount of money spent to play as well as deposit in.
Generally, about 35% to 50% of this amount will be sent out as contribution rewards via events, boss hunts, monster hunts, live stream, or Slots.
The prizes are guaranteed to be attractive and in line with what the players contribute to the system.
In a discussion related to the development of SFUNDING, a representative of SFU Token stated that remaining features of the Token will be completed in the following time along with deploying Marketing campaigns and customer base development strategies. As the plan is already been carry out, it is expected that SFU Token will be listed on Crypto Exchanges by quarter IV of 2020.
To enjoy SFUNDING games, users only need to connect their Metamask Wallet or any Blockchain wallets that integrate Ethereum.
The most noticeable difference between SFUNDING and other Blockchain platform is the tradability of in-game items and characters. Through an in-game fleamarket, players can buyor sell in-game assets at a suitable price, hence, earning long-term profits.
Project information:
- Website: https://sfunding.com/
- Telegram Channel: https://t.me/SfundingGlobal
- Twitter: https://twitter.com/SFundingGlobal
Be the first to know about our price analysis, crypto news and trading tips: Follow us on Telegram or subscribe to our weekly newsletter.


Basics
[b]Bold[/b]
[i]Italicize[/i]
[u]Underline[/u]
[s]Strike-through[/s]
[mark]Highlight[/mark]
[abbr=HyperText Markup Langauge]HTML[/abbr]
[pre]
Pre ("-^-/")
`o__o' ]
Fromatted (_Y_) _/
_..`--'-.`,
Text (__)_,--(__)
7: ; 1
_/,`-.-' :
(_,)-~~(_,)
[/pre]
Inline [code]code[/code] block
log[sub]b[/sub](xy) = log[sub]b[/sub](x) + log[sub]b[/sub](y)
E=mc[sup]2[/sup]
[b]Bold[/b]
[i]Italicize[/i]
[u]Underline[/u]
[s]Strike-through[/s]
[mark]Highlight[/mark]
[abbr=HyperText Markup Langauge]HTML[/abbr]
[pre]
Pre ("-^-/")
`o__o' ]
Fromatted (_Y_) _/
_..`--'-.`,
Text (__)_,--(__)
7: ; 1
_/,`-.-' :
(_,)-~~(_,)
[/pre]
Inline [code]code[/code] block
log[sub]b[/sub](xy) = log[sub]b[/sub](x) + log[sub]b[/sub](y)
E=mc[sup]2[/sup]
Colors
List of all supported color names here
[color=lightcoral]Color by name[/color]
[color=f08080]Color by hex code[/color]
[color=lightcoral]Color by name[/color]
[color=f08080]Color by hex code[/color]
Links and Images
Note: At the moment, [img] urls need to start with http or https.
[url]example.com[/url]
[url=example.com]Click me[/url]
[img]http://roleplayerguild.com/img/spinner.gif[/img]
[url]example.com[/url]
[url=example.com]Click me[/url]
[img]http://roleplayerguild.com/img/spinner.gif[/img]
Quotes
[quote]A quote with no name[/quote]
[quote=Mahz]A quote with a name[/quote]
[quote=Internet Tough Guy]
[quote=CoolCat88]Here's my opinion.[/quote]
Well, that's a wrong opinion.
[/quote]
[quote]A quote with no name[/quote]
[quote=Mahz]A quote with a name[/quote]
[quote=Internet Tough Guy]
[quote=Mahz]
Here's my opinion.
[/quote]
Well, it's wrong. It's a wrong opinion.
[/quote]
Hiders
Hides its contents until the button is clicked. Useful for organizing posts.
[hider]Suprise![/hider]
[hider=Click Me!]Surprise![/hider]
[hider]Suprise![/hider]
[hider=Click Me!]Surprise![/hider]
Tabs
Useful for post organization
[tabs]
[tab=Intro]
This is the beginning
[/tab]
[tab=Interlude]
...
[/tab]
[tab=Conclusion]
But this is how it all ends
[/tab]
[/tabs]
[tabs]
[tab=Intro]
This is the beginning
[/tab]
[tab=Interlude]
...
[/tab]
[tab=Conclusion]
But this is how it all ends
[/tab]
[/tabs]
Alignment
To the left
[center]Dead center[/center]
[right]To the right[/right]
To the left
[center]Dead center[/center]
[right]To the right[/right]
Lists
Only unordered lists are supported at the moment
[list]
[*] Item A
[*] Item B
[*] Item C
[/list]
[list]
[*] Item A
[*] Item B
[*] Nested
[list]
[*] Item A
[*] Item B
[*] Item C
[/list]
[/list]
[list]
[*] Item A
[*] Item B
[*] Item C
[/list]
[list]
[*] Item A
[*] Item B
[*] Nested
[list]
[*] Item A
[*] Item B
[*] Item C
[/list]
[/list]
Indentation
You may have to play with it to get the line-breaks right.
 Built like a uluru heaps he's got a massive icy pole.  As cunning as a stonkered mate he hasn't got a mullet.
[indent]He's got a massive whinge he hasn't got a too right! Built like a uluru heaps he's got a massive icy pole.  As cunning as a stonkered mate he hasn't got a mullet.[/indent]
[indent][indent]He's got a massive whinge he hasn't got a too right! Built like a uluru heaps he's got a massive icy pole.  As cunning as a stonkered mate he hasn't got a mullet.[/indent][/indent]
He's got a massive whinge he hasn't got a too right! Built like a uluru heaps he's got a massive icy pole.  As cunning as a stonkered mate he hasn't got a mullet.
[indent]He's got a massive whinge he hasn't got a too right! Built like a uluru heaps he's got a massive icy pole.  As cunning as a stonkered mate he hasn't got a mullet.[/indent]
[indent][indent]He's got a massive whinge he hasn't got a too right! Built like a uluru heaps he's got a massive icy pole.  As cunning as a stonkered mate he hasn't got a mullet.[/indent][/indent]
Headings
Useful for breaking lengthy text into subtitled hierarchies.
[h1]Header 1[/h1]
[h2]Header 2[/h2]
[h3]Header 3[/h3]
[h1]Header 1[/h1]
Grab us a cut snake how it'll be chuck a sickie.   As cunning as a bluey heaps trent from punchy grouse.  She'll be right gobful no dramas flat out like a chunder. As stands out like kero with he hasn't got a blowie. Trent from punchy ambo my as cunning as a postie. ocker to as cross as a jug. Lets throw a cubby house where gutful of flick.
[h3]Header 3[/h3]
He hasn't got a bog standard also she'll be right ironman. She'll be right rock up come a bingle.  He hasn't got a rapt also as busy as a fruit loop. Lets get some stubby holder also as stands out like smokes. Built like a down under mate built like a barrack. Mad as a mate's rate how you little ripper esky.
Tables
First row is the header row.


\_
mpi-report.tex
MPI: A Message-Passing Interface Standard
Version 2.1
Message Passing Interface Forum
This document describes the Message-Passing Interface ( MPI)
standard, version 2.1.
The MPI standard includes point-to-point message-passing,
collective communications, group and communicator concepts,
process topologies, environmental management,
process creation and management, one-sided communications,
extended collective operations, external interfaces, I/O,
some miscellaneous topics, and a profiling interface.
Language bindings for C, C++ and Fortran are defined.
Technically, this version of the standard is based on
`` MPI: A Message-Passing Interface Standard, June 12,
1995'' ( MPI-1.1) from the MPI-1 Forum,
and `` MPI-2: Extensions to the Message-Passing Interface,
July, 1997'' ( MPI-1.2 and MPI-2.0) from the MPI-2 Forum,
and errata documents from the MPI Forum.
Historically, the evolution of the standards is from
MPI-1.0 (June 1994) to MPI-1.1 (June 12, 1995) to
MPI-1.2 (July 18, 1997), with several clarifications and additions
and published as part of the MPI-2 document, to
MPI-2.0 (July 18, 1997), with new functionality, to
MPI-1.3 (May 30, 2008),
combining for historical reasons
the documents 1.1 and 1.2 and some errata
documents
to one combined document,
and this document, MPI-2.1, combining the previous documents.
Additional clarifications and errata corrections
to MPI-2.0 are also included.
(c) 1993, 1994, 1995, 1996, 1997,
2008
University of Tennessee, Knoxville, Tennessee.
Permission to copy without fee all or part of this material is
granted, provided the University of Tennessee copyright notice and the
title of this document appear, and notice is given that copying is by
permission of the University of Tennessee.
Version 2.1: Mon Aug 4 09:37:31 2008, 2008. This document combines the previous documents
MPI-1.3 (May 30, 2008)
and MPI-2.0 (July 18, 1997).
Certain parts of MPI-2.0, such as some sections of Chapter 4,
Miscellany, and Chapter 7, Extended Collective Operations have
been merged into the Chapters of MPI-1.3. Additional errata and
clarifications collected by the MPI Forum are also included in
this document.
Version 1.3: May 30, 2008. This document combines the previous
documents MPI-1.1 (June 12, 1995) and the MPI-1.2 Chapter in MPI-2
(July 18, 1997). Additional errata collected by the MPI Forum
referring to MPI-1.1 and MPI-1.2 are also included in this
document.
Version 2.0: July 18, 1997. Beginning after the release of
MPI-1.1, the MPI Forum began meeting to consider corrections and
extensions. MPI-2 has been focused on process creation and
management, one-sided communications, extended collective
communications, external interfaces and parallel I/O. A miscellany
chapter discusses items that don't fit elsewhere, in particular
language interoperability.
Version 1.2: July 18, 1997. The MPI-2 Forum introduced MPI-1.2 as
Chapter 3
in the standard " MPI-2: Extensions to the Message-Passing
Interface", July 18, 1997. This section contains clarifications
and minor corrections to Version 1.1 of the MPI Standard. The only
new function in MPI-1.2 is one for identifying to which version of
the MPI Standard the implementation conforms. There are small
differences between MPI-1 and MPI-1.1. There are very few differences
between MPI-1.1 and MPI-1.2, but large differences between MPI-1.2
and MPI-2.
Version 1.1: June, 1995. Beginning in March, 1995, the Message-Passing Interface Forum reconvened to
correct errors and make clarifications in the MPI document of May 5, 1994,
referred to below as Version 1.0. These discussions resulted in Version 1.1,
which is this document. The changes from Version 1.0 are minor. A version
of this document with all changes marked is available. This paragraph is an
example of a change.
Version 1.0: May, 1994. The Message-Passing Interface Forum (MPIF), with participation from over
40 organizations, has been meeting since January 1993 to discuss and
define a set of library interface standards for message
passing.
MPIF is not sanctioned or supported by any official
standards organization.
The goal of the Message-Passing Interface, simply stated, is to
develop a widely used
standard for writing message-passing programs.
As such the interface should
establish a practical, portable, efficient, and flexible standard
for message-passing.
This is the final report, Version 1.0, of
the Message-Passing Interface Forum. This document contains all the
technical features proposed for the interface. This copy of the draft
was processed by LaTeX on
May 5, 1994.
Please send comments on MPI to
<EMAIL_ADDRESS>Your comment will be forwarded to
MPI Forum
committee members who will
attempt to respond.
Acknowledgments
This document represents the work of many people who have served on
the MPI Forum. The meetings have been attended by dozens of people
from many parts of the world. It is the hard and dedicated work of
this group that has led to the MPI standard.
The technical development was carried out by subgroups, whose work was
reviewed by the full committee. During the period of development of
the Message-Passing Interface ( MPI), many people helped with this
effort.
Those who served as primary coordinators in MPI-1.0 and MPI-1.1 are:
- Jack Dongarra, David Walker, Conveners and Meeting Chairs
- Ewing Lusk, Bob Knighten, Minutes
- Marc Snir, William Gropp, Ewing Lusk, Point-to-Point Communications
- Al Geist, Marc Snir, Steve Otto, Collective Communications
- Steve Otto, Editor
- Rolf Hempel, Process Topologies
- Ewing Lusk, Language Binding
- William Gropp, Environmental Management
- James Cownie, Profiling
- Tony Skjellum, Lyndon Clarke, Marc Snir, Richard Littlefield, Mark Sears,
Groups, Contexts, and Communicators
- Steven Huss-Lederman, Initial Implementation Subset
The following list includes some of the active participants in
the MPI-1.0 and MPI-1.1 process not mentioned above.
| Ed Anderson |
Robert Babb |
Joe Baron |
Eric Barszcz |
|
Scott Berryman |
Rob Bjornson |
Nathan Doss |
Anne Elster |
|
Jim Feeney |
Vince Fernando |
Sam Fineberg |
Jon Flower |
|
Daniel Frye |
Ian Glendinning |
Adam Greenberg |
Robert Harrison |
|
Leslie Hart |
Tom Haupt |
Don Heller |
Tom Henderson |
|
Alex Ho |
C.T. Howard Ho |
Gary Howell |
John Kapenga |
|
James Kohl |
Susan Krauss |
Bob Leary |
Arthur Maccabe |
|
Peter Madams |
Alan Mainwaring |
Oliver McBryan |
Phil McKinley |
|
Charles Mosher |
Dan Nessett |
Peter Pacheco |
Howard Palmer |
|
Paul Pierce |
Sanjay Ranka |
Peter Rigsbee |
Arch Robison |
|
Erich Schikuta |
Ambuj Singh |
Alan Sussman |
Robert Tomlinson |
|
Robert G. Voigt |
Dennis Weeks |
Stephen Wheat |
Steve Zenith
|
The University of Tennessee and Oak Ridge National Laboratory
made the draft available by anonymous FTP
mail servers and were instrumental in distributing
the document.
The work on the MPI-1 standard was supported in part by ARPA and NSF
under grant ASC-9310330,
the National Science Foundation Science and
Technology Center Cooperative Agreement No. CCR-8809615,
and by the Commission of the European Community through Esprit project
P6643 (PPPE).
Introduction to MPI
Overview and Goals
Background of MPI-1.0
Background of MPI-1.1, MPI-1.2, and MPI-2.0
Background of MPI-1.3 and MPI-2.1
Who Should Use This Standard?
What Platforms Are Targets For Implementation?
What Is Included In The Standard?
What Is Not Included In The Standard?
Organization of this Document
MPI Terms and Conventions
Document Notation
Naming Conventions
Procedure Specification
Semantic Terms
Data Types
Opaque Objects
Array Arguments
State
Named Constants
Choice
Addresses
File Offsets
Language Binding
Deprecated Names and Functions
Fortran Binding Issues
C Binding Issues
C++ Binding Issues
Functions and Macros
Processes
Error Handling
Implementation Issues
Independence of Basic Runtime Routines
Interaction with Signals
Examples
Point-to-Point Communication
Introduction
Blocking Send and Receive Operations
Blocking Send
Message Data
Message Envelope
Blocking Receive
Return Status
Passing MPI_STATUS_IGNORE for Status
Data Type Matching and Data Conversion
Type Matching Rules
Type MPI_CHARACTER
Data Conversion
Communication Modes
Semantics of Point-to-Point Communication
Buffer Allocation and Usage
Model Implementation of Buffered Mode
Nonblocking Communication
Communication Request Objects
Communication Initiation
Communication Completion
Semantics of Nonblocking Communications
Multiple Completions
Non-destructive Test of status
Probe and Cancel
Persistent Communication Requests
Send-Receive
Null Processes
Datatypes
Derived Datatypes
Type Constructors with Explicit Addresses
Datatype Constructors
Subarray Datatype Constructor
Distributed Array Datatype Constructor
Address and Size Functions
Lower-Bound and Upper-Bound Markers
Extent and Bounds of Datatypes
True Extent of Datatypes
Commit and Free
Duplicating a Datatype
Use of General Datatypes in Communication
Correct Use of Addresses
Decoding a Datatype
Examples
Pack and Unpack
Canonical MPI_PACK and MPI_UNPACK
Collective Communication
Introduction and Overview
Communicator Argument
Specifics for Intracommunicator Collective Operations
Applying Collective Operations to Intercommunicators
Specifics for Intercommunicator Collective Operations
Barrier Synchronization
Broadcast
Example using MPI_BCAST
Gather
Examples using MPI_GATHER, MPI_GATHERV
Scatter
Examples using MPI_SCATTER, MPI_SCATTERV
Gather-to-all
Examples using MPI_ALLGATHER, MPI_ALLGATHERV
All-to-All Scatter/Gather
Global Reduction Operations
Reduce
Predefined Reduction Operations
Signed Characters and Reductions
MINLOC and MAXLOC
User-Defined Reduction Operations
Example of User-defined Reduce
All-Reduce
Reduce-Scatter
Scan
Inclusive Scan
Exclusive Scan
Example using MPI_SCAN
Correctness
Groups, Contexts, Communicators, and Caching
Introduction
Features Needed to Support Libraries
MPI's Support for Libraries
Basic Concepts
Groups
Contexts
Intra-Communicators
Predefined Intra-Communicators
Group Management
Group Accessors
Group Constructors
Group Destructors
Communicator Management
Communicator Accessors
Communicator Constructors
Communicator Destructors
Motivating Examples
Current Practice #1
Current Practice #2
(Approximate) Current Practice #3
Example #4
Library Example #1
Library Example #2
Inter-Communication
Inter-communicator Accessors
Inter-communicator Operations
Inter-Communication Examples
Example 1: Three-Group ``Pipeline"
Example 2: Three-Group ``Ring"
Example 3: Building Name Service for Intercommunication
Caching
Functionality
Communicators
Windows
Datatypes
Error Class for Invalid Keyval
Attributes Example
Naming Objects
Formalizing the Loosely Synchronous Model
Basic Statements
Models of Execution
Static communicator allocation
Dynamic communicator allocation
The General case
Process Topologies
Introduction
Virtual Topologies
Embedding in MPI
Overview of the Functions
Topology Constructors
Cartesian Constructor
Cartesian Convenience Function: MPI_DIMS_CREATE
General (Graph) Constructor
Topology Inquiry Functions
Cartesian Shift Coordinates
Partitioning of Cartesian structures
Low-Level Topology Functions
An Application Example
MPI Environmental Management
Implementation Information
Version Inquiries
Environmental Inquiries
Tag Values
Host Rank
IO Rank
Clock Synchronization
Memory Allocation
Error Handling
Error Handlers for Communicators
Error Handlers for Windows
Error Handlers for Files
Freeing Errorhandlers and Retrieving Error Strings
Error Codes and Classes
Error Classes, Error Codes, and Error Handlers
Timers and Synchronization
Startup
Allowing User Functions at Process Termination
Determining Whether MPI Has Finished
Portable MPI Process Startup
The Info Object
Process Creation and Management
Introduction
The Dynamic Process Model
Starting Processes
The Runtime Environment
Process Manager Interface
Processes in MPI
Starting Processes and Establishing Communication
Starting Multiple Executables and Establishing Communication
Reserved Keys
Spawn Example
Manager-worker Example, Using MPI_COMM_SPAWN.
Establishing Communication
Names, Addresses, Ports, and All That
Server Routines
Client Routines
Name Publishing
Reserved Key Values
Client/Server Examples
Simplest Example --- Completely Portable.
Ocean/Atmosphere - Relies on Name Publishing
Simple Client-Server Example.
Other Functionality
Universe Size
Singleton MPI_INIT
MPI_APPNUM
Releasing Connections
Another Way to Establish MPI Communication
One-Sided Communications
Introduction
Initialization
Window Creation
Window Attributes
Communication Calls
Put
Get
Examples
Accumulate Functions
Synchronization Calls
Fence
General Active Target Synchronization
Lock
Assertions
Miscellaneous Clarifications
Examples
Error Handling
Error Handlers
Error Classes
Semantics and Correctness
Atomicity
Progress
Registers and Compiler Optimizations
External Interfaces
Introduction
Generalized Requests
Examples
Associating Information with Status
MPI and Threads
General
Clarifications
Initialization
I/O
Introduction
Definitions
File Manipulation
Opening a File
Closing a File
Deleting a File
Resizing a File
Preallocating Space for a File
Querying the Size of a File
Querying File Parameters
File Info
Reserved File Hints
File Views
Data Access
Data Access Routines
Positioning
Synchronism
Coordination
Data Access Conventions
Data Access with Explicit Offsets
Data Access with Individual File Pointers
Data Access with Shared File Pointers
Noncollective Operations
Collective Operations
Seek
Split Collective Data Access Routines
File Interoperability
Datatypes for File Interoperability
External Data Representation: ``external32''
User-Defined Data Representations
Extent Callback
Datarep Conversion Functions
Matching Data Representations
Consistency and Semantics
File Consistency
Random Access vs. Sequential Files
Progress
Collective File Operations
Type Matching
Miscellaneous Clarifications
MPI_Offset Type
Logical vs. Physical File Layout
File Size
Examples
Asynchronous I/O
I/O Error Handling
I/O Error Classes
Examples
Double Buffering with Split Collective I/O
Subarray Filetype Constructor
Profiling Interface
Requirements
Discussion
Logic of the Design
Miscellaneous Control of Profiling
Examples
Profiler Implementation
MPI Library Implementation
Systems with Weak Symbols
Systems Without Weak Symbols
Complications
Multiple Counting
Linker Oddities
Multiple Levels of Interception
Deprecated Functions
Deprecated since MPI-2.0
Language Bindings
C++
Overview
Design
C++ Classes for MPI
Class Member Functions for MPI
Semantics
C++ Datatypes
Communicators
Exceptions
Mixed-Language Operability
Profiling
Fortran Support
Overview
Problems With Fortran Bindings for MPI
Problems Due to Strong Typing
Problems Due to Data Copying and Sequence Association
Special Constants
Fortran 90 Derived Types
A Problem with Register Optimization
Basic Fortran Support
Extended Fortran Support
The mpi Module
No Type Mismatch Problems for Subroutines with Choice Arguments
Additional Support for Fortran Numeric Intrinsic Types
Parameterized Datatypes with Specified Precision and Exponent Range
Support for Size-specific MPI Datatypes
Communication With Size-specific Types
Language Interoperability
Introduction
Assumptions
Initialization
Transfer of Handles
Status
MPI Opaque Objects
Datatypes
Callback Functions
Error Handlers
Reduce Operations
Addresses
Attributes
Extra State
Constants
Interlanguage Communication
Language Bindings Summary
Defined Values and Handles
Defined Constants
Types
Prototype definitions
Deprecated prototype definitions
Info Keys
Info Values
C Bindings
Point-to-Point Communication C Bindings
Datatypes C Bindings
Collective Communication C Bindings
Groups, Contexts, Communicators, and Caching C Bindings
Process Topologies C Bindings
MPI Environmenta Management C Bindings
The Info Object C Bindings
Process Creation and Management C Bindings
One-Sided Communications C Bindings
External Interfaces C Bindings
I/O C Bindings
Language Bindings C Bindings
Profiling Interface C Bindings
Deprecated C Bindings
Fortran Bindings
Point-to-Point Communication Fortran Bindings
Datatypes Fortran Bindings
Collective Communication Fortran Bindings
Groups, Contexts, Communicators, and Caching Fortran Bindings
Process Topologies Fortran Bindings
MPI Environmenta Management Fortran Bindings
The Info Object Fortran Bindings
Process Creation and Management Fortran Bindings
One-Sided Communications Fortran Bindings
External Interfaces Fortran Bindings
I/O Fortran Bindings
Language Bindings Fortran Bindings
Profiling Interface Fortran Bindings
Deprecated Fortran Bindings
C++ Bindings
Point-to-Point Communication C++ Bindings
Datatypes C++ Bindings
Collective Communication C++ Bindings
Groups, Contexts, Communicators, and Caching C++ Bindings
Process Topologies C++ Bindings
MPI Environmenta Management C++ Bindings
The Info Object C++ Bindings
Process Creation and Management C++ Bindings
One-Sided Communications C++ Bindings
External Interfaces C++ Bindings
I/O C++ Bindings
Language Bindings C++ Bindings
Profiling Interface C++ Bindings
Deprecated C++ Bindings
C++ Bindings on all MPI Classes
Construction / Destruction
Copy / Assignment
Comparison
Inter-language Operability
Change-Log
Changes from Version 2.0 to Version 2.1
Bibliography
Index
Index
Index
Index
Index
Return to MPI-2.1 Standard Index
Return to MPI Forum Home Page
MPI-2.0 of July 1, 2008
HTML Generated on July 6, 2008


| Table Name: reference1 - 99 Fields |
| chartYaxis 2 | Calculated, Number | Calculation:
- Context table: reference1
-
Case (
reference1::chartTimeB = 2; 36.36 ;
reference1::chartTimeB = 4; 72.7 ;
reference1::chartTimeB = 8; 145.46 ;
reference1::chartTimeB = 12; 218.19 ;
reference1::chartTimeB = 16; 290 ;
"")
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| _ktimerID | Normal, Text | Auto-Enter:
Validation:
Storage:
- Repetitions: 1
- Indexing: Minimal
- Automatically create indexes as needed
- Index Language: English
| |
|
|
|
|
| _kpnRecID | Normal, Number | Auto-Enter:
- Serial: Generate: On creation, Next value: 18, Increment: 1
Validation:
- Only during data entry
- Strict data type: Numeric
- Not empty
- Unique
- Strict validation
Storage:
- Repetitions: 1
- Indexing: All
| |
|
|
|
|
| gAM_PM | Normal, Number | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| gDuration | Calculated, Number | Calculation:
- Context table: reference1
-
Time ( reference1::gHours ; reference1::gMinutes ; reference1::gSeconds )
Storage:
- Repetitions: 1
- Do not store calculation results
| |
|
|
|
|
| gHours | Normal, Number | Auto-Enter:
Validation:
- Only during data entry
- Value list: zrHours
Storage:
| |
|
|
|
|
| gHOURSduration | Normal, Text | Auto-Enter:
Validation:
Storage:
- Repetitions: 1
- Indexing: None
- Automatically create indexes as needed
- Index Language: English
| |
|
|
|
|
| gMinutes | Normal, Number | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| go | Normal, Number | Auto-Enter:
Validation:
Storage:
| numberOfDaysGoScriptUsesToMoveForwardOrBackward |
|
|
|
|
| gResources | Normal, Binary | Auto-Enter:
Validation:
Storage:
| This field holds the graphical objects that are referenced by the HTML. |
|
|
|
|
| gtensofHOURSduration | Normal, Text | Auto-Enter:
Validation:
Storage:
- Repetitions: 1
- Indexing: None
- Automatically create indexes as needed
- Index Language: English
| |
|
|
|
|
| gSeconds | Normal, Number | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| gTime | Calculated, Time | Calculation:
- Context table: reference1
-
reference1::gHours & ":" & reference1::gSeconds & reference1::gMinutes
Storage:
| |
|
|
|
|
| range | Normal, Time | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| rownumber | Normal, Number | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| userID | Normal, Text | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| userName | Normal, Text | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| scale | Normal, Time | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| sort | Normal, Text | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| today | Calculated, Date | Calculation:
- Context table: reference1
-
Get ( CurrentDate )
Storage:
| |
|
|
|
|
| day1 | Normal, Date | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| day2 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 1
Storage:
| |
|
|
|
|
| day3 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 2
Storage:
| |
|
|
|
|
| day4 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 3
Storage:
| |
|
|
|
|
| day5 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 4
Storage:
| |
|
|
|
|
| day6 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 5
Storage:
| |
|
|
|
|
| day7Calc | Normal, Date | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| day7 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 6
Storage:
| |
|
|
|
|
| day8 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 7
Storage:
| |
|
|
|
|
| day9 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 8
Storage:
| |
|
|
|
|
| day10 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 9
Storage:
| |
|
|
|
|
| day11 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 10
Storage:
| |
|
|
|
|
| day12 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 11
Storage:
| |
|
|
|
|
| day13 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 12
Storage:
| |
|
|
|
|
| day14 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 13
Storage:
| |
|
|
|
|
| day15 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 14
Storage:
| |
|
|
|
|
| day16 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 15
Storage:
| |
|
|
|
|
| day17 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 16
Storage:
| |
|
|
|
|
| day30 Copy | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 17
Storage:
| |
|
|
|
|
| day18 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 17
Storage:
| |
|
|
|
|
| day19 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 18
Storage:
| |
|
|
|
|
| day20 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 19
Storage:
| |
|
|
|
|
| day21 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 20
Storage:
| |
|
|
|
|
| day22 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 21
Storage:
| |
|
|
|
|
| day23 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 22
Storage:
| |
|
|
|
|
| day24 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 23
Storage:
| |
|
|
|
|
| day25 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 24
Storage:
| |
|
|
|
|
| day26 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 25
Storage:
| |
|
|
|
|
| day27 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 26
Storage:
| |
|
|
|
|
| day28 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 27
Storage:
| |
|
|
|
|
| day29 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 28
Storage:
| |
|
|
|
|
| day30 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 29
Storage:
| |
|
|
|
|
| day31 | Calculated, Date | Calculation:
- Context table: reference1
-
reference1::day1 - 30
//If ( MonthName ( day1 ) = MonthName ( day1 - 30 ) ; day1 - 30 ; "" )
Storage:
| |
|
|
|
|
| day31Calc | Normal, Date | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| dayToBold | Normal, Text | Auto-Enter:
Validation:
Storage:
| DayBoldedInMonthView |
|
|
|
|
| day1TotalTime | Normal, Time | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| gDate | Normal, Date | Auto-Enter:
Validation:
Storage:
| usedByMoveToNewDayScript |
|
|
|
|
| chartTime | Normal, Number | Auto-Enter:
Validation:
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartYaxis | Calculated, Number | Calculation:
- Context table: reference1
-
Case (
reference1::chartTime = 2; 12.65 ;
reference1::chartTime = 4; 25.2 ;
reference1::chartTime = 8; 50.7 ;
reference1::chartTime = 12; 75.6 ;
reference1::chartTime = 16; 100.8 ;
"")
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction10tenths | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) * 1.25
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction9tenths | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) * 1.125
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction8eighths | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 )
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction7eighths | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) * .875
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction6eighths | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) * .75
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction5eighths | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) * .625
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction4eighths | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) / 2
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction3eighths | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) * .375
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction2eighths | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) * .25
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction1eighth | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) / 8
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction1sixteenth | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) / 16
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction1thirtysecond | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTime ;0 ; 0 ) / 32
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| YorN | Normal, Text | Auto-Enter:
Validation:
- Only during data entry
- Value list: YorN
Storage:
| input field on comment box asking user to type in y or n to delete a record. |
|
|
|
|
| mergedRecordIDs | Normal, Text | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| chartTimeB | Normal, Number | Auto-Enter:
Validation:
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction10tenths 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) * 1.25
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction9tenths 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) * 1.125
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction8eighths 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 )
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction7eighths 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) * .875
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction6eighths 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) * .75
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction5eighths 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) * .625
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction4eighths 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) / 2
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction3eighths 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) * .375
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction2eighths 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) * .25
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction1eighth 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) / 8
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction1sixteenth 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) / 16
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| chartTimeFraction1thirtysecond 2 | Calculated, Time | Calculation:
- Context table: reference1
-
Time ( reference1::chartTimeB ;0 ; 0 ) / 32
Storage:
| UsedToSetBarChartScale |
|
|
|
|
| backupRestore | Normal, Text | Auto-Enter:
Validation:
Storage:
- Repetitions: 1
- Indexing: None
- Automatically create indexes as needed
- Index Language: English
| |
|
|
|
|
| sound | Normal, Binary | Auto-Enter:
Validation:
Storage:
| |
|
|
|
|
| TimerSet | Normal, Time | Auto-Enter:
Validation:
Storage:
- Repetitions: 1
- Indexing: None
- Automatically create indexes as needed
| |
|
|
|
|
| TimerDescription | Normal, Text | Auto-Enter:
Validation:
Storage:
- Repetitions: 1
- Indexing: None
- Automatically create indexes as needed
- Index Language: English
| |
|
|
|
|
| repeatAlarm | Normal, Text | Auto-Enter:
Validation:
Storage:
| usedToRepeatAlarmOverAndOverByCheckingTheBoxForThisField |
|
|
|
|
| CurrentRecord | Normal, Text | Auto-Enter:
Validation:
Storage:
| usedByRecordLoadScriptToHighlightForUserWhatRecordIsSelectedUsingConditionalFormatting |
|
|
|
|
| userInitials | Calculated, Text | Calculation:
- Context table: reference1
-
Left ( user::FirstName ; 1 ) & "." & Left ( user::LastName ; 1 ) & "."
Storage:
- Repetitions: 1
- Do not store calculation results
- Index Language: English
| ForUseOniPhoneLayoutsWhereNoSpaceToPutFullName |
|
|
|
|
| blueGreen | Normal, Text | Auto-Enter:
Validation:
Storage:
| backgroundColorField |
|
|
|
|
| ActivityLogDay | Normal, Date | Auto-Enter:
Validation:
Storage:
| usedForIssueFindButtonOnIssueLogLayout |
|
|
|
|
| ActivityLogDayRecordNumber | Normal, Number | Auto-Enter:
Validation:
Storage:
| used to determine if record is the first record or most current record. |
|
|
|
|
| tagCatSort | Normal, Text | Auto-Enter:
Validation:
Storage:
| used to determine current sort applied to category tags |
|
|
|
|
| tagStatSort | Normal, Text | Auto-Enter:
Validation:
Storage:
| used to determine current sort applied to category tags |
|
|
|
|
| version | Calculated, Text | Calculation:
- Context table: reference1
- "3.2b BETA"
Auto-Enter:
Storage:
- Repetitions: 1
- Indexing: None
- Automatically create indexes as needed
- Index Language: English
| |
|
|
|
|


How to configure MonkeyWrench (server and buildbots)
Location
The configuration is stored in a file called MonkeyWrench.xml (for both server and buildbots).
The file is searched for in the following locations (and in this order):
- The environment variable MONKEYWRENCH_CONFIG_FILE (the full path of the file, which in this case does not have to be named 'MonkeyWrench.xml')
- The current directory
- ~/.config/MonkeyWrench (linux only)
- /etc (linux only)
- MyDocuments folder (windows only)
Format
MonkeyWrench.xml is an xml file with the following elements:
<MonkeyWrench Version="2">
<Configuration>
<DataDirectory />
<DatabaseDirectory />
<Host />
<LogFile />
<WebServiceUrl />
<WebSiteUrl />
<ForceFullUpdate>true|false</ForceFullUpdate>
<WebServicePassword />
<DatabaseHost />
<DatabasePort />
<StoreFilesInDB />
<ConnectionRetryDuration />
<LockingAlgorithm />
<SchedulerAccount />
<SchedulerPassowrd />
<AllowedCommitReporterIPs />
<LogVerbosity />
<SiteSkin />
<UploadPort />
<AllowAnonymousAccess />
<AutomaticScheduler />
<AutomaticSchedulerInterval />
<AllowPasswordLogin />
</Configuration>
</MonkeyWrench>
All values can also be set with the equivalent (case insensitive) command line arguments (which override the configuration file)
DataDirectory
Data directory.
Defaults to ~/monkeywrench/data.
For buildbots: The directory of the build data.
For web server: The post commit hook reports are stored in this directory (in the commits subdirectory)
For database server: The files in the database are stored in this directory (in the db/files subdirectory)
Host
The name of the current host. Only relevant for buildbots (in which case it is required).
LogFile
The log file. Defaults to MonkeyWrench.log in the tmp directory (which is platform specific).
WebServiceUrl
The url (http://host[:port]/...) for the web service. Required for buildbots and web server.
ForceFullUpdate
Specifies if a full update should be performed on the database (as opposed to only update what was reported through post-commit hooks, etc).
Only relevant for database/web server. Defaults to true. Possible values: 'true' or 'false'
WebServicePassword
If required, a password to log into the web service.
DatabaseDirectory
DatabaseHost
The host machine of the database. Defaults to 'localhost'.
DatabasePort
The port to use to connect to the database.
StoreFilesInDB
If files are to be stored in the database or in the file system on the server (in the db/files subdirectory of DataDirectory). Only relevant on the server (and will only have effect for new uploads, files won't be moved either way automatically)
ConnectionRetryDuration
If a connection to the server fails, the number of minutes the buildbot should keep trying before failing. Defaults to 1440 minutes (24 hours).
LockingAlgorithm
The locking algorithm to ensure only one process is running at the same time (used by buildbot and scheduler executables). Possible values (case doesn't matter):
- File: A file is created on disk with a read/write lock (managed).
- Semaphore (default): A managed semaphore.
- Mutex: A managed mutex.
- FileExistence: A file is created on disk, and the mere presence of the file indicates that another process has a lock. This is not recommended unless all the other options fail, since if the process crashes or is killed, the lock won't get unlocked until somebody manually deletes the file. The file is created in the temporary directory with a descriptive name.
SchedulerAccount and SchedulerPassword
The credentials the scheduler program should use to connect to the web service. This user must be an Administrator. The default for SchedulerAccount is 'scheduler', while SchedulerPassword doesn't have a default.
Platform
The platform the buildbot is executing on. Possible values (case doesn't matter):
- Empty string: Determine automatically (using PlatformID, which may fail some times, in particular it doesn't currently work on the Mac, which is detected as Linux)
- Mac
- Linux
- Windows
ChildProcessAlgorithm
How child processes can be calculated from a parent process id. Possible values (case doesn't matter):
- Empty string: Determine using the current platform (linux: pgrep, mac: ps, win32: N/A (win32 doesn't need to calculate child processes)
- pgrep
- ps
AllowedCommitReporterIPs
The IPs that can report commits to ReportCommit.aspx or ReportGitHubCommit.aspx. Comma separated list of globs to accept.
LogVerbosity
How verbose the output to the log should be. Valid values: 0 (quiet), 1 (some output) or 2 (verbose). Default: 1.
SiteSkin
The skin used for the web site. Currently supported: moonlight or wrench. Defaults to none.
WebSiteUrl
The url for the web site. This is used to create proper links when notifications are sent. It defaults to the root directory of WebServiceUrl.
UploadPort
The port used at the web service for file uploads. Defaults to 0 (which means the web service will choose a port).
AllowAnonymousAccess
If anonymous access is allowed for everything that's not specifically marked as internal (default: true).
OpenIdProvider
The OpenId provider to use.
OpenIdRoles
Specifies how OpenId emails are to translate into roles. Format: email:role1,role2;email:role2,role3. Email can be a regex. Sample: .*@xamarin.com:Admin
AllowPasswordLogin
If password login is allowed (default: true). Disabling password logins only has an effect if OpenId is enabled (i.e. an OpenIdProvider has been configured).
AutomaticScheduler
'true' or 'false'. If the scheduler is invoked automatically. Only relevant for the server. Defaults to false.
AutomaticSchedulerInterval
The interval (in seconds) the scheduler is invoked automatically. Only relevant if AutomaticScheduler is set to true. Defaults to 60.
Sample configuration
This is a sample configuration file for a buildbot:
<MonkeyWrench Version="2">
<Configuration>
<WebServiceUrl>http://<IP_ADDRESS>/WebServices/</WebServiceUrl>
<WebServicePassword>sample-password</WebServicePassword>
<Host>sample-buildbot</Host>
<DataDirectory>/home/builder/monkeywrench/data</DataDirectory>
</Configuration>
</MonkeyWrench>


tt100 Awards Interview: PRD Logical Solutions
In 2011, Portia Mavhungu, Managing Director at PRD Logical Solutions, broke her pelvis, leaving her wheelchair-bound for seven months. For the first time, she really understood the difficulties that disabled people face every day. This realisation inspired her to pioneer programmes and solutions that would assist those facing the same challenges that she did.
In 2015, Mavhungu received funding from the Technology Innovation Agency (TIA), which allowed her to further develop a newly-formed company, PRD Logical Solutions.
Mavhungu explains that her company plays an integral part in everyday lives – by finding challenges and solving issues with innovative ideas that are affordable and available to every economic class and allowing everyone an equal a chance to face simple daily challenges without struggling.
What is the core focus of your business?
PRD logical solutions is a social innovation company that focuses on innovation for persons living with a disability.
What have been the company’s biggest highlights for 2019?
We’ve received the GCIP social innovation award, were mentioned by president Cyril Ramaphosa at the commemoration speech on June 16th and received the award from the tt100.
Could you tell us about your future plans and upcoming programmes?
We are in the process of commercializing our product and as well as looking for funding to manufacture our own devices.
Why are programs like the tt100 beneficial to enterprises?
It puts us in to touch with the relevant resources and contacts that we need to grow our company and products.
How has winning the award impacted your business?
Besides being the only black female receiving this award it puts us in a position to be examples of women-owned companies to scale our business and contribute to society.
What advice would you give to future leaders who are starting out within the same industry?
No matter what you are doing always know that there is no such thing as a silly idea and when the going gets tough never ever give up allow your passion to overpower your fear.
PRD Logical Solutions recently won the tt100 2019 award for Best Innovation Concept.
Staff writer


Toggle navigation
FRCN
Exchange Overview
Token Trading
Manage tokens
Crypto Converter
Crypto Dragons
Logout
Contact Us!
Name
Email
Message
Send email
Thank you!
Your email has been sent. I'll get back to you shortly.


DNA files
The DNA sequences to be analyzed are presented as this
type of Parameter files. Files in
other formats may be acceptable initially, since they are converted by SweepDNA .
Base positions larger than 2^31 can not be handled. If
this
is a problem, perhaps with a large genome not split into chromosomes, RoughcutDNA may be used to cut it into
pieces.
There is one required parameter:
- Sequence. Structure: see below.
There are four optional parameter:
- Processed. If Yes, indicates that SweepDNA has processed this file, removing
ALUs etc.
- ValidBases. The number of a, c, g or t outside
inserts.
- FirstUnPadded: The position of the first base not
faked by SweepDNA, or -1.
- LastUnPadded: The position of the last base not faked
by SweepDNA.
or -1.
Structure of 'Sequence' parameter
This is a multiparameter, whose lines are in effect concatenated into
one long line. If that line starts with an integer, the position of the
first base represented in the string is set to its value, otherwise to
1.
After that, all characters not used as base codes (tcgawyrmknsvdhb) are
ignored. t, c, g and a are interpreted as their respective bases while
other basecodes are interpreted as unknown.
There may also be inserts indicated,
which will be ignored in reading the file, except that their contents
are
checked to be consistent. They consist of a set of lines as above,
bracketed
by two lines of the structure [|label|: and :|label], respectively,
where
the two labels are identical, typically consisting of 'ALU' (ALU in
primary
strand), 'CALU' (ALU in secondary strand), 'NALU' (nested ALU, ie
ALU containing another insert, in primary strand) or 'NCALU' (nested
ALU
in secondary strand) followed by a number. Analogously, there may also
be 'L1',
'CL1',
'NL1' or 'NCL1' inserts, describing LINE L1 elements, or analogously
named inserts resulting from the action of custom
Brooms.
According to needs, RetroTector may retrieve the primary or secondary
strand of DNA. The contents of 'Sequence' are assumed to represent the
primary strand. If the secondary strand is requested, the bases are
complemented (unknown base remains unknown) und reverse ordered. The
position numbering then starts at the highest position and decreases.
Thus, one particular base pair will be assigned the same position
number irrespective of strand.


All of these things are free as in "free beer!"
They are also Open Source.
(Includes OS X)
You're pretty much good to go!
A Different Environment - not a bad one!
We'll use Cygwin to keep everyone on the same page in our class.
*From Wikipedia's article on Guido van Rossum.
We're not installing any!?
Yep! Django and Python are awesome, they're free and open source; and all you need is a Terminal and a Text Editor!
We'll be using Sublime Text 2 for a bit of a leg up.


--- author: Andre Charland categories: app date: '2011-02-23 22:03:00' link: http://blogs.nitobi.com/andre/index.php/2011/02/23/great-mashable-article-on-html5-and-cross-platform-dev/ permalink: /2011/02/23/phonegap-in-mashable-article-on-html5-and-cross-platform-dev/ slug: phonegap-in-mashable-article-on-html5-and-cross-platform-dev status: publish title: PhoneGap in Mashable Article on HTML5 and Cross Platform Dev type: post format: html ---
Christina Warren just posted a good high level overview of how HTML5 is addressing cross platform dev for devices.
On PhoneGap:
PhoneGap is an HTML5 app platform that lets developers build native apps using HTML5, CSS3 and JavaScript. What really sets PhoneGap apart is that it lets developers create a full-functioning mobile web app but place that app in a native wrapper, so that it can use native device APIs and get submitted to the App Store or Android Market.
In essence, it enables mobile developers to create an app just as if they were targeting the mobile browser but with the benefit of being able to get into the App Store.
PhoneGap Build is a new service (still in beta) that lets developers quickly and easily create app-store ready versions of their apps for various platforms. It does all the work of compiling the code for various platforms and gives the developer a final build suitable for submission to the app market of their choice.
I don't really consider Titanium as an HTML5 solution but it does tackle cross platform dev.


{% extends "includes/base.html" %} {% load static %} {% block title %}Siphon | Pain-free publishing for React Native{% endblock %} {% block css %} {% endblock %} {% block content %} {% include "includes/landing_header.html" %}
A single codebase for your
iOS and Android app.
Build, run and publish with
the same simple commands.
Push instant over-the-air
updates to production apps.
Iterate faster and skip the
App Store approval queue.
Write your app in JavaScript
with React Native.
One consistent developer experience across both platforms.
Our sandbox environment lets you create and test React Native apps without installing Xcode or Android Studio.
Download the Siphon command-line tool and develop apps on Mac or Linux (Windows support coming soon).
Start the quickstart tutorialSkip the App Store approval queue for most updates and avoid waiting five days for every change. Keep your hard-earned five star reviews.
We use diffs and asset caching to keep updates fast and minimize bandwidth.
The siphon play command conveniently wraps the underlying tools in Xcode and the Android SDK to create a simple unified workflow.
Type one command, enter a few details and we'll handle the rest. Quit messing around with certificates and provisioning profiles.
More about publishingShare a preview of your app to external beta testers by email. Send them live updates as you make changes.
It's like TestFlight for React Native, but without the approval process.
More about beta testing


×
Enter
OR
Log in
Balance
HELP
LogOut
Buy
⌕
⇧
⇦
⇨
⇩
no data yet
How to use recharge Voucher
x
Recharge
Open browser
goto
Click
'CONNECT'
Enter
VOUCHER
Tips
# Check balance
goto
# Login
goto
# Logout
goto
Voucher
FREE WEBSITES
x
EDUCATION
JOBS
ANNOUNCEMENTS
x
Connect


Java provides an ability to declare a method in a subclass with the same name as a method in the superclass. It's known as method overriding. The benefit of overriding is that a subclass can give its own specific implementation of a superclass method.
Overriding methods in subclasses allows a class to inherit from a superclass whose behavior is "close enough" and then to change this behavior as the subclass needed.
Instance methods can be overridden if they are inherited by the subclass. The overriding method must have the same name, parameters (number and type of parameters), and the return type (or a subclass of the type) as the overridden method.
Example. Here is an examples of overriding.
class Mammal {
public String sayHello() {
return "ohlllalalalalalaoaoaoa";
}
}
class Cat extends Mammal {
@Override
public String sayHello() {
return "meow";
}
}
class Human extends Mammal {
@Override
public String sayHello() {
return "hello";
}
}
The hierarchy includes three classes: Mammal
, Cat
and Human
. The class Mammal
has the method sayHello
. Each subclass overrides the method. The @Override
annotation indicates the method is overridden. It is optional but helpful.
Let's create instances and invoke the method.
Mammal mammal = new Mammal();
System.out.println(mammal.sayHello()); // it prints "ohlllalalalalalaoaoaoa"
Cat cat = new Cat();
System.out.println(cat.sayHello()); // it prints "meow"
Human human = new Human();
System.out.println(human.sayHello()); // it prints "hello"
As you can see, each subclass has its own implementation of the method sayHello
.
Note: you can invoke the base class method in the overridden method using the keyword super
.
There are several rules for methods of subclasses which should override methods of a superclass:
To verify these rules, here is a special annotation @Override. It allows you to know whether a method will be actually overridden or no. If for some reason, the compiler decides the method cannot be overridden, it will generate an error. But, remember, the annotation is not required, it's only for convenience.
If you'd like to forbid an overriding of a method, declare it with the keyword final.
public final void method() {
// do something
}
Now, If you try to override this method in a subclass, a compile-time error happens.
It's possible to override and overload an instance method in a subclass at the same time. Overloaded methods do not override superclass instance methods. They are new methods, unique to the subclass.
The following example demonstrates it.
class SuperClass {
public void invokeInstanceMethod() {
System.out.println("SuperClass: invokeInstanceMethod");
}
}
class SubClass extends SuperClass {
@Override
public void invokeInstanceMethod() {
System.out.println("SubClass: invokeInstanceMethod is overridden");
}
// @Override -- method doesn't override anything
public void invokeInstanceMethod(String s) {
System.out.println("SubClass: overloaded invokeInstanceMethod");
}
}
The following code creates an instance and calls both methods:
SubClass clazz = new SubClass();
clazz.invokeInstanceMethod(); // SubClass: invokeInstanceMethod() is overridden
clazz.invokeInstanceMethod("s"); // SubClass: overloaded invokeInstanceMethod(String)
Remember, overriding and overloading are different mechanisms but you can mix them together in one class hierarchy.
Static methods cannot be overridden. If a subclass has a static method with the same signature (name and parameters) as a static method in the superclass then the method in the subclass hides the one in the superclass. It's completely different from methods overriding.
You will get a compile-time error if a subclass has a static method with the same signature as an instance method in the superclass or vice versa. But if the methods have the same name but different parameters there are no problems.


--- layout: page title: Contact sidebar_link: true weight: 20 ---
The best way to get hold of me is on email: {{ site.email }}.


MissMech: Testing Homoscedasticity, Multivariate Normality, and Missing
Completely at Random
To test whether the missing data mechanism, in a set of incompletely observed data, is one of missing completely at random (MCAR).
For detailed description see Jamshidian, M. Jalal, S., and Jansen, C. (2014). "MissMech: An R Package for Testing Homoscedasticity, Multivariate Normality, and Missing Completely at Random (MCAR)," Journal of Statistical Software, 56(6), 1-31. URL http://www.jstatsoft.org/v56/i06/.
| Version: |
1.0.2 |
| Imports: |
graphics |
| Published: |
2015-04-14 |
| Author: |
Mortaza Jamshidian, Siavash Jalal, and Camden Jansen |
| Maintainer: |
Mortaza Jamshidian <mori at fullerton.edu> |
| License: |
GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: |
no |
| Citation: |
MissMech citation info |
| In views: |
MissingData |
| CRAN checks: |
MissMech results |
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=MissMech
to link to this page.


The District Museum, Pillalamarri was established in the year 1976 in a one-acre area. It is located at a distance of 3 km from Mahabubnagar town, close to the popular 700-year old Pillalamarri Banyan tree.The museum is a repository of stone sculptures collected from various places of Mahabubnagar District such as Poodur, Kalwakol, Gollathagudi, Vaddeman dating back from 6th to 16th Century AD.
In addition to this sculptural gallery, later another building was constructed and named Jurala pavilion which accommodates objects such as pre-historic stone tools, coins, pottery etc., that were relocated from the Jurala submergence area and other items used by local samsthanams of the region.It is 5.3km from Mahabubnagar
Visiting Timings:-10am to 6pm
As per history of this place, Lord Brahma, after losing his powers due to a curse of a saint, performed penance for Lord Shiva. It is believed that Lord Shiva appeared in nine different forms, thus nine different temples to celebrate each form. The shivalinga in the main temple of Bala Brahma temple is seen in the form of footprint of a bull.Jogulamba Temple is very ancient and one of 18 Maha Shakti Peethas of Goddess Shakti.
This temple is 5th Shakti Peetha representing Upper teeth part of Goddess Shakti. The current temple of Jogulamba was built in 2005 as the original temple was destroyed. The idols of Goddess were places in Bala Brahmeswara temple for 6 centuries.Chalukyas, who ruled this area from Badami for over two centuries, constructed nine magnificent temples called Navabrahma temples along with Sangameswara Temple between 640 AD and 753 AD.
The temple construction was initiated by Chalukya King Pulakesi II during his visit to Alampur while returning to Badami after his victory over Pallavas of Kanchi. Later, the rulers of Rashtrakuta and Kalyani Chalukya Empires have contributed to the enhancement of these temples. The Navabrahma temples, named as Bala Brahma, Taraka Brahma, Swarga Brahma, Padma Brahma, Garuda Brahma, Kumara Brahma, Arka Brahma, Vira Brahma and the Vishwa Brahma are built in close proximity on the banks of River Tungabhadra.
Among these, Bala Brahma temple is the biggest and only active temple. The Jogulamba Temple is also located near these temples and all the places can be visited together. Sangameswara Temple is about 2 Kms from Navabrahma temples site.It is 124.7km from Mahabubnagar
Visiting Timings:-10:30am to 5pm
The most famous ruler and strongman of Gadwal called Peda Soma Bhupaludu (Somanadri) built this fort during 17th century. The Fort was constructed with huge walls and moats around the fort which made the Gadwal Fort very strong and impregnable. The fort has three temples called Sri Chennakesava Temple, Ramalayam, Sri Venugopala Temple among which Chennakesava Temple is grand with large temple tower, stone mandapa and beatiful carvings.
Sri Pedda Soma Bhupala has defeated the Nawab of Kurnool and brought 32 feet long Cannon which was the biggest in the country which can be still seen in the fort. Gadwal is also famous for silk sarees. The weavers are known for weaving smallest Silk Saree which can be kept in a match Box.Presently Telangana Governmant has taken so many steps to renovate the heritage of the Gadwal Fort and make it a major tourist destination of Telangana. Presently part of the fort houses the college of Maharani Adi Laxmi Devamma (wife of Nalla Somanadri).It is 96.2km from Mahabubnagar
Visiting Timings:-9am to 5pm


OLMS
中文
English
Sensor Data
Moisture Content Sensor
Pressure Sensor
Strain Sensor
Stability Calculation
Alarm System
History
Start Date:
End Date:
Query
#
Time
Type
Sensor Name
Position
Value
Alarm Level


| Patient | Isabella Jones |
| Date of birth | May 1, 1947 |
| Sex | Female |
| Race | White |
| Ethnicity | Not Hispanic or Latino |
| Contact info | Primary Home: 1357 Amber Drive Beaverton, OR 97006, US Tel:<PHONE_NUMBER> |
| Patient IDs | 1 2.16.840.1.113883.4.6<PHONE_NUMBER> 2.16.840.1.113883.4.1 |
| Document Id | Test CCDA <IP_ADDRESS>.<IP_ADDRESS>.1 |
| Document Created: | August 6, 2012 |
| Care provision | Pnuemonia from August 6, 2012, 00:28 +0500 to August 6, 2012, 00:58 +0500 |
| Performer (primary care provider) | Dr. Henry Seven of Get Well Clinic |
| Author | Henry Seven |
| Contact info | 1002 Healthcare Drive Portland, OR 97266, US Tel:<PHONE_NUMBER> |
| Encounter Id | 1 2.16.840.1.113883.4.6 |
| Encounter Type | Pnuemonia |
| Encounter Date | From August 6, 2012, 00:28 +0500 to August 6, 2012, 00:58 +0500 |
| Encounter Location | id: 2.16.840.1.113883.4.6 |
| Responsible party | Dr Henry Seven |
| Personal relationship | Mr. Ralph Jones |
| Contact info | Primary Home: 1357 Amber Drive Beaverton, OR 97006, US Tel:<PHONE_NUMBER> |
| Personal relationship | Mr. Frank Jones |
| Contact info | Primary Home: 1357 Amber Drive Beaverton, OR 97006, US Tel:<PHONE_NUMBER> |
| Entered by | Mary McDonald |
| Contact info | 1002 Healthcare Drive Portland, OR 97266, US Tel:<PHONE_NUMBER> |
| Signed | Henry Seven at August 6, 2012 |
| Contact info | 1002 Healthcare Drive Portland, OR 97266, US Tel:<PHONE_NUMBER> |
| Informant | Henry Seven |
| Contact info | 1002 Healthcare Drive Portland, OR 97266, US Tel:<PHONE_NUMBER> |
| Informant | Frank Jones |
| Information recipient: | Henry Seven |
| Legal authenticator | Henry Seven signed at August 6, 2012 |
| Contact info | 1002 Healthcare Drive Portland, OR 97266, US Tel:<PHONE_NUMBER> |
| Document maintained by | Get Well Clinic |
| Contact info | Work Place: 1002 Healthcare Drive Portland, OR 97266, US Tel:<PHONE_NUMBER> |
| Substance | Reaction | Severity | Status |
|---|---|---|---|
| Codeine | Shortness of Breath | Moderate | Active |
| Encounter | Performer | Location | Date |
|---|---|---|---|
| Pnuemonia | Dr Henry Seven | Get Well Clinic | 20120806 |
| Vaccine | Date | Status |
|---|---|---|
| Influenza virus vaccine, IM | May 2012 | Completed |
| Tetanus and diphtheria toxoids, IM | Aor 2012 | Completed |
| Medication | Directions | Start Date | Status | Indications | Fill Instructions |
|---|---|---|---|---|---|
| Albuterol 0.09 MG/ACTUAT inhalant powder | 0.09 MG/ACTUAT inhalant solution, 2 puffs once | 20120806 | Active | Pneumonia (233604007 SNOMED CT) | Generic Substitition Allowed |
| Planned Activity | Planned Date |
|---|---|
| Admit Yourself to Community Health and Hospitals for Pnuemonia | 20120806 |
Recommend Admission to Community Health and Hospitals for Pnuemonia
| Procedure | Date |
|---|---|
| Chest X-Ray | 2012 |
| Functional Condition | Effective Dates | Condition Status |
|---|---|---|
| Dependence on cane | 2008 | Active |
| Memory impairment | 2008 | Active |
| LABORATORY INFORMATION | |
| Chemistries and drug levels | |
| HGB (M 13-18 g/dl; F 12-16 g/dl) | 13.2 |
| WBC (4.3-10.8 10+3/ul) | 6.7 |
| PLT (135-145 meq/l) | 123 (L) |
| Social History Element | Description | Effective Dates |
|---|---|---|
| smoking | Former Smoker (1 pack per day | 20050501 to 20110227 |
| smoking | Current Everyday Smoker 2 packs per day | 20110227 - today |
| Date / Time: | Nov 1, 2011 | August 6, 2012 |
|---|---|---|
| Height | 69 inches | 69 inches |
| Weight | 189 lbs | 194 lbs |
| Blood Pressure | 132/86 mmHg | 145/88 mmHg |


Constructor
new ReposApplication()
Initialize class fields and runs init method.
Methods
changeReposTag()
Method responsible for get all repos tags elements,
get data about users repositories and send received data to changeReposTagOnDOM() method.
changeReposTagOnDOM(element, reposArr, updatedAfter)
Method that creates new div element with data received from backend.
Parameters:
| Name | Type | Description |
|---|---|---|
element |
HTMLElement | |
reposArr |
Array.<any> | |
updatedAfter |
string |
connectDOMElements()
Initializes this.viewElements with list of DOM elements, uses external function mapListToDOMElements().
generateRepositoriesTable(reposArr)
Generates table with repositories.
Parameters:
| Name | Type | Description |
|---|---|---|
reposArr |
Array.<any> |
Returns:
table element
init()
Runs methods responsible for proper working of the site;
run methods: connectDOMElements(), setupListeners(), changeReposTag() and onPageScroll().
onPageScroll()
Toggles class of navbar when page is being scrolled.
onReposSearchBtnClick(event)
Handles search button click event.
Checking form inputs and according to them appends repos element to the site.
Parameters:
| Name | Type | Description |
|---|---|---|
event |
Event |
setupListeners()
Setting up all necessary listeners.


Configuring your project
Note: We are currently taking feedback on ways to improve the configuration navigation for the Mixed Reality Toolkit. Please feel free to suggest options in the XRTK Discord channel or raise an RFI request.
Configuation Profiles
Configuration Profiles are derived from scriptable objects, which are only meant to store data, similar to a json structure but instead in Unity yaml.
The Mixed Reality Toolkit really focused a lot of the architecure around profiles for different systems, services, and data providers. Profiles provide these objects with the developer's specific application setup, requirements, and conditions.
Note: All of the Mixed Reality Toolkit's Systems and Services require a profile to run. Data Providers and additional custom services defined by developers may optionally include a profile.
When profiles are created by the Toolkit, they are then placed in the following folder:
Assets\XRTK.Generated\CustomProfiles
This path can be customized by updating your preference in the preferences window.
Master Configuration Profile
The Mixed Reality Toolkit has a single "master" configuration profile which is referenced on the MixedRealityToolkit
GameObject in your configured scene.
Double clicking on this profile will select and show the main configuration screen for the Mixed Reality Toolkit:
The "Default" profiles provided by the Mixed Reality Toolkit are locked by default, so when you view these in the inspector they will appear greyed out. This is to ensure you always have a common default for any project. We recommend you create your own profiles (see below) when you need to customize the configuration for your project.
From here you can configure all the core Systems and their individual profile settings:
- Camera System Settings
- Input System Settings
- Boundary System Settings
- Teleporting System Settings
- Spatial Awareness System Settings
- Diagnostics System Settings
- Additional Service Providers
Customizing your project
When you start a new project, we provide a default configuration with every system and service pre-configured and turned on, for a fully cross-platform project. Developers may choose to further customize this default configuration or approach the project from the opposite end and choose to opt out of everything:
- Clone & Customize: Copies all of the default profile settings for you and enables them to be editable.
Note: This is great for tweaking existing options to fit your edge case needs.
- Create new profiles: Start with a blank profile with everything turned off by default.
Note: This is great for slowly integrating the Mixed Reality Toolkit into an existing project.
Each profile can be individually cloned and customized to your project's needs:
Related Articles
Raise an Information Request
If there is anything not mentioned in this document or you simply want to know more, raise an RFI (Request for Information) request here.


Pyjamas is a compiler - it's a specialist tool that focusses specifically on the job of turning python into javascript. It does not include "compression" technology. That task is done by specialist technology such as the "YUI Javascript Compressor", the use of which will make it damn hard for you to debug an application as it completely trashes all of the names of functions and variables. So only make use of compressors if you absolutely have to.
Sujan Shakya has contributed a script to compress pyjs output using such a
compressor (contrib/pyjscompressor.py
). It reduces the output
size to about 50%.
HTTP 1.1 GZip Compression is usually enabled by default in both browsers and Web Servers, giving anywhere between an 8:1 and a 10:1 compression ratio in network traffic of pyjamas-compiled output. So, although the output from pyjamas looks scarily large, it's actually not as bad as it looks. 500k is not uncommon: the actual amount of network traffic can be as little as 50k to 80k, which you can verify by installing a network sniffer on your network. So, you actually get the best of both worlds: human-readable javascript and efficient transfer of your application to the users.


The calendar is keyboard accessible.
When the calendar is opened, focus is set on the current date. Press the Left and Right arrow keys to navigate the row by week day. Press the Home and End keys to jump to the beginning or end of the current row. Press the Up and Down arrow keys to navigate between weeks on the same week day. Press the PageDown and PageUp keys to navigate backwards or forwards by month. Press Alt+PageDown and Alt+PageUp to navigate backwards or forwards by year. Press the Spacebar to edit a comment. Press the Enter key to activate the selected date. Press Escape to close the calendar without making a selection. Mouse users can click the desired date buttons as usual.
For advanced configuration including JSON callback instructions, click here.


Copy the encoded proto value for this key from the request data, follow
the respective link, and click "Import from clipboard" to see its content.
Close
Copy the encoded proto value for these keys from the JSON response, follow
the respective link, and click "Import from clipboard" to see its content.
Close
Confirm to hardcode the following response for all Suggest requests.
Cancel
Confirm
[[toastMessage_]]


In-Order Depth-First Traversal Traverse the left subtree, i.e., call Inorder(left-subtree) Visit the root. Traverse the right subtree, i.e., call Inorder(right-subtree)


Place all the styles related to the matching controller here. They will automatically be included in application.css.


Good watch face design typically has a few characteristics. They are focused, have a clear hierarchy and have great color harmony. Keep all of those in mind when designing.
Watchface Checklist
✓ Do you have a DIM mode? when DIM mode is active it should be either pure black and pure white to display well on all watchfaces.
✓ Dim mode includes the time
✓ Fonts are readable
✓ It has good contrast
✓ All features that are included are working as intended (weather, location, time, step count, battery, etc)
✓ Watchface uses recommended tags like #Db# so that the user can later choose their preference.
Design specs
Download the starter template
Canvas is 640 x 640px at 72 dpi/ppi. You might also want to consider that some watches have a chin at the bottom which would hide any design elements that would be down there on selected models. The editor also gives an option to preview the chin with the leftmost button, which is located right below canvas preview
Make sure you design for both square and circle and DIM mode.
You can do this by clicking advanced button on an image layer and then uploading different images for square and circle.


Soul Guide Udan Mardui:
The chief shaman guards a whole race with his powers of magic. Asefa harnessed some very powerful fire magic. It's not the totem itself, but the soul of fire Nastron conjured by it. We must break the bond between them. Can you complete this mission, friend?
Quest


United State
[email protected]
+ 1235 2355 98
Kiddos
Menu
Home
About Us
Employees
Poducts
Contact
Contact Us
Home
Contact
Address
United State
Contact Number
+ 1235 2355 98
Email Address
[email protected]
Website
yoursite.com


{% extends "imagersite/base.html" %} {% block body %} Activation Complete Check your email for an activation URL. {% endblock %}
Check your email for an activation URL.


Module cairo_helpers
Cairo helper functions
Functions
| create_cr(conky_window) | Get a new drawing context for the given conky window. |
| polygon(cr, coordinates) | Draw a polygon with the given vertices. |
| show_point(cr, x, y[, size=4[, r=1[, g=0[, b=0[, a=0.7]]]]]) | Draw a little cross where a given point is. |
| alpha_gradient(cr, x1, y1, x2, y2, r, g, b, stops) | Set a single color gradient with varying opacity on the given cairo drawing context. |
| alpha_gradient_radial(cr, x1, y1, inner_radius, x2, y2, outer_radius, r, g, b, stops) | Set a radial single color gradient with varying opacity on the given cairo drawing context. |
| set_font(cr, font_family, font_size[, font_slant[, font_weight]]) | Select font settings for given cairo drawing context |
| font_extents(font_family, font_size[, font_slant[, font_weight]]) | Get cairo_font_extents_t for a given font with size. |
| write_left(cr, x, y, text) | Write text left-aligned (to the right of given x). |
| write_right(cr, x, y, text) | Write text right-aligned (to the left of given x). |
| write_centered(cr, mx, y, text) | Write text centered (spread evenly towards both sides of mx). |
| write_middle(cr, mx, my, text) | Write text centered horizontally and vertically on the given point mx, my. |
Local Functions
| text_extents(cr, text) | Get cairo_text_extents_t for given text on given cairo drawing surface with its currently set font. |
| round_coords(cr, x, y) | Round coordinates to even pixel values See https://www.cairographics.org/FAQ/#sharp_lines See https://scriptinghelpers.org/questions/4850/how-do-i-round-numbers-in-lua-answered |
Functions
- create_cr(conky_window)
-
Get a new drawing context for the given conky window.
Be sure to call cairo_destroy(cr) when you're done.
Parameters:
- conky_window global conky_window
Returns:
-
cairo_t
- polygon(cr, coordinates)
-
Draw a polygon with the given vertices.
Parameters:
- cr cairo_t
- coordinates {number,...} of vertices (x1, y1, x2, y2, ...)
- show_point(cr, x, y[, size=4[, r=1[, g=0[, b=0[, a=0.7]]]]])
-
Draw a little cross where a given point is. Useful for debugging.
By default the cross is red.
Parameters:
- cr cairo_t
- x number x coordinate of point
- y number y coordinate of point
- size number line length of cross (default 4)
- r number red color component (default 1)
- g number green color component (default 0)
- b number blue color component (default 0)
- a number alpha color compnent (transparency) (default 0.7)
- alpha_gradient(cr, x1, y1, x2, y2, r, g, b, stops)
-
Set a single color gradient with varying opacity
on the given cairo drawing context.
Parameters:
- cr cairo_t
- x1 number x coordinate of gradient start
- y1 number y coordinate of gradient start
- x2 number x coordinate of gradient end
- y2 number y coordinate of gradient end
- r number red color component
- g number green color component
- b number blue color component
- stops {number,...} list of offset & alpha value pairs offset between 0 and 1 describes position in the gradient alpha between 0 and 1 describes opacity at given offset. Note: For high/low alpha values the brightness may be emphasized by color variation.
- alpha_gradient_radial(cr, x1, y1, inner_radius, x2, y2, outer_radius, r, g, b, stops)
-
Set a radial single color gradient with varying opacity
on the given cairo drawing context.
Parameters:
- cr cairo_t
- x1 number x coordinate of inner circle center point
- y1 number y coordinate of inner circle center point
- inner_radius number
- x2 number x coordinate of outer circle center point
- y2 number y coordinate of outer circle center point
- outer_radius number
- r number red color component
- g number green color component
- b number blue color component
- stops {number,...} list of offset & alpha value pairs offset between 0 and 1 describes position in the gradient alpha between 0 and 1 describes opacity at given offset. Note: For high/low alpha values the brightness may be emphasized by color variation.
- set_font(cr, font_family, font_size[, font_slant[, font_weight]])
-
Select font settings for given cairo drawing context
Parameters:
- cr cairo_t
- font_family string
- font_size int
- font_slant optional cairo_font_slant_t (default: CAIRO_FONT_SLANT_NORMAL) (optional)
- font_weight optional cairo_font_weight_t (default: CAIRO_FONT_WEIGHT_NORMAL) (optional)
- font_extents(font_family, font_size[, font_slant[, font_weight]])
-
Get cairo_font_extents_t for a given font with size.
Use this, for example, to determine line-height.
see https://cairographics.org/manual/cairo-cairo-scaled-font-t.html#cairo-font-extents-t
Parameters:
- font_family string
- font_size int
- font_slant optional cairo_font_slant_t (default: CAIRO_FONT_SLANT_NORMAL) (optional)
- font_weight optional cairo_font_weight_t (default: CAIRO_FONT_WEIGHT_NORMAL) (optional)
Returns:
-
cairo_font_extents_t
- write_left(cr, x, y, text)
-
Write text left-aligned (to the right of given x).
Parameters:
- cr cairo_t
- x number start of the written text
- y number coordinate of the baseline on top of which the text will be written
- text string
- write_right(cr, x, y, text)
-
Write text right-aligned (to the left of given x).
Parameters:
- cr cairo_t
- x number end of the written text
- y number coordinate of the baseline on top of which the text will be written
- text string
- write_centered(cr, mx, y, text)
-
Write text centered (spread evenly towards both sides of mx).
Parameters:
- cr cairo_t
- mx number horizontal center of the written text
- y number coordinate of the baseline on top of which the text will be written
- text string
- write_middle(cr, mx, my, text)
-
Write text centered horizontally and vertically on the given point mx, my.
Parameters:
- cr cairo_t
- mx number horizontal center of the written text
- my number vertical center of the written text
- text string
Local Functions
- text_extents(cr, text)
-
Get cairo_text_extents_t for given text on given cairo drawing surface
with its currently set font.
See https://cairographics.org/manual/cairo-cairo-scaled-font-t.html#cairo-text-extents-t
Parameters:
- cr cairo_t
- text string
Returns:
-
cairo_text_extents_t
- round_coords(cr, x, y)
-
Round coordinates to even pixel values
See https://www.cairographics.org/FAQ/#sharp_lines
See https://scriptinghelpers.org/questions/4850/how-do-i-round-numbers-in-lua-answered
Parameters:
- cr cairo_t
- x number horizontal pixel coord value
- y number vertical pixel coord value


The Problems with the Technology World
"We're still in the first minutes of the first day of the Internet revolution." - Scott Cook
Technology has progressed and made much advancements and better mankind. Thank you Wright Brothers, Edison, Gate, Jobs, Pasteur. The list goes on and on. Efficiency, feasability, accessibility, and more is all created by technology to make humans be able to live better lives. As a tech nerd, I have nothing but gratitude towards all of my predecessors and genuis inventors/brave people that took so many risks to give us what we all have. Yes. Many people will bash the downside of technology more than thank technology or takes it for granted. However, I believe technology is innocent. It is human kind that sets a social value to technology that dirties the technological purpose.
But this article is on flaws. Yes there are flaws despite technology being a part of human society's lifestyle of every day of every second. Thus, this can be a problem. The #1 problem is: Reliance. Nowadays, people are so reliant on technology to perform basic tasks that you can do on your own. Calculators to do basic arithmetic calculations. Googling something instead of going to a public library to pick up a book and read. Facebook in replacement of real world human interaction.
We live in this technological world and yet still are not fulfilled. Mobile apps are have about a year to two year hype and then it begins to die off. I remember Angry Bird was so popular, and now it is replaced by games like Trivia Crack and Clash of Clans. The turnover rate of the technological world is so fast, that we constantly have to upgrade our Samsung Galaxy S4 that we got last year for a Samsung Galaxy S5 just for a tad bit faster processor. Why? Because technology became not a tool to help your daily use feasibility and consumption, but a fad to brag about that you are better than someone else that still holds a "chocolate phone nokia." We have lost touch with the genuine human side and have more excuses to become more superficial.
How I Would Bring About Change?
Humans are never satisfied and competitions are always there to bring about higher processor and chase after that American Dream. There is no solution to fixing the human nature side. We will always be infinitely curious and always strive for more or else we would become mindless technologies ourselves. PARADOX? I think so. My simple solution is to bring back the human interaction where people still knock on each other's door and invite them to go play soccer and play hide-n-go-seek. Too many times have we succumbed to text message as our 12 hour interaction with another human. Let's change that and bring back our human to human interaction side. Cut the middle man sometimes.
It is not the technology, but the humans that are the problems to the technology world. I won't generalize this case to everybody. As long as you see that there is a problem. You are a good human in this technological world ;) Let's bring about change shall we? Post a comment below to let me know what you would do to change this problem.


# Structured ECG Interpretation
Auburn SoM 2019
## Outline
- Example ECG
- Keeping structure
- More examples
ECG 1ECG 2
Structure
Rate & rhythm → P wave → PR interval → QRS → ST segment →
T wave → QT interval → Summary Wikipedia
# Structure
Rate & rhythm → P wave → PR interval → QRS → ST segment →
T wave → QT interval → Summary
P Wave
- Test
- Test
AV Concordance
PR Interval
QRS
ST Segments
T Wave
QT Interval
Life in the Fast Lane
Example ECG
Complete Heart Block
- A rate = 97 bpm
- V rate = 54 bpm
- AV DISsociation
- Narrow QRS (junctional escape)
Anterolateral Ischaemia
- A rate = 85 bpm (sinus)
- Deep symmetrical TWI (mid precordial)
- Persists even when pain free
- Wellens' sign
## Take Home Messages
***
1. Structure
2. Time yourself
3. Say it out loud
Resources
- ECGs for the Emergency Physician
- [Life in the Fast Lane](https://litfl.com/category/ecg-library/)
- [Skillstat ECG Simulator](https://www.skillstat.com/tools/ecg-simulator)