Passionate about startups, internet, entrepreneurship and media -- and areas where these intersect. I will fit best in small teams, companies that are fast-paced, build products and components as micro-services, and tend to use open source technologies.
Google 2020 —
Joined into the core Workspace team of Google, taking on the challenges across planet-scale enterprise suite of products.
Highlights
- Build out a team, and lead initiatives to go after the org goal for the Google Workspace set of products.
- Team: build out best practices, and foster a team culture of inclusiveness and psychological safety. Encourage taking on large challenges.
- Process: Launch and implement multiple initiatives. Engage across orgs to tailor a process of transparent progress across everyone in the team. Improve engineering robustmess and velocity.
HackerRank 2013 — 2020
Joined the startup early. Ownership, implementation and maintainership of multiple projects and industry-defining productlines across the company. Currently leading engineering initaitives end-to-end across multiple teams.
Highlights
- Coach and mentor strong engineering teams. Built, hired and managed an org of ~15 world-class engineers. Be their voice to the rest of the organizations and teams.
- Build a vision, break it down to missions, and take a data-driven approach to initiate, build and launch products and services.
- Build the new innovative product-lines. Lead and mentor the system to scale take-home tests - A system to handle scale of load from 10s to 100s to 1000s of concurrent nodes. Iterated continuously until market success was achieved and was part of more than 50% of closed deals.
- Stakeholder approach: Default to consensus-building, and maintaining warm longer-term relationships with both internal and external stakeholders.
- Oversee the DevOps and QA org, and take large scale initiatives to completion: total migration from cloud to k8, breakup of monolith to microservices, raise daily automation and quality coverage to 100%.
- Setup excellence initaitves: make engineering world-class, setup checks and standards in SDLC as a startup matures to a more established organization.
- Uptime and availability in Ops: Provide 100%, 4 9s and 3 9s of uptime across multiple services per SLA to internal and external users.
- Taken up cloud migrations & cost optimization: On a $2.5M spend, negotiated with AWS/GCP to achieve org goals. Ensure Ops ISO adherence.
- Owning the culture: launching short term teams/hackathons, driving tech-talks, blogs, and open house.
Trelby 2011 —
Noting a lack of good open source screenwriting options, I rebooted the Blyte screenwriter with it's original author, and renamed it Trelby. I implemented major UI modifications, import/export of the industry standard FDX format and HTML, binary installers for Windows/Ubuntu, undo/redo logic for the custom Text control, scene navigator, PDF watermarking, smooth scrolling, and multiple bugfixes. Currently also working on building a user and developer community around the project and taking on the incumbents.
Nexenta 2008 — 2013
Joined the startup early, among the first few employees, allowing me to implement multiple projects across the organization.
Highlights
- The lead of the Nexenta Core Platform, the open source storage centric distribution by Nexenta. Oversaw development of OS, online community outreach.
- Prototyping: Developed applications, tools and technologies from ground up for internal research and development.
- Global Outreach: Spoke and represented the project at multiple conferences spanning DebConf (New York), OpenSolaris conferences (Mountainvew, Germany, France), and Foss.in (India).
- Operations: Oversaw the Indian storage business. Worked on scouting new VARs, partners, and clients.
- Web and IT: Maintained all web properties for the initial years including, corporate website, partner outreach and CRM. Implemented licensing technology and management for commercial product. (Joomla/Wordpress/elgg/php/python).
Sun Microsystems/OpenSolaris/Beleix 2007 — 2009
Served as the technical lead for Sun's Campus Ambassador program, and lead students worldwide. Also made significant contributions to the open solaris and Belenix projects
Highlights
- Ported Belenix operating system to boot via USB. Received international coverage for this work.
- Served as the technical lead of the campus ambassador program for Sun Microsystems. Trained and evangelized open source technologies in OpenSolaris, including ZFS, Dtrace
- Robotics: built a prototype wireless robotic car, using the embedded SunSpots platform.
Yukti/Nirmukta 2011 — 2013
I was an organizer for Nirmukta, an organization with a focus on spreading rationality and critical thinking. We conducted workshops to figure out plans to root out super-station from civil society. Invited global personalities like Narendra Nayek and Babu Gogineni to participate and speak at the envent.


12 Column Flexible Grid System
You probably don't need a grid system, but here you go
.grid-3
.grid-3
.grid-3
.grid-3
.grid-2
.grid-2
.grid-2
.grid-2
.grid-2
.grid-2
.grid-1
.grid-1
.grid-1
.grid-1
.grid-1
.grid-1
.grid-1
.grid-1
.grid-1
.grid-1
.grid-1
.grid-1
Mobile Grid
Works at all screen widths
.mobile-grid-6
.mobile-grid-6
.mobile-grid-4
.mobile-grid-4
.mobile-grid-4
.mobile-grid-3
.mobile-grid-3
.mobile-grid-3
.mobile-grid-3
.mobile-grid-2
.mobile-grid-2
.mobile-grid-2
.mobile-grid-2
.mobile-grid-2
.mobile-grid-2
Centered Single Columns
Non-floated, max-width based columns
.centered-grid-10
.centered-grid-8
.centered-grid-6
Tiles
Alternative layout module for collections
.tile-big
.tile-big
.tile-big
.tile-big
.tile-big
.tile-big
.tile-big
.tile-big
.tile-big
.tile-big
.tile-big
.tile-big
.tile-medium
.tile-medium
.tile-medium
.tile-medium
.tile-medium
.tile-medium
.tile-medium
.tile-medium
.tile-small
.tile-small
.tile-small
.tile-small
.tile-small
.tile-small
.tile-small
.tile-small
.tile-small
.tile-small
.tile-small
.tile-small


Express examples
This page contains list of examples using Express.
auth
- Authentication with login and password
content-negotiation
- HTTP content negotiation
cookie-sessions
- Working with cookie-based sessions
cookies
- Working with cookies
downloads
- Transferring files to client
ejs
- Working with Embedded JavaScript templating (ejs)
error-pages
- Creating error pages
error
- Working with error middleware
hello-world
- Simple request handler
markdown
- Markdown as template engine
multi-router
- Working with multiple Express routers
multipart
- Accepting multipart-encoded forms
mvc
- MVC-style controllers
online
- Tracking online user activity with
online
and
redis
packages
params
- Working with route parameters
resource
- Multiple HTTP operations on the same resource
route-map
- Organizing routes using a map
route-middleware
- Working with route middleware
route-separation
- Organizing routes per each resource
search
- Search API
session
- User sessions
static-files
- Serving static files
vhost
- Working with virtual hosts
view-constructor
- Rendering views dynamically
view-locals
- Saving data in request object between middleware calls
web-service
- Simple API service


Present day, Central Africa
A sharp pain radiated through her lower abdomen and she let out a loud groan. The woman is laying on her back on a makeshift bed. The room is dark, she curses her bad luck. Of course, she had to give birth after sunset, in the dark. No hut in her small village has electricity. The wind blows straight through the thin walls, sending a shiver down her spine. The pain in her lower abdomen is intensifying, making her grit her teeth and groan loudly. The sweat is dripping down her forehead, stinging her eyes. She closes her eyes and says a silent prayer, hoping that she will have a healthy boy. Her husband has two other wives and he threatened to stop sending her money if she doesn't give birth to a boy this time. She's trying to estimate how long ago her contractions started. She sent her three daughters to get water close to four hours ago, but they aren't back yet. She looks out under the fabric sheet covering the door, it's pitch black outside. Normally, she wouldn't let her young daughters walk outside alone, but this is a special circumstance.
The fabric sheet rustles as its harshly brushed aside, when her daughters come in carrying buckets full of water. The eldest daughter, 9 years old, rushes to her mother's side and kneels down next to her. "Ma, how are you feeling?" Mary can understand her daughter's concern, for most women who has not yet given birth, it is very intimidating. Once you've had your first baby, you won't have the same fear anymore. It will always be scary due to unforseen complications, and the pain will be bad no matter what. However, they say it gets easier with each baby you give birth to, which from her own experience, Mary agree with. "I'll survive, chicken. Can you go get Auntie Susan?" The girl quickly got to her feet and runs out through the doorway. The contractions are coming much closer now, she knows it's time soon. Her sister has helped her deliver all her children, the nearest hospital is 3 hours walk away. She grunts, not that it really matters, she couldn't afford it even if she'd lived right next to it. Nobody in the village has seen a certified doctor in their lifetime. They turn to wise women instead, those knowledgeable in herbal medicine.
Susan enters their home, shoos the girls outside to play. Looks over to her sister and clicks her tongue. Susan kneels down next to her sister, brushes the sweaty hair from her face.  She reaches down between Mary's legs, feeling how open she is. "You're open enough" Susan puts her hands on Mary's stomach, gently pushing her stomach. Susan nods and clicks her tongue again.  "The baby is in the right position." Mary groans in pain, the contractions happening close after each other. The pain is exruciating, Mary thinks that she'll die, she holds her breath. "Breathe little sister, you need to breathe" Susan urges her on. The contraction stops and Mary lets out her breathe. Her hair is smeared to her forehead.
"Alright are you ready to push?"  Her entire body was clammy with sweat, she felt like she was being torn inside out. Her lungs were burning, gasping for air.  Susan places her hands on Mary's knees, and directs her to push and breathe. Mary grits her teeth trying to control her breething, her lungs burning with every breathe she takes.
She feels exhausted, she doesn't know if she'll survive. This is her fourth child in 9 years. She knows of women who has given birth to more, but it's still exhausting, demanding of her body. She is 24 years old, but she feels like she's 50. The hard lifestyle is taking its toll on her. For a moment she feels tired, oh so tired. She feels like giving up, dying in childbirth is common, too common.
She thinks of her children, thinking what would happen to them if she wasn't there to take care of them. Would anybody help them? She takes a look at her sister, kneeling between her legs, blood up to her elbows. Susan might try to help, but she has her own 6 children to care for, and her husband wouldn't accept more mouths to feed. Mary takes a deep breathe, she finds a resolve deep inside her. A will to live, for her children.
Push and breathe, over and over for what felt like hours. Her mouth is dry, the stomped dirtfloor is oddly cool and damp against her cheek. The dust from the dirt filling her nostrils, it smells of damp soil with a faint remenescent of metal. With one last long hard push, accompanied with a guttural growl, the baby was born. Then a moment of complete silence, and Mary feels a stab of fear. Is her baby alive? A woman she knows, her baby boy was born dead, strangled by his own umbical cord wrapped around his neck. "Is the baby alive?" she tries to ask her sister, but her voice is so hoarse that all she can't utter a word. Then a high-pitch piercing scream of a newborn baby could be heard. Mary lies back and relaxes, the pain is nothing compared to earlier. She takes slow deep breathes, feeling relief that it's over. Susan is tying off and cutting the umbical cord, when Mary feels like she has to push again. After a few moments of pain and pushing Mary has gotten the afterbirth out. "It's a healthy baby! Ten toes, and ten fingers" smiles Susan and holds up the baby for Mary to see. The baby is swept tightly in small blanket, its face smeared in blood.
This is where your story begins, it's up for you to decide how this will play out.


Package org.apache.cayenne.exp.parser
Contains expression parser and other expression internals.
-
Interface Summary Interface Description ExpressionParserConstants Token literal values and constants.ExpressionParserTreeConstants Node Provides basic machinery for constructing the parent and child relationships between nodes. -
Class Summary Class Description AggregateConditionNode Superclass of aggregated conditional nodes such as NOT, AND, OR.ASTAbs ASTAdd "Add" Expression.ASTAggregateFunctionCall Base class for all aggregation functions expressions It's more like marker interface for now.ASTAnd "And" expression.ASTAsterisk Asterisk operator for COUNT(*) expression.ASTAvg ASTBetween "Between" expression.ASTBitwiseAnd Bitwise conjunction (AND or '&') expressionASTBitwiseLeftShift Bitwise left shift '<<' operation.ASTBitwiseNot Bitwise negation (NOT i.e.ASTBitwiseOr Bitwise disjunction (OR or '|') expression.ASTBitwiseRightShift Bitwise right shift '>>' operation.ASTBitwiseXor Bitwise exclusive disjunction (XOR or '^') operation.ASTConcat ASTCount ASTCurrentDate ASTCurrentTime ASTCurrentTimestamp ASTCustomFunction ASTCustomOperator ASTDbIdPath ASTDbPath Path expression traversing DB relationships and attributes.ASTDistinct ASTDivide "Divide" expression.ASTEnclosingObject ASTEnum Scalar node that represents constant enumeration value.ASTEqual "Equal To" expression.ASTExists ASTExtract ASTFalse Boolean false expression element Notice that there is one ASTTrue and one ASTFalse instead of a ASTBoolean with a Boolean value.ASTFullObject ASTFunctionCall ASTGreater "Greater Than" expression.ASTGreaterOrEqual "Greater Than Or Equal To" expression.ASTIn "In" expression.ASTLength ASTLess "Less Then" expression.ASTLessOrEqual "Less than or equal to" expression.ASTLike "Like" expression.ASTLikeIgnoreCase "Case insensitive like" expression.ASTList A leaf expression representing an immutable collection of values.ASTLocate ASTLower ASTMax ASTMin ASTMod ASTMultiply "Multiply" expression.ASTNamedParameter A named expression parameter.ASTNegate "Negate" expression.ASTNot "Not" expression.ASTNotBetween "Not Between" expression.ASTNotEqual "Not equal to" expression.ASTNotExists ASTNotIn "Not In" expression.ASTNotLike "Not Like" expression.ASTNotLikeIgnoreCase "Not like, ignore case" expression.ASTObjPath ASTOr "Or" expression.ASTPath Generic path expression.ASTScalar A scalar value wrapper expression.ASTSqrt ASTSubquery ASTSubstring ASTSubtract "Subtract" expression.ASTSum ASTTrim ASTTrue Boolean true expression element Notice that there is one ASTTrue and one ASTFalse instead of a ASTBoolean with a Boolean value.ASTUpper ConditionNode Superclass of conditional expressions.EvaluatedBitwiseNode EvaluatedMathNode EvaluatedNode ExpressionParser Parser of Cayenne Expressions.ExpressionParserTokenManager Token Manager.JavaCharStream An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (with java-like unicode escape processing).JJTExpressionParserState PatternMatchNode Superclass of pattern matching nodes.SimpleNode Superclass of AST* expressions that implements Node interface defined by JavaCC framework.Token Describes the input token stream. -
Enum Summary Enum Description ASTExtract.DateTimePart Available components of date/time. -
Exception Summary Exception Description ParseException This exception is thrown when parse errors are encountered. -
Error Summary Error Description TokenMgrError Token Manager Error.


| Book id | Author | Title | Published year | Editions |
|---|---|---|---|---|
| 1 | Ward Douglas Maurer | Programming | 1968 | 2 |
| 2 | David Flanagan | JavaScript: The Definitive Guide | 1996 | 8 |
| 3 | Thomas A. Powell | HTML & CSS | 2010 | 1 |
| 4 | James C. Wetherbe | Systems analysis and design | 1984 | 4 |
| 5 | Edwin E. Klingman | Microprocessor Systems Design | 1977 | 3 |
| 6 | Edward Yourdon | Object-Oriented Systems Design | 1993 | 3 |
| 7 | Robert | PHP functions | 2005 | 1 |
| 8 | Peter Rob | Database systems: design, implementation, and management | 1993 | 9 |
| 9 | Douglas | Asp, ADO, and XML complete | 2001 | 1 |
| 10 | Herbert Schildt | C++ | 1987 | 24 |
| 11 | Herbert Schildt | Java | 1997 | 13 |
| 12 | Herbert Schildt | The Art of Java (One Off) | 2003 | 2 |
| 13 | Herbert Schildt | Advanced Turbo Pascal | 1986 | 2 |
| 14 | Herbert Schildt | C Pocket Reference | 1988 | 2 |


Get the companies which have more than 3 products
Get the companies with minimum 300000 employes
Max number of employees per category code
Get the list and number of companies grouped by city in which they have an office
Get the name of companies which were created before the year 2000 and have more than 2 providers
Get all the documents ordered by number of employees
Get the companies with minimum a given number of products
Get the companies with minimum a given number of employees
Get the name of companies which were created before a given year and have more than a given number of providers


Preferred Name: Emilio or Big E
<EMAIL_ADDRESS>😁
Myself:
🐶
What I hope to learn in this course
■ Artificial Intelligence
■ Networks
■ Security
My Favortite Hobby
🎮
Some of my favorite hobbies to do are playing video games, watching Disney+, Netflix and Youtube and hanging out with friends and family. Video Games I play are Fortnite, Dead by Daylight, Battlefield V and Battlefront 2. I play these games on the Xbox One Console. I watch a lot of movies on Netflix and watch a lot of shows on Disney+. I like Watching Marvel and Star Wars.  Those are pretty much my favorite hobbies to do.
Greatest Innovations
■ Internet, broadband, WWW Source link
■ Pc/laptop computers Source link
■ Email Source Link
Fun Fact
🎳
My favorite Sport is bowling and although most people bowl for fun, I like to bowl competitively.


AN AFFAIR OF LOVE (Fine Line, 80 minutes) -----------------
A woman (Nathalie Baye, "The Return of Martin Guerre") and a man (Sergi Lopez, "Western") meet in a cafe. After some nervous introductory chitchat, they leave for a hotel where the woman has already reserved a room. This first successful meeting, a response to the woman's ad to act out a sexual fantasy, leads to regular weekly engagements, and maybe something unexpected in "An Affair of Love."
LAURA:
This French language film by Belgian director Frederic Fonteyne (screenplay by Philippe Blasband) is a compelling and unusual look at both human interaction and the nature of love. Fonteyne's protogonists never learn each other's name, address or phone number and are almost exclusively only seen in a Parisian cafe, the hotel, and separately in interview sessions.
The documentary style interviews show she and he sometime later, both looking different than they do in the flashbacks. She recalls that they met online and offered each other descriptions. He says he responded to her ad (he's kept the magazine as a souvenir) and they exchanged photographs. She believes they met once or twice a week for 3-4 months while he says they met weekly for half a year. They both remember the emotional aspects of their relationship, however, even more than the sex which presumably was the only basis for their relationship.
Speaking of sex, for a film who's original title is "A Pornographic Affair," there's not a lot of sex shown in the film. Usually, we're left behind their hotel room door. Significantly, the sex scenes which are shown, are really love scenes. The couple, who both refuse to divulge just what the fantasy that was being acted upon was, decide to 'make love.' "You mean the missionary position?" he asks, startled and clearly pleased.
The couple reach a critical point when an old man collapses in the hallway outside their hotel room. He begs them not to contact his wife, whom he hates. They accompany the man to the hospital, then listen to his wife (contacted by hospital authorities) grieve the loss of a man she knew detested her. For the first time, the outside world intrudes and it's with the heavy subjects of marriage and death.
Fonteyne and his photographer, Virginie Saint-Martin, keep things intimate. The color of the outside world leans to blues and grays, while the hotel interior is a vibrant, sexy red. Baye and Lopez are marvelously real together - their chemistry is deep.
"An Affair of Love" is a bittersweet small film where love is found by dispensing with sexual courtship.
B+
For more Reeling reviews visit www.reelingreviews.com
<EMAIL_ADDRESS><EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: page title: Penalized Fisher Discriminant Analysis and Its Application to Image-based Morphometry ---
Wei Wang, Yilin Mo, John A. Ozolek, Gustavo K. Rohde
Pattern Recognition Letters, Nov 2011, Volume 32, Issue 15, Pages 2128-2135
Image-based morphometry is an important area of pattern recognition research, with numerous applications in science and technology (including biology and medicine). Fisher linear discriminant analysis (FLDA) techniques are often employed to elucidate and visualize important information that discriminates between two or more populations. We demonstrate that the direct application of FLDA can lead to undesirable errors in characterizing such information and that the reason for such errors is not necessarily the ill conditioning in the resulting generalized eigenvalue problem, as usually assumed. We show that the regularized eigenvalue decomposition often used is related to solving a modified FLDA criterion that includes a least-squares-type representation penalty, and derive the relationship explicitly. We demonstrate the concepts by applying this modified technique to several problems in image-based morphometry, and build discriminant representative models for different data sets.


Are you inspired by the future of Neurotechnology?
You would like to work and/or study in the field?
Let us help you!
Whether you are currently looking for an opportunity or not right now,
everybody likes to join a cool group working on exciting neuro-related technologies.
~
As you might guess by the look of the website, this is a beta version for a limited group of people.
This trial period will help us figure out how to properly scale the service.
~
[Coming Soon!]
If you are currently looking for talent (academia or industry), please contact us
info (a) neurotechx (dot) com
[Coming Soon!]
If you'd like to see your opportuninity displayed here, please contact us
info (a) neurotechx (dot) com


This is demo code for a tech talk.
Join us as we build the tools and communities society needs for an economy w/o poverty or slavery.


The dialog window modular transformation shows the Chinese Remainder Theorem calculation with the modular remainders. In addition, the original numbers are transformed into these remainders and after the calculation of the remainders, their result is reconverted again into a “normal“ number.
The dialog offers multiplication, addition or subtraction of two numbers A and B as mathematical operation. In normal practice it is used, if the memory for the representation of large numbers and their intermediate results is not sufficient and to speed up calculations.
In comparison to conventional number notation the idea of the modular arithmetic consists in selecting t different modules m1, m2, …, mt , which are pairwise relatively prime and to perform the calculation on remainders x mod m1, x mod m2, ..., x mod mt instead of directly with the whole number x.
This is possible, because the modular representation uses the same arithmetic rules (addition, subtraction and multiplication). The range, that can be represented by modular arithmetic, goes from 0 to (m1 ∙ m2 ∙ … ∙ mt)-1.
This procedure has the additional advantage of allowing operations to be distributed to different computers and carrying them out in parallel.
Further details about modular arithmetic can be found in the CT Book , chapter 4.


I started out as a physical therapist in a skilled nursing facility. When I started my career, I loved it. I loved having a job that was so people-oriented. I loved being able to use my creativity and passion to help someone return home. Most importantly, I loved the genuine connections I made despite the decades between my patients and myself. I was really able to refine my ability to make lasting relationships with various types of people that I encountered.
As the years went by, the fire burned out. The reason I became a therapist, to help people become the best versions of themselves, became a speck far into the horizon. I became disillusioned with the state of healthcare. As much as I loved my patients, the job itself was not what it once was. I decided I needed a change.
So, I chose design.
Admittedly, I did not know what I was doing or what I was getting myself into when I chose the design path. I knew hard work and dedication would ensue, but I was ready.
I have always maintained an active interest in painting as a hobby. I wanted to apply an existing, artistic passion to the growing design world to create something bigger than myself.
I’m committed to using both my communication and interpersonal skills as a therapist as well as my artistic sensibilities to design modern products and bridge the gap between businesses and their consumers. I’m excited to combine my passion for people and design to solve today’s problems for the future of tomorrow.


When you are aware and mindful towards your emotional experience that is taking place, then you stand a chance of understanding yourself and managing the situation. The 'raging river' metaphor really tells it all. The moment you can see a raging river, you are already rising above it. Thus seeing it is the first and an important step to the solution. Self awareness really is just emotional mindfulness. Where mindfulness is paying undivided attention to every single experience you are having, i.e. focusing on task at hand, self awareness is like that but more centered around the emotional side of your existence and includes things like evaluating yourself, knowing your strengths and weaknesses and so on. It really is knowing yourself in general as well as understanding yourself at the present moment, and that means being mindful to self.
I love journalling and writing for/about myself in general and I did not know this was a mindfulness practice but am very happy to find out it is. Journalling is rewarding in many ways as it is pretty much self awareness in written form, it allows for small and big scale retrospective and it is fun.
Body scan is a completely new exercise to me however. What I found when doing the body scan exercise is that my back is sore, my neck is sore and that means I will probably get a massage today.
What I got away is that emotions are just an experience. Similarly how you experience good weather and bad weather you experience a range of emotions from time to time. But it should not prevent you from being a good person and from studying javascript. Because your emotions are not you :)


Ebola, on average, kills half of all people that contract the virus. In previous outbreaks, the fatality rate has risen to as high as 90 percent. So the ability to forecast where Ebola could wreak havoc next could save thousands of lives by ensuring that people are better able to spot the disease, get care, and take steps to stop the virus from spreading.
The model could be eventually used to figure out where to vaccinate people before an outbreak has a chance to take hold, or it could allow the government to take measures at borders where sick travelers might spread the disease. Moreover, the model could be modified to address other diseases too.
As climate change messes with ecoystems, scientists and doctors have worried that outbreaks of zoonotic diseases (those that can spread from animals to humans) could become harder to predict.
To figure out the outlook for Ebola in 2070, researchers who developed the new mathematical model considered different scenarios for how the world might work together to reduce inequality, slow population growth, and cut greenhouse gas emissions. They saw the likelihood of new outbreaks jump unless people took action to combat each of those factors.
To understand the current risk of outbreaks, researchers used the model to analyze data on climate change, land use, population growth, and poverty. It was able to accurately identify places where epidecmics have already broken out, like the Democratic Republic of the Congo and Gabon. But it also pointed to places, such as Nigeria, that haven't yet seen an epidemic. That could be because the health infrastructures in those locations were better prepared to meet the risk.
Whether a community has a strong health care system and ways to detect and track a disease is what can make the difference between a single case of Ebola and a widespread disaster, according to Daniel Bausch, a member of the executive committee of teh American Society of Tropical Medicine. The model might just help solve that problem, too. In places where there aren't a lot of resources to track where a disease is breaking out, predictive models like this one could help officials and humanitarian organizations that are working to stop an epidemic figure out where to focus their attention. But first, he cautions, they need to have confidence in the model;
'Do I anticipate that this will be a eureka thing that, from now on, we can predict all the areas where Ebola is going to emerge? I'm still skeptical on that', Bausch says. 'Only time will tell.'
LINK BACK TO HOME PAGE


THE OUT-OF-TOWNERS (1970) A Film Review by Ted Prigge Copyright 1997 Ted Prigge
Director: Arhur Hiller Writer: Neil Simon Starring: Jack Lemmon, Sandy Dennis, Billy Dee Williams, Carlos Montalban, Anne Meara, Ron Carey
Films where everything possible goes wrong for the protagonists have to be carefully constructed, because it can either be really, really funny; moody; or just plain redundant. "The Out-of-Towners" luckily lands in the first spot, since it never stops being funny, especially with a great script by Neil Simon and two Oscar-winners in the leads (Lemmon for "Mister Roberts" and "Save the Tiger;" Dennis for "Who's Afraid of Virginia Woolf?").
 He, however, has had a chance to branch out, with an interview for a substantially better-paying job in the heart of Manhattan, which is a big step for a suburban family. Lemmon is so ecstatic that he has planned everything by hour. He's built everything up so much that it's bound to falter.
Things go nicely until they're up in the plane and find out the plane can't land because there has been a sudden transit strike. Then the plane is directed to Cincinatti, throwing the two off, and having them run all over Cincinatti looking for a train. This is only the beginning of their problems.  The ending is predictable, yet somehow satisfying.
The thing that elevates this is the acting and the script. There are almost hundreds of speaking parts, since they go all over the place, and a couple cameos from people who would be somewhat noteworthy (the most being Lando himself, Billy Dee Williams, as a lost-and-found clerk, followed by Ricardo Montalban's brother, Carlos, who would star in Woody Allen's "Bananas"). And every step is just as hilarious if not more hilarious then the other. I frequently found myself laughing hysterically.
The acting is fantastic. I mean, Lemmon and Dennis, how could either of them not be fantastic? Dennis takes what would just be a throwaway part turned into a whiny part, and makes her likeable. And Lemmon, king of making whiners seem tolerable, is near perfect.
This isn't a great film, although it does show the underbelly of Manhattan (which, if you think about it, IS Manhattan), but if you really want to laugh hysterically at a film that never stops being funny, I reccomend you check this one out.
MY RATING (out of 4): ***
Homepage at: http://www.geocities.com/Hollywood/Hills/8335/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Send Claimant Name your company or organisation's most recent statement of accounts, if you haven't already.
Get Claimant Name's contact details.


Members
chunkSize :number
The main chunk size, in bytes.
Type:
- number
container :string
The container identifier.
'RIFF', 'RIFX' and 'RF64' are supported.
Type:
- string
format :string
The format identifier.
Type:
- string
(protected) head :number
Type:
- number
signature :Object|null
An object representing the signature of all chunks in the file.
Type:
- Object | null
(protected, non-null) supported_containers :Array.<string>
The list of supported containers.
Any format different from RIFX will be treated as RIFF.
Type:
- Array.<string>
(protected) uInt32 :Object
Type:
- Object
Methods
(protected) findChunk(chunkId, multiple) → {Object}
Find a chunk by its fourCC_ in a array of RIFF chunks.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
chunkId |
string | The chunk fourCC_. | |
multiple |
boolean |
false
|
True if there may be multiple chunks with the same chunkId. |
Returns:
- Type
- Object
(protected) readString(bytesnon-null, maxSize) → {string}
Read bytes as a string from a RIFF chunk.
Parameters:
| Name | Type | Description |
|---|---|---|
bytes |
Uint8Array | The bytes. |
maxSize |
number | the max size of the string. |
Returns:
The string.
- Type
- string
(protected) readUInt32(bytesnon-null) → {number}
Read a number from a chunk.
Parameters:
| Name | Type | Description |
|---|---|---|
bytes |
Uint8Array | The chunk bytes. |
Returns:
The number.
- Type
- number
(protected) setSignature(buffernon-null)
Read the signature of the chunks in a RIFF/RIFX file.
Parameters:
| Name | Type | Description |
|---|---|---|
buffer |
Uint8Array | The file bytes. |


Viking Brothers Strength and Conditioning is on Facebook, you can find us here.
We will also be posting our latest pictures and videos to our Instagram page (coming soon).
We are open 7 days a week, 9am - 10pm at 51 Sydney Street, Petone.


Supporting Proteus 8.9 and beyond We are working with Labcenter Electronics to bring you a new integrated experience in Proteus 8.9. This version is currently in BETA and we will inform you upon its release. Best Regards The SamacSys Team


Sending your message. Please wait...
Thanks for sending your message! We'll get back to you shortly.
There was a problem sending your message. Please try again.
Please complete all the fields in the form before sending.
Contact Form
Sending your message. Please wait...
Thanks for sending your message! We'll get back to you shortly.
There was a problem sending your message. Please try again.
Please complete all the fields in the form before sending.


Maintenance
読む時間の目安: 8 分MA-1 System Maintenance Policy And Procedures
Description
The organization:
- Develops, documents, and disseminates to [Assignment: organization-defined personnel or roles]:
- A system maintenance policy that addresses purpose, scope, roles, responsibilities, management commitment, coordination among organizational entities, and compliance; and
- Procedures to facilitate the implementation of the system maintenance policy and associated system maintenance controls; and
- Reviews and updates the current:
- System maintenance policy [Assignment: organization-defined frequency]; and
- System maintenance procedures [Assignment: organization-defined frequency].
Control Information
Responsible role(s) - Organization
MA-2 Controlled Maintenance
Description
The organization:
- Schedules, performs, documents, and reviews records of maintenance and repairs on information system components in accordance with manufacturer or vendor specifications and/or organizational requirements;
- Approves and monitors all maintenance activities, whether performed on site or remotely and whether the equipment is serviced on site or removed to another location;
- Requires that [Assignment: organization-defined personnel or roles] explicitly approve the removal of the information system or system components from organizational facilities for off-site maintenance or repairs;
- Sanitizes equipment to remove all information from associated media prior to removal from organizational facilities for off-site maintenance or repairs;
- Checks all potentially impacted security controls to verify that the controls are still functioning properly following maintenance or repair actions; and
- Includes [Assignment: organization-defined maintenance-related information] in organizational maintenance records.
Control Information
Responsible role(s) - Organization
MA-2 (2) Automated Maintenance Activities
Description
The organization:
- Employs automated mechanisms to schedule, conduct, and document maintenance and repairs; and
- Produces up-to date, accurate, and complete records of all maintenance and repair actions requested, scheduled, in process, and completed.
Control Information
Responsible role(s) - Organization
MA-3 Maintenance Tools
Description
The organization approves, controls, and monitors information system maintenance tools.
Control Information
Responsible role(s) - Organization
MA-3 (1) Inspect Tools
Description
The organization inspects the maintenance tools carried into a facility by maintenance personnel for improper or unauthorized modifications.
Control Information
Responsible role(s) - Organization
MA-3 (2) Inspect Media
Description
The organization checks media containing diagnostic and test programs for malicious code before the media are used in the information system.
Control Information
Responsible role(s) - Organization
MA-3 (3) Prevent Unauthorized Removal
Description
The organization prevents the unauthorized removal of maintenance equipment containing organizational information by:
- Verifying that there is no organizational information contained on the equipment;
- Sanitizing or destroying the equipment;
- Retaining the equipment within the facility; or
- Obtaining an exemption from [Assignment: organization-defined personnel or roles] explicitly authorizing removal of the equipment from the facility.
Control Information
Responsible role(s) - Organization
MA-3 (4) Restricted Tool Use
Description
The information system restricts the use of maintenance tools to authorized personnel only.
Control Information
Responsible role(s) - Organization
MA-4 Nonlocal Maintenance
Description
The organization:
- Approves and monitors nonlocal maintenance and diagnostic activities;
- Allows the use of nonlocal maintenance and diagnostic tools only as consistent with organizational policy and documented in the security plan for the information system;
- Employs strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions;
- Maintains records for nonlocal maintenance and diagnostic activities; and
- Terminates session and network connections when nonlocal maintenance is completed.
Control Information
Responsible role(s) - Organization
MA-4 (1) Auditing And Review
Description
The organization:
- Audits nonlocal maintenance and diagnostic sessions [Assignment: organization-defined audit events]; and
- Reviews the records of the maintenance and diagnostic sessions.
Control Information
Responsible role(s) - Organization
MA-4 (2) Document Nonlocal Maintenance
Description
The organization documents in the security plan for the information system, the policies and procedures for the establishment and use of nonlocal maintenance and diagnostic connections.
Control Information
Responsible role(s) - Organization
MA-4 (3) Comparable Security / Sanitization
Description
The organization:
- Requires that nonlocal maintenance and diagnostic services be performed from an information system that implements a security capability comparable to the capability implemented on the system being serviced; or
- Removes the component to be serviced from the information system prior to nonlocal maintenance or diagnostic services, sanitizes the component (with regard to organizational information) before removal from organizational facilities, and after the service is performed, inspects and sanitizes the component (with regard to potentially malicious software) before reconnecting the component to the information system.
Control Information
Responsible role(s) - Organization
MA-4 (4) Authentication / Separation Of Maintenance Sessions
Description
The organization protects nonlocal maintenance sessions by:
- Employing [Assignment: organization-defined authenticators that are replay resistant]; and
- Separating the maintenance sessions from other network sessions with the information system by either:
- Physically separated communications paths; or
- Logically separated communications paths based upon encryption.
Control Information
Responsible role(s) - Organization
MA-4 (5) Approvals And Notifications
Description
The organization:
- Requires the approval of each nonlocal maintenance session by [Assignment: organization-defined personnel or roles]; and
- Notifies [Assignment: organization-defined personnel or roles] of the date and time of planned nonlocal maintenance.
Control Information
Responsible role(s) - Organization
MA-4 (6) Cryptographic Protection
Description
The information system implements cryptographic mechanisms to protect the integrity and confidentiality of nonlocal maintenance and diagnostic communications.
Control Information
Responsible role(s) - Organization
MA-4 (7) Remote Disconnect Verification
Description
The information system implements remote disconnect verification at the termination of nonlocal maintenance and diagnostic sessions.
Control Information
Responsible role(s) - Organization
MA-5 Maintenance Personnel
Description
The organization:
- Establishes a process for maintenance personnel authorization and maintains a list of authorized maintenance organizations or personnel;
- Ensures that non-escorted personnel performing maintenance on the information system have required access authorizations; and
- Designates organizational personnel with required access authorizations and technical competence to supervise the maintenance activities of personnel who do not possess the required access authorizations.
Control Information
Responsible role(s) - Organization
MA-5 (1) Individuals Without Appropriate Access
Description
The organization:
- Implements procedures for the use of maintenance personnel that lack appropriate security clearances or are not U.S. citizens, that include the following requirements:
- Maintenance personnel who do not have needed access authorizations, clearances, or formal access approvals are escorted and supervised during the performance of maintenance and diagnostic activities on the information system by approved organizational personnel who are fully cleared, have appropriate access authorizations, and are technically qualified;
- Prior to initiating maintenance or diagnostic activities by personnel who do not have needed access authorizations, clearances or formal access approvals, all volatile information storage components within the information system are sanitized and all nonvolatile storage media are removed or physically disconnected from the system and secured; and
- Develops and implements alternate security safeguards in the event an information system component cannot be sanitized, removed, or disconnected from the system.
Control Information
Responsible role(s) - Organization
MA-5 (2) Security Clearances For Classified Systems
Description
The organization ensures that personnel performing maintenance and diagnostic activities on an information system processing, storing, or transmitting classified information possess security clearances and formal access approvals for at least the highest classification level and for all compartments of information on the system.
Control Information
Responsible role(s) - Organization
MA-5 (3) Citizenship Requirements For Classified Systems
Description
The organization ensures that personnel performing maintenance and diagnostic activities on an information system processing, storing, or transmitting classified information are U.S. citizens.
Control Information
Responsible role(s) - Organization
MA-5 (4) Foreign Nationals
Description
The organization ensures that:
- Cleared foreign nationals (i.e., foreign nationals with appropriate security clearances), are used to conduct maintenance and diagnostic activities on classified information systems only when the systems are jointly owned and operated by the United States and foreign allied governments, or owned and operated solely by foreign allied governments; and
- Approvals, consents, and detailed operational conditions regarding the use of foreign nationals to conduct maintenance and diagnostic activities on classified information systems are fully documented within Memoranda of Agreements.
Control Information
Responsible role(s) - Organization
MA-5 (5) Nonsystem-Related Maintenance
Description
The organization ensures that non-escorted personnel performing maintenance activities not directly associated with the information system but in the physical proximity of the system, have required access authorizations.
Control Information
Responsible role(s) - Organization
MA-6 Timely Maintenance
Description
The organization obtains maintenance support and/or spare parts for [Assignment: organization-defined information system components] within [Assignment: organization-defined time period] of failure.
Control Information
Responsible role(s) - Organization
MA-6 (1) Preventive Maintenance
Description
The organization performs preventive maintenance on [Assignment: organization-defined information system components] at [Assignment: organization-defined time intervals].
Control Information
Responsible role(s) - Organization
MA-6 (2) Predictive Maintenance
Description
The organization performs predictive maintenance on [Assignment: organization-defined information system components] at [Assignment: organization-defined time intervals].
Control Information
Responsible role(s) - Organization
MA-6 (3) Automated Support For Predictive Maintenance
Description
The organization employs automated mechanisms to transfer predictive maintenance data to a computerized maintenance management system.
Control Information
Responsible role(s) - Organization
standards, compliance, security, 800-53, Maintenance


23 August 2007
The Ministry of Health of Indonesia has announced a new case of human infection of H5N1 avian influenza. A 28-year-old female from Tabanan District, in Bali Province developed symptoms on 14 August, was hospitalized on 18 August and died in hospital on 21 August. The case was a poultry trader. The case investigation found that she collected poultry from villages where outbreaks of avian influenza in poultry had occurred and were later confirmed by rapid testing.
Of the 105 cases confirmed to date in Indonesia, 84 have been fatal.


--- layout: post status: publish published: true title: BtsCatalogExplorer.SaveChangesWithTransaction() author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 289 wordpress_url: http://winterdom.com/2004/10/btscatalogexplorersavechangeswithtransaction date: '2004-10-21 18:31:37 +0000' date_gmt: '2004-10-21 18:31:37 +0000' categories: - BizTalk tags: [] comments: [] ---
The BtsCatalogExplorer class (the core part of the BizTalk Explorer Object Model) has an interesting looking SaveChangesWithTransaction() method that complements the regular SaveChanges(). What was not completely apparent to me was what this method expected as an argument.
Digging around some, I could see that SaveChangesWithTransaction() expects as its argument a DTC transaction, in the form of an object implementing System.EnterpriseServices.ITransaction. You could get an instance of it in several ways: using the DTC API directly, taking an existing transaction in a transactional ServicedComponent or using SWC, for example.
Things get a little bit more interesting underneath. If you don't pass a transaction object (or use SaveChanges() instead, which just calls SaveChangesWithTransaction() with a null argument), the ExplorerOM will ask the DTC for a new transaction (by using the internal BtsCatalogExplorer.GetDtcTransaction() method), and uses that transaction for all the work. The actual saving of settings is donde inside the internal OnSaveChanges() method.
What is really curious, though, is how deals with the case in which an existing distributed transaction in the object context (as might be the case if you're calling it from a ServicedComponent): It basically just opens up the database connection with "Enlist=false" and then just calls SqlConnection.EnlistDistributedTransaction() using the transaction passed in as an argumentor the newly created one. This is done, presumable, to ensure the code works in cases where the object context is transaction and when it isn't.
While it should work, it seems like a somewhat convoluted way of doing it. A far more cleaner way, I think, would've to simply disallow calling SaveChangesWithTransaction() within a COM+ transactional scope, and force the caller to use SaveChanges() instead. In SaveChanges, it would've been easy to just use ContextUtil.IsInTransaction to see if a distributed transaction was in place, and use that, or otherwise create a new one. It would've involved a few more slight refactorings, but looks to me simpler ;). Basically I'm thinking it could've been something like this:
public void SaveChanges()
{
ITransaction transaction = null;
if ( ContextUtil.IsInTransaction ) {
transaction = (ITransaction)ContextUtil.Transaction;
} else {
transaction = GetDtcTransaction();
}
OnSaveChanges(transaction);
DoCommonWorkAfterSave();
}
public void SaveChangesWithTransaction(object transaction)
{
if ( ContextUtil.IsInTransaction )
throw new InvalidOperationException("Can't use Transaction here");
// check transaction is indeed ITransaction implementation
ITransaction tx = transaction as ITransaction;
// ...
OnSaveChanges(tx);
DoCommonWorkAfterSave();
}
This isn't exactly like the original code, which opens up the possibility of executing the save in one transaction that is different from the one that the current obejct context holds, although I can't quite understand why you'd want to do this (the caller could still do this with slightly more work in the other form).
BTW: The BizTalk Documentation seems to refer to a class called BtsTransactionManager inside the Microsoft.BizTalk.ExplorerOM assembly. However, as far as I can see, said class doesn't exist (at least in the ExplorerOM or anywhere I could find).
Anyway, now you know how it works and what to pass to SaveChangesWithTransaction() ;)


One couple. Two cameras.
What happens next?
The dates
{{#allEpisodes}}
{{/allEpisodes}}
{{couple}} {{date}}
About Watch Me Date
Each week, we’ve chosen two different people, given them two pairs of Google Glass and packed them off on a date (there is usually a lot of alcohol involved too). Filming begins the minute they meet, and that off-button is only pressed once they’ve said goodbye. The results? You’re right there with them, on these awkward, often funny and sometimes even romantic first dates.
Be on our show
Would you like an all-expenses evening out and the chance of a kiss ... or possibly love? Email watch.me.date@theguardian.com


This is some
bold
text in a paragraph.
Show Text
Show HTML
Name:
Show Value
Google.com
Show href Value


Captain America
Captain America: The First Avenger is a 2011 American superhero film based on the Marvel Comics character Captain America. Produced by Marvel Studios and distributed by Paramount Pictures,[N 1] it is the fifth film in the Marvel Cinematic Universe (MCU).
Read More


Portulaca oleracea extract effects cells cancer polysaccharides {border-style px;} #ffffff;} acid anti-oxidant levels properties plant rats activities activity anti-inflammatory cell cells. human isolated effect ethanolic Purslane aqueous fatty immune Furthermore, Moreover, immuno-modulatory oxidative results including parts purslane HepG Int Res Wang Zhang acids gastric inflammatory liver rats. showed tumor used IL- MDA Table aerial blood demonstrated mice polysaccharide px; revealed studies {font-family CPOP Chen TNF-α adhesion alkaloids anti-tumor compounds constituents extracts font-size induced leaf omega- seed Boskabady DNA Ethnopharmacol IL-, Lee NF-κB SOD SOD, Study WBC acid, anti- damage double; following growth inflammation lymphocytes response review serum significantly source stress vascular (Portulaca -induced ./j.jep... Activity Asian CAT LPS-stimulated Sci Yue border-color border-width evaluated food function hydro-ethanolic immunomodulatory level lymphocytes. mRNA medicinal mice. oil percentage possesses rat related solid; study suggested total white {font-style {font-weight ALA AST, Antioxidant Biol D-galactose Food HeLa Iran Kim Med Nat PO. PPs Peyer’s Pharmacopuncture Phytochemistry Portu Prod Ref. Result Summary TNF-α-induced Type aca acetate aging anti-oxidant, asthmatic bold cells, concluded courier; cytokines decreased diabetes different diminished em; emphasized eracea. ethyl expression inhibited innate juice kidney levels. lymphocyte markedly mechanism model oleraceins oxide oxygen patch possess prevented produced proliferation proliferation, protective pt;} pulmonary radicals. reported searched small splenocytes stem tests treatment using various


Welcome
HOME
SYSTEM DEMO
Create an account
Sign In
Remember me
Sign up
I agree all statements in
Terms of service
I am already a member


Artistry unfolds: Byōbu are collaborative, composite works of art
“Byōbu are composite works of art,” says Yoshihiro Takishita.
“They require not only the skills of a painter, but of a whole range of artisans: papermakers to produce the washi paper that covers the panels, lacquer painters and gold decorators, joiners who build the lattices of the frame and mounters who cover them, sericulturists in the case of silk byōbu, and woodblock artists, carvers and printers for byōbu that feature woodblock prints.”
Unfortunately, he notes, these days it is not easy to assemble a team of people with such skills.
In the heyday of traditional byōbu, paper was a precious commodity, like glass. The screen shown here on the right was discovered in tattered condition inside a storehouse when Takishita dismantled a house for relocation. The lettering visible through the gaps indicates that the screen was made by recycling account statements and other papers instead of burning them. The surface on which the paintings appear was pasted over three base layers of paper. Folding screens were often moved about, so this layered structure served to make them sturdy enough to withstand such wear and tear.
This is the final installment in a four-part series on architect Yoshihiro Takishita’s antique byōbu collection.
GET THE BEST OF THE JAPAN TIMES IN FIVE EASY PIECES WITH TAKE 5
JOIN THE CONVERSATION


this is an interactive demonstration of data replication through a graph store.
this involves sending a patch request for each movement to sparql graph store service, storing the patch request there and replicating the request to all client browsers which display this page.
| host: | |
| repository: | |
| auth: |


Aimtech Automation & Control provides various services such as industrial & Building Automation, Electrical, we also known as a Trained &
Experience Manpower providers. We also trade in the Industrial Materials Provider, Cables, Electronics, Electrical, and Pneumatic.
We believe in on-time services without any
delay and we achieve it by doing hard and fast work with very good team of 40 people.
The journey has started 5 years ago, from baby steps to here. Today we have reached to the level where we get the projects on the basis of our previous work analysis and client satisfaction. Over these many years we have successfully completed around 10-15 projects.
Our Specialization is in field Services for , PLC, DCS, Control Panel & Instrument installation of designing and software based automation projects. We are interested in working with wherein we can offer our services for selecting process instruments, designing and supply and commissioning of Panels and installation and commissioning of instrumentation package. We strongly believe and follow our business ethics.
Our company is well known in the market and has carved a niche in the industry for supply of Electrical Capacitors which are of a high quality and they offer an excellent performance to the customers.


| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| controller-interface.ts | 100% | 114/114 | 100% | 20/20 | 100% | 44/44 | 100% | 108/108 | |
| sw-controller.ts | 94.02% | 110/117 | 95.56% | 43/45 | 84.85% | 28/33 | 93.58% | 102/109 | |
| window-controller.ts | 100% | 140/140 | 100% | 68/68 | 100% | 32/32 | 100% | 133/133 |


File Service.lua
Functions
| Service:cleanup (status, message) | Perform finale... |
| Service:new (t) | New instance constructor. |
| Service:newClass (t) | Constructor for extending class. |
| Service:perform (context, ...) | Initiate and perform main service function, excluding the finale. |
| Service:setMandatoryMessage (f, ...) | Register a mandatory message to be displayed in final dialog box. |
| Service:skipFinalDialogIfOk () | Call at any time (or set flag upon construction). |
Functions
- Service:cleanup (status, message)
-
Perform finale...
See Call parent class for more info.
Parameters:
-
status
: boolean: true iff execution completed without an error being thrown. -
message
: string: error message corresponding to error if thrown.
-
- Service:new (t)
-
New instance constructor.
Parameters:
-
t
: Parameter table whose elements are:- name: (string, required)
- object: (table) instance of class with main and finale methods - optional.
- main: (function, required)
- async: (boolean, default false) true => asynchronous, false => synchronous.
- progress: (boolean or string, default false) true => default progress scope, string => scope with custom title, false => set scope to nil.
- finale: (function, default nil) executed after main if provided, regardless of whether main errors out.
- guard: (number, default zero) nil or zero => reentrant, App.guardSilent => silent, App.guardVocal => vocal.
- name: (string, required)
Usage:
see Call class for more info.
Return value:
- service object suitable for passing to app:call method.
-
- Service:newClass (t)
-
Constructor for extending class.
Parameters:
-
t
:
-
- Service:perform (context, ...)
-
Initiate and perform main service function, excluding the finale.
See Call parent class for more info.
Parameters:
-
context
: function-context, in case you need to create a property table, hopefully thats the only use for it... -
...
: Passed to main.
-
- Service:setMandatoryMessage (f, ...)
-
Register a mandatory message to be displayed in final dialog box. Note: this assures final dialog box is displayed (overriding action-pref-key, and regardless of warning/error statuses).
Parameters:
-
f
: -
...
:
-
- Service:skipFinalDialogIfOk ()
- Call at any time (or set flag upon construction).


Contextify
LogOut
Dashboard
Users
Articles
Welcome Admin
4
Total Articles Drafted
2
Total Articles Published
Monthly Articles Statistics
Article Statistics Per User


The title is a misnomer because there is no Apache Wicket here (yet).
Show a greeting.
Show the documents. (This is where the music is!)
Silence is foo!


|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.imageio.plugins.jpeg.JPEGQTable
public class JPEGQTable
A class encapsulating a single JPEG quantization table. The elements appear in natural order (as opposed to zig-zag order). Static variables are provided for the "standard" tables taken from Annex K of the JPEG spec, as well as the default tables conventionally used for visually lossless encoding.
For more information about the operation of the built-in JPEG plug-ins, see the JPEG metadata format specification and usage notes.
| Field Summary | |
|---|---|
static JPEGQTable |
K1Div2Luminance
The sample luminance quantization table given in the JPEG specification, table K.1, with all elements divided by 2. |
static JPEGQTable |
K1Luminance
The sample luminance quantization table given in the JPEG specification, table K.1. |
static JPEGQTable |
K2Chrominance
The sample chrominance quantization table given in the JPEG specification, table K.2. |
static JPEGQTable |
K2Div2Chrominance
The sample chrominance quantization table given in the JPEG specification, table K.2, with all elements divided by 2. |
| Constructor Summary | |
|---|---|
JPEGQTable(int[] table)
Constructs a quantization table from the argument, which must contain 64 elements in natural order (not zig-zag order). |
| Method Summary | |
|---|---|
JPEGQTable |
getScaledInstance(float scaleFactor,
boolean forceBaseline)
Returns a new quantization table where the values are multiplied by scaleFactor and then clamped to the
range 1..32767 (or to 1..255 if forceBaseline is
true ). |
int[] |
getTable()
Returns a copy of the current quantization table as an array of ints in natural (not zig-zag) order. |
String |
toString()
Returns a string representation of the object. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final JPEGQTable K1Luminance
K1Div2Luminance
public static final JPEGQTable K1Div2Luminance
K1Luminance
public static final JPEGQTable K2Chrominance
K2Div2Chrominance
public static final JPEGQTable K2Div2Chrominance
K2Chrominance
| Constructor Detail |
|---|
public JPEGQTable(int[] table)
table
- the quantization table, as an int
array.
IllegalArgumentException
- if table
is
null
or table.length
is not equal to
64.| Method Detail |
|---|
public int[] getTable()
public JPEGQTable getScaledInstance(float scaleFactor, boolean forceBaseline)
scaleFactor
and then clamped to the
range 1..32767 (or to 1..255 if forceBaseline
is
true
).
Values of scaleFactorless
than 1 tend to
improve the quality level of the table, and values greater than
1.0
degrade the quality level of the table.
scaleFactor
- the multiplicative factor for the table.forceBaseline
- if true
, the values will be
clamped to the range 1..255.
public String toString()
Object
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
toString
in class Object
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.


Materials Project Database Validation: mgvv¶
The command-line program, mgvv, is used to validate MongoDB databases. This command has two sub-commands:
mgvv validate - Filter records on a set of criteria (conjunction) and apply a set of constraints.
mgvv diff - Look at the “diff” of any two collections, for identifiers that are missing from one or the other, or for mis-matching values for identifiers that are the same.
mgvv validate subcommand¶
Database connections are configured from a file, exactly as for mgdb/ The patterns to validate against can come from a file or the command-line.
Arguments¶
Constraints can be provided on the command line. The syntax of each constraint is given in Constraint syntax. It is usually wise to quote the constraints so that the operators are not interpreted by the Unix shell. The constraints can be listed as separate quoted arguments or a single quoted argument using commas. For example, the following two command-lines are equivalent:
mgvv [options] 'nelements > 1' 'e_above_hull >= 0'
mgvv [options] 'nelements > 1, e_above_hull >= 0'
The validation constraints could also be configured from a file using the –file option, as described below.
Options¶
- --help, -h¶
show help message and exit
- --alias, -a¶
Value is an alias for a field used in a constraint or condition, in form alias=name_in_db. This option is repeatable to allow multiple aliases.
- --collection, -C <name>¶
Name of collection on which to operate.
- --email, -e <file or spec>¶
Email a report. The sender, server, and recipients can be specified either in a configuration file, or on the command line in the format “{from}:{to}[:server]”. The “from” and “to” are required; default server is localhost. If a file path is given (i.e. the option does not have a ‘:’ in it), then the format is JSON/YAML and the specification should be given under the “_email” key, which should be a mapping with keys “from”, “to”, and “server”. For example the following commandline uses localhost:9101 to send mail:
mgvv [options] --email dkgunter@lbl.gov:somebody@host.org:localhost:9101
See email-config for an example of the configuration file syntax, which unlike the command-line syntax allows for multiple recipients.
- -f <file>, --file <file>¶
Main configuration file. Has constraints, and optionally email configuration (see –email option).
- --limit <num>, -m <num>¶
In output, limit number of displayed validation errors, per collection, to num. The default is 50. To show as many errors as you can find, use 0.
- --format <type>, -F <type>¶
Use the specified report type to format and send the validation output. Recognized types are:
- html
A simple HTML report, with some minimal CSS styling. This is arguably the most visually pleasing format. Default
- json
A JSON document (indented).
- md
Markdown with an embedded fixed-width table. This is the easiest format to read from the console.
- -c <file>, --config <file>¶
Configuration file for database connection. Generate one using mgdb init –config filename.json, if necessary. Otherwise, the code searches for a db.json. If none is found, a no-authentication localhost:27017/vasp database is assumed.
- -v, --verbose¶
Increase log message verbosity. Repeatable. Messages are logged to standard error.
Configuration files¶
You can use up to two configuration files: one for constraints (and aliases), one for the database, and one for the constraints and email.
Database configuration¶
The database connection uses the same format as the mgdb command for its configuration file. The readonly_user is preferred over the administrative user, if both are present.
Email configuration¶
Reports can be sent by email. This can be configured on the command-line, or within the main configuration file.
Here is an example configuration:
_email:
from<EMAIL_ADDRESS>to:
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>The section for email must always be named _email. The purpose of the _email key is to make it easy to embed this information into the configuration file used for the constraints (the –file option). The following keywords are recognized:
- from
Sender email, as a string. Required.
- to
Recipients of the email. If a single one, a string; if multiple, a list of strings. Required.
- server
Email server address. Use ‘localhost’ if none is given. Optional.
- port
Email server port. Use default SMTP port if none is given. Optional.
Constraint configuration¶
The constraints are configured from a YAML file.
At the top level are keys, which are the names of the collection on which to apply the constraints. The specification of the constraints in each collection takes two possible forms, simple and complex. In both cases the syntax of the constraints is the same, see Constraint syntax.
Simple: A list of constraints, which are simply combined. Any document in the collection that violates any of the constraints will generate a validation error.
collection_name:
- field1 <= value
- field2 > value
- # ..etc..
Complex: An initial filter, given as a map with an filter key, and a set of constraints under the constraints key. The filter key selects records for applying the constraints. The constraints key provides the list of constraints associated with that condition. As in the simple format, any document in the collection that violates any of the constraints will generate a validation error.
mycollection:
-
filter:
- field1 = 'negatory'
constraints:
- field2 <= value
- field3 > value
- # ..etc..
-
filter:
- field1 = 'excellent'
- field4 > 0
then:
- field5 < value
- # ..etc..
As shown in the second constraint block above, there may also be a list of conditions for the filter. All of these conditions must be true for the record to pass the filter and be evaluated according to the constraints.
Aliases can be defined (these operate across all collections, for better or worse, at the moment). Constraints that use these aliases will automatically be converted to the aliased name before the query is submitted to the database. The aliases are simply a list in the format “name = value” in a section called _aliases, as shown below.
_aliases:
- snl_id = mps_id
- energy = analysis.e_above_hull
Partial arrays can be fetched, which is very useful for not spending a ton of bandwidth, by adding /<path> after the name of the field. For example:
collection_name:
- calculations/density size 2
If, for exampe, the calculations array was full of large sub-arrays this would save a lot of bandwidth by only retrieving that density values for each array item. By default, the arrays are sliced to only retrieve enough elements to test against the condition, but this may not be sufficiently efficient for cases where each sub-element is very large. Note that this only applies to constraints that use the ‘size’ family of array operators.
Constraint syntax¶
The constraint syntax is taken from the smoqe package.
mgvv diff subcommand¶
The diff sub-command takes options and two DB configurations:
mgvv diff [options..] old.json new.json
The command provides a convenient command-line interface to take the difference of two MongoDB database collections. Database connections are configured from JSON files, exactly as for mgdb. See the examples at the end of this section for full usage examples.
Arguments¶
Two positional arguments are required, to set the two collections. These are called the old and new collections, respectively. Both are configured using a pymatgen-db JSON config file.
For an unauthenticated database, we only need 3 keys:
{
"host" : "myhost",
"database": "mydatabase",
"collection": "mycollection"
}
For an authenticated database, user and password (or readonly_user and readonly_password, or admin_user and admin_password) are required:
{
"host" : "myhost",
"database": "mydatabase",
"collection": "mycollection",
"user": "me",
"password": "let-me-in"
}
Options¶
usage: mgvv diff [-h] [–verbose] [-D CONFIG] [-E ADDR] [-f FILE] [-F FORMAT] [-s HOST] [-i INFO] [-k KEY] [-m] [-n EXPR] [-p PROPERTIES] [-P] [-q EXPR] [-u URL] [-V] old new
- --help, -h¶
show help message and exit
- -v, --verbose¶
Increase log message verbosity. Repeatable. Messages are logged to standard error.
- -D CONFIG, --db CONFIG¶
Insert a JSON record of the report in the MongoDB collection pointed to by CONFIG, which is a standard pymatgen-db JSON configuration file. Note that the target database and collection must be writable.
- -E ADDR, --email ADDR¶
Email report to one or more email addresses. ADDR is a list of the form:
‘sender/receiver,[receiver2...][/subject]
’.
- -s HOST, --email-server HOST¶
Server HOST for an email report, in form hostname[:port]. Default is localhost
- -f FILE, --file FILE¶
Read options from FILE instead of command line. File format is YAML (or JSON, a subset), with the long option names as keys. Any time the command-line option takes a comma-separated list, the config file uses a real list; command-line key/value pair lists become config file mappings.
For example:
Command-line Config file
============ ==============
--numeric='x=+-1.5,y=+-0.5' numeric:
x: '+-1.5'
y: '+-0.5'
--info=foo,bar info:
- foo
- bar
- -F FORMAT, --format FORMAT¶
Default report format: ‘text’, ‘html’, or ‘json’. If not given, the format will be determined by the output: text for console, html for email.
- -i INFO, --info INFO¶
Extra fields for records, as comma-separated list, e.g ‘extra,fields,to_include
’.
- -k KEY, --key KEY¶
Key for matching records.
- -m, --missing¶
Only report keys that are in the ‘old’ collection, but not in the ‘new’ collection.
- -n, --numeric¶
Fields with numeric values that must match, with a tolerance, as a comma-separated list, e.g.,
<name1>=<expr1>, <name2>=<expr2>, ..
. <name> is a field name, <expr> syntax is:
Expression |
Meaning |
|---|---|
+- |
Change in sign. |
+-= |
Change in sign, including change from positive or negative to zero. |
+-X |
Plus or minus more than X. abs(new - old) > X |
+X-Y |
Plus more than X or minus more than Y. (new - old) > X or (old - new) > Y |
+-X= |
Plus or minus X or more. abs(new - old) >= X |
+X-Y= |
Plus X or more, or minus Y or more. (new - old) >= X or (old - new) >= Y |
+X[=] |
Positive changes only |
-Y[=] |
Negative changes only |
…% |
Percent change. Instead of “(new - old)”, use “100 * (new - old) / old” |
Some examples follow.
Report records where the value
analysis.e_above_hull
changes by more than 20% in either direction:mgvv diff -k task_id --numeric "analysis.e_above_hull=+-20%" prod.json dev.json
Report records where the value
energy
changes sign:mgvv diff -k name --numeric "energy=+-" conf/test1.json conf/test2.json
Report records where either the value
frequency
orduration
change is some quantity or more:mgvv diff -k somekey --numeric "frequency=+1.0-0.5=, duration=+10-15=" foo.json bar.json
This option may be combined with any of the other options.
- -p PROPS, --properties PROPS¶
Fields with properties that must match, as comma-separated list , e.g ‘these_must,match
’.
- -P, --print¶
Print report to the console.
- -q EXPR, --query EXPR¶
Query to filter records before key and value tests. Uses simplified constraint syntax, from the smoqe package. For example:
--query='name = "oscar" and grouchiness > 3'
- -u URL, --url URL¶
In HTML reports, make the key into a hyperlink by prefixing with URL. This can be used to take advantage of clean RESTful URL schemes such as those found in the Materials Project webpages:
mgvv diff -k task_id -u 'https://materialsproject.org/tasks/'
.. option:: -V, --values
Only report changes in values, not missing or added keys.
Examples¶
Let’s say you want to compare the ‘materials’ collection in a development and production database. You could have two JSON configuration files, prod.json and dev.json that specified the servers, user and password, and database and collection names:
# prod database
{
"host": "server1.my.domain",
"database": "core_prod",
"readonly_user": "xxxx",
"readonly_password": "yyyy",
"collection": "materials"
}
# dev database
{
"host": "server2.my.domain",
"database": "core_dev",
"readonly_user": "xxxx",
"readonly_password": "yyyy",
"collection": "materials"
}
You could issue this command-line:
mgvv diff -k task_id -p icsd_id -v -i pretty_formula mdev.json mprod.json
This compares with the key task_id and matches items with the same key on the property icsd_id, adding to the output the value of the field pretty_formula. Because output is to the console, the format will default to text.
To produce and view an HTML output report instead, just use the –format option:
mgvv diff --format html -k task_id -p icsd_id -v -i pretty_formula mdev.json mprod.json > page.html
open page.html # on OSX, view in a browser
To add an email report set the recipient and, optionally, the relay server (default will be localhost):
mgvv diff -e "me<EMAIL_ADDRESS>diff" \
-k task_id -p icsd_id -v -i pretty_formula mdev.json mprod.json
Note that the third part of the -e/–email command, the subject, is optional – but if you leave it out the email will arrive with no subject line.
As you may have noticed, the command-lines begin to get rather complicated. To replace that last example with a configuration file, use instead this command:
mgvv diff --file diff.yaml mdev.json mprod.json
and then put the options into diff.yaml like this:
email:
- "me<EMAIL_ADDRESS>diff"
key: task_id
properties:
- icsd_id
info:
- pretty_formula


How do I write my code into a script that can be run again?
Objectives:
Learn the conventions for creating script files.
Get parameters from the command line and use them in scripts.
Keypoints:
Scripts are files that contain programs of Python code.
Scripts are files full of code that has been put together in order to do a particular task. The idea being that the code will get re-run many times and not just as a one off.
Building a script is usually pretty easy - just type the code in to a text file.
You’ll need a text editor, a program that deals with text but not in the same way as a word processor. Many such programs are available, try the options below
This is a Unix/Linux convention that affects how those systems interpret the file. Leave it in for convention’s sake.
7.2 The filename extension
By convention, Python script filess end in the extension, .py.
So if we have the following in a file called hello_world.py, we have a Python script.
#!/usr/bin/env python
print("Hello, World!")
7.3 Running a python script from the command line
Once created, the script itself is run from the python command on the command line. python is just a regular program that accepts a python script filename as its argument and runs the code in the script.
Here’s an example terminal session that runs a script.
Last login: Thu Dec 6 10:59:32 on ttys000
~/Desktop macleand$ python hello_world.py
Hello, World!
~/Desktop macleand$
7.4 Getting Options from the Command Line
A good reason for creating scripts is because you want to be able to re-run the code in them. Sometimes you’ll want to change some aspect or behaviour of the code according to settings given on the command-line. For example, you might want to work on a different input file each time. We can access the text from the command-line in the script, using the sys.argv attribute in the sys module.
The sys.argv attribute gives us a list of the command line options. The first item in the list is the script name, the options come after that. So we can access the options by indexing the sys.argv list
Create a script that writes ‘Hello, World!’ to the screen. Run it.
Create a script that takes one argument and prints that to the screen as You said.. <argument> - replacing <argument> with the value you give on the command line.
Create a script that takes two numbers from the command line and adds them together and prints the result.


UX Library
Scania GitHub
Home
Dealer page
A dealer dome page for testing corporate-header with dealer configuration.
Name
Logo
URL


#390
Patrick Daley, "Civil Asset Forfeiture: An Economic Analysis of Ontario and British Columbia" - 2014
#386
Slide deck - Criminal Assets Bureau Structure and Legislation - Kevin McMeel, December 16, 2020
#346
FINTRAC, Professional money laundering through trade and money services businesses, July 18, 2018
#335
Research Report Estimating the size of the fentanyl market in British Columbia, October 26, 2020


Using the JAXP XPath APIs
- Basic steps
- Plugging in the XPathFactory
- Using NamespaceContext
- Using XPathVariableResolver
- Using XPathFunctionResolver
- Using the sample XPathFunctionResolver
Basic steps
- Instantiate an XPathFactory
- Create an XPath
- (optional) Create an XPathExpression
- Evaluate the XPath expression in a specified context
The following example illustrates the basic steps involved in evaluating an XPath expression.
// 1. Instantiate an XPathFactory. javax.xml.xpath.XPathFactory factory = javax.xml.xpath.XPathFactory.newInstance(); // 2. Use the XPathFactory to create a new XPath object javax.xml.xpath.XPath xpath = factory.newXPath(); // 3. Compile an XPath string into an XPathExpression javax.xml.xpath.XPathExpression expression = xpath.compile("/doc/name"); // 4. Evaluate the XPath expression on an input document String result = expression.evaluate(new org.xml.sax.InputSource("foo.xml"));
1. Instantiate an XPathFactory
XPathFactory is an abstract class with two static newInstance() methods (newInstance() and newInstance(String uri)) that instantiate the concrete subclass designated as the javax.xml.xpath.XPathFactory service provider. The optional parameter uri specifies the object model. The implementation in Xalan-Java 2 only supports the W3C DOM object model, identified by the URI DEFAULT_OBJECT_MODEL_URI.
The default service provider for the javax.xml.xpath.XPathFactory service is org.apache.xpath.jaxp.XPathFactoryImpl.
2. Create an XPath
You can use the XPathFactory.newXPath() method to create a new XPath. 3. (optional) Create an XPathExpression
You can use the XPath.compile(String expression) method to compile an XPath string into an XPathExpression object for later evaluation. This is an optional step. You can evaluate an XPath expression without compiling it first. 4. Evaluate an XPath expression
If you compile an XPath String into an XPathExpression in step 3, you can use one of the four evaluate() methods in the XPathExpression interface to evaluate the XPath expression. If the evaluation context is a W3C Node in an existing Document, you can use the evaluate(Object item) or evaluate(Object item, QName returnType) method by passing the context item as the first parameter. The method with a returnType parameter allows you to specify the return type as one of the following supported return types:
If the returnType parameter is not specified, the default is XPathConstants.STRING.
If the evaluation context is an input document, you can use one of the two evaluate() methods with an InputSource parameter (evaluate(InputSource source) or evaluate(InputSource source, QName returnType)) to evaluate the XPath expression.
The compiling step allows you to reuse an XPath expression for evaluation on multiple contexts. If an XPath expression is only used once, you can use one of the four evaluate() methods in the XPath interface to evaluate the XPath expression without compiling it first.
Plugging in the XPathFactory
The Java API for XML Processing interfaces enable you to plug in your own implementation of XPathFactory. The abstract class XPathFactory has a static newInstance() method that instantiates a concrete Factory which wraps the underlying implementation. The newInstance() method uses system property settings to determine which implementation to instantiate.
Xalan-Java 2 is distributed with a pre-configured setting for the provider of the XPathFactory service. This setting is in xalan.jar in META-INF/services/javax.xml.xpath.XPathFactory, with a value of org.apache.xpath.jaxp.XPathFactoryImpl.
You can plug in a new XPathFactory as follows (in order of precedence):
- Set the system property "javax.xml.xpath.XPathFactory" + ":uri" from the command line when you
launch Java or from within your application, where uri is the URI of the underlying object model. The URI of
the default W3C DOM object model is
http://java.sun.com/jaxp/xpath/dom
. - Set the property in jaxp.properties in the JAVA_HOME/lib directory, where JAVA_HOME is the root of the JDK.
- Revise the entry in src/META-INF/services/javax.xml.xpath.XPathFactory and rebuild xalan.jar. Each potential service
provider entry in this file is required to implement the method
isObjectModelSupported(String objectModel).
The first service provider found in class loader order that supports the specified object model will be used.
Using NamespaceContext
If namespace prefixes are used in an XPath expression, the XPath processor needs to know what namespace URIs the prefixes are bound to. Logically a prefix can only be bound to a single Namespace URI in the current scope. However, a Namespace URI can be bound to multiple prefixes in the current scope. The information about namespace prefix to URI mappings is provided by an object that implements the javax.xml.namespace.NamespaceContext interface.
Suppose you want to evaluate the XPath expression "/foo:document/bar:element"
on the following xml document:
<?xml version='1.0'?> <foo:document xmlns:foo="http://apache.org/foo" xmlns:bar="http://apache.org/bar"> <bar:element>MyBar</bar:element> </foo:document>
You need to create your own implementation of NamespaceContext to inform the XPath processor what namespace URIs the prefixes are bound to. For the example above, you can create a NamespaceContext implementation as follows:
public class MyNamespaceContext implements NamespaceContext { public String getNamespaceURI(String prefix) { if (prefix.equals("foo")) return "http://apache.org/foo"; else if (prefix.equals("bar")) return "http://apache.org/bar"; else return XMLConstants.NULL_NS_URI; } public String getPrefix(String namespace) { if (namespace.equals("http://apache.org/foo")) return "foo"; else if (namespace.equals("http://apache.org/bar")) return "bar"; else return null; } public Iterator getPrefixes(String namespace) { return null; } }
Then you can use the XPath.setNamespaceContext(NamespaceContext nsContext) method to set the NamespaceContext on the XPath object you create using the basic steps.
The XPath processor in Xalan-Java 2 only uses the getNamespaceURI(String prefix) method on NamespaceContext. The other two methods getPrefix(String namespace) and getPrefixes(String namespace) are not used. If the NamespaceContext object is only used by the XPath processor, you can let the unused methods return null for simplicity.
Using XPathVariableResolver
XPathVariableResolver provides access to the set of user defined XPath variables. If an XPath expression contains a variable reference, we need to set a XPathVariableResolver on the XPath object using the XPath.setXPathVariableResolver(XPathVariableResolver resolver) method. You can also set the XPathVariableResolver on the XPathFactory, using the XPathFactory.setXPathVariableResolver(XPathVariableResolver resolver) method. If the XPathVariableResolver is set on the XPathFacory, then all XPath objects constructed from this XPathFactory will use the specified XPathVariableResolver by default. The XPath processor uses the XPathVariableResolver to retrieve the value of a user defined variable. In the course of evaluating any single XPath expression, a variable's value must be immutable.
Suppose that the XPath expression to be evaluated is "$x + $y"
, we need to provide a XPathVariableResolver
implementation from which the values of the variable x and y can be retrieved. For this example, the
XPathVariableResolver implementation can be written as follows:
public class MyVariableResolver implements XPathVariableResolver { public Object resolveVariable(QName var) { if (var == null) throw new NullPointerException("The variable name cannot be null"); if (var.equals(new QName("x"))) return new Integer(2); else if (var.equals(new QName("y"))) return new Integer(3); else return null; } }
Using XPathFunctionResolver
XPathFunctionResolver provides access to the set of user defined XPathFunctions. If an XPath expression contains an extension function, you can use the XPath.setXPathFunctionResolver(XPathFunctionResolver resolver) method to set a XPathFunctionResolver on the XPath object. You can also use the XPathFactory.setXPathFunctionResolver(XPathFunctionResolver resolver) method to set a XPathFunctionResolver on the XPathFactory, in which case all XPath objects constructed from this XPathFactory will use the specified XPathVariableResolver by default.
The XPathFunctionResolver interface only has one method:
public XPathFunction resolveFunction(QName functionName, int arity)
This method returns a XPathFunction object from the given function name and arity. XPath functions are resolved by name and arity. The parameter types have no impact here. XPathFunctionResolver is only used for functions with an explicit prefix. It is not needed for XPath built-in functions and it cannot be used to override those functions.
The XPathFunction interface has only one method:
public java.lang.Object evaluate(java.util.List args) throws XPathFunctionException
The function parameters are passed in using the args parameter as a java.util.List. And the method returns the result of evaluating the XPath function as an Object.
To support the use of extension functions in an XPath expression, a user needs to provide implementations of the XPathFunctionResolver and XPathFunction interfaces. The resolveFunction method of the XPathFunctionResolver implementation should return an object of a class that implements the XPathFunction interface.
Suppose we want to evaluate the XPath expression "ext:myAdditionFunction(2, 3)"
, and the purpose
of the extension function is simply to return the sum of the two parameters. Because an extension function
always has an explicit prefix, we also need to implement the NamespaceContext interface to provide a namespace
prefix to URI mapping. For this example, we need to implement three interfaces: NamespaceContext,
XPathFunctionResolver and XPathFunction. A sample implementation is as follows:
public class MyNamespaceContext implements NamespaceContext { public String getNamespaceURI(String prefix) { if (prefix == null) throw new IllegalArgumentException("The prefix cannot be null."); if (prefix.equals("ext")) return "http://ext.com"; else return null; } public String getPrefix(String namespace) { if (namespace == null) throw new IllegalArgumentException("The namespace uri cannot be null."); if (namespace.equals("http://ext.com")) return "ext"; else return null; } public Iterator getPrefixes(String namespace) { return null; } } /** * The XPathFunctionResolver implementation is used to evaluate * the extension function "ext:myAdditionFunction(2, 3)". */ public class MyFunctionResolver implements XPathFunctionResolver { /** * This method returns a customized XPathFunction implementation * for the extension function "ext:myAdditionFunction(2, 3)". */ public XPathFunction resolveFunction(QName fname, int arity) { if (fname == null) throw new NullPointerException("The function name cannot be null."); // We only recognize one function, i.e. ex:addFunc(). if (fname.equals(new QName("http://ext.com", "myAdditionFunction", "ext"))) /** * Return a customized implementation of XPathFunction. We need * to implement the evaluate(List) method. */ return new XPathFunction() { /** * The actual implementation of the extension function. * Just cast two arguments to Double and add them together. */ public Object evaluate(java.util.List args) { if (args.size() == 2) { Double arg1 = (Double)args.get(0); Double arg2 = (Double)args.get(1); return new Double(arg1.doubleValue() + arg2.doubleValue()); } else return null; } }; else return null; } }
Using the sample XPathFunctionResolver
Normally you need to provide your own implementation of XPathFunctionResolver in order to use extension functions in XPath expressions. In Xalan-Java 2, we provide a sample implementation of XPathFunctionResolver in the class org.apache.xalan.extensions.XPathFunctionResolverImpl, with supports for Java and EXSLT extensions. If you set the XPathFunctionResolver to an object of this class, then you can use Java and EXSLT extension functions in the XPath expression. You also need to use a NamespaceContext along with the sample XPathFunctionResolver. Xalan-Java 2 also includes a sample implementation of NamespaceContext in org.apache.xalan.extensions.ExtensionNamespaceContext, which provides the following namespace prefix to URI mappings:
| Prefix | URI |
|---|---|
| java | http://xml.apache.org/xalan/java |
| exslt | http://exslt.org/common |
| math | http://exslt.org/math |
| set | http://exslt.org/sets |
| str | http://exslt.org/strings |
| dyn | http://exslt.org/dynamic |
| datetime | http://exslt.org/dates-and-times |
Suppose you want to evaluate the XPath expression "math:max(/doc/num)"
, which contains
an EXSLT extension call. Here the prefix "math"
corresponds to the URI "http://exslt.org/math"
.
The following code snippet demonstrates how to use the sample XPathFunctionResolver to evaluate the
XPath expression above:
XPathFactory factory = XPathFactory.newInstance(); XPath xpath = factory.newXPath(); // set the NamespaceContext to // org.apache.xalan.extensions.ExtensionNamespaceContext xpath.setNamespaceContext(new org.apache.xalan.extensions.ExtensionNamespaceContext()); // set the XPathFunctionResolver to // org.apache.xalan.extensions.XPathFunctionResolverImpl xpath.setXPathFunctionResolver(new org.apache.xalan.extensions.XPathFunctionResolverImpl()); // Evaluate the XPath expression "math:max(/doc/num)" against // the input document numlist.xml Object result = xpath.evaluate("math:max(/doc/num)", new InputSource("numlist.xml"), XPathConstants.NUMBER);


HEYYY...SEE Here guyssss... We have given new features in this folder player which are very useful for the user. Arrange songs and ringtones in two separate sections according to the folder. So don't disturb the ringtones while playing songs. You can also play ringtones separately and set the ringtone with a single click. click here to download
We have 5 types of buttons in one menu.. 1. you can share your audio track... 2. you can set ringtone easily...3. you can make your playlist...4.you can see the details of any songs or audio tracks click here to download
We give you volume button that's why you can incresing your volume too easily...you can suffle your songs which are in your folder...We give you an other amazing facility that you can repeat your folder or song or all songs... click here to download
Just as the menu item can be selected by the user, its order is now in the hands of the user. The user will be able to change the order of the menu as per his choice. click here to download
Now the user can decide the menu item according to his choice. You will be able to create a customized menu by deciding the item of your choice. You can remove items which you don't want in the menu. click here to download
We have taken care of your sleep arrangements, so that you can sleep peacefully while listening to the songs. We have provided the facility of auto sleep timer in this music player. click here to download
God created many colors, we have also decorated this music player with different colors. Be happy to have a color theme of your choice. click here to download
The songs and ringtones folder will be arranged wisely according to the time value given by the user in the Ringtone Duration setting. Suppose a value of 60 seconds is given, tracks with a time limit of more than 60 seconds will be shown in the Music category and tracks shorter than 60 seconds will be shown in the Ringtones category. click here to download
We provide 8 equalizer presets based on different music genres, and we also provide 4 Custom Equalizer options. We have provide Maximum volume in Custom 1 Equalizer setting. click here to download
"This is music app which i searching in the google for the long time.. i lov it.. tq developers.. great thinking.. this app reduce my risk to delete a bulk of songs which store in my mobile more then 6000 songs.. listen to the song and delete the song if dont like.. i have one suggestion.. if u add an delete icon in-between favourite and more option.. it could be the better app ever.. thank u.. waiting for the update..."
“One of the best for music app in play store but plzz add features headset controlling Ex... Once tap Play/pause... Double/ third tap Next/previous..... Pls update it admin_ji”
"Very extraordinary Equalizer, wonderful player. Please add one option for overall songs. Add option Folder to folder shuffle automatically player need play songs or manually like turn on off type."