public final class BufferUtils
extends java.lang.Object
BufferUtils
is a helper class for generating nio buffers from
jME data classes such as Vectors and ColorRGBA.| Constructor and Description |
|---|
BufferUtils() |
| Modifier and Type | Method and Description |
|---|---|
static void |
addInBuffer(Vector2f toAdd,
java.nio.FloatBuffer buf,
int index)
Add to a Vector2f in-buffer.
|
static void |
addInBuffer(Vector3f toAdd,
java.nio.FloatBuffer buf,
int index)
Add to a Vector3f in-buffer.
|
static java.nio.Buffer |
clone(java.nio.Buffer buf)
Creates a clone of the given buffer.
|
static java.nio.ByteBuffer |
clone(java.nio.ByteBuffer buf)
Creates a new ByteBuffer with the same contents as the given ByteBuffer.
|
static java.nio.DoubleBuffer |
clone(java.nio.DoubleBuffer buf)
Creates a new DoubleBuffer with the same contents as the given
DoubleBuffer.
|
static java.nio.FloatBuffer |
clone(java.nio.FloatBuffer buf)
Creates a new FloatBuffer with the same contents as the given
FloatBuffer.
|
static java.nio.IntBuffer |
clone(java.nio.IntBuffer buf)
Creates a new IntBuffer with the same contents as the given IntBuffer.
|
static java.nio.ShortBuffer |
clone(java.nio.ShortBuffer buf)
Creates a new ShortBuffer with the same contents as the given ShortBuffer.
|
static void |
copyInternal(java.nio.FloatBuffer buf,
int fromPos,
int toPos,
int length)
Copies floats from one position in the buffer to another.
|
static void |
copyInternalVector2(java.nio.FloatBuffer buf,
int fromPos,
int toPos)
Copies a Vector2f from one position in the buffer to another.
|
static void |
copyInternalVector3(java.nio.FloatBuffer buf,
int fromPos,
int toPos)
Copies a Vector3f from one position in the buffer to another.
|
static java.nio.ByteBuffer |
createByteBuffer(byte... data) |
static java.nio.ByteBuffer |
createByteBuffer(java.nio.ByteBuffer buf,
int size)
Create a new ByteBuffer of an appropriate size to hold the specified
number of ints only if the given buffer if not already the right size.
|
static java.nio.ByteBuffer |
createByteBuffer(int size)
Create a new ByteBuffer of the specified size.
|
static java.nio.ByteBuffer |
createByteBuffer(java.lang.String data) |
static java.nio.DoubleBuffer |
createDoubleBuffer(java.nio.DoubleBuffer buf,
int size)
Create a new DoubleBuffer of an appropriate size to hold the specified
number of doubles only if the given buffer if not already the right size.
|
static java.nio.DoubleBuffer |
createDoubleBuffer(int size)
Create a new DoubleBuffer of the specified size.
|
static java.nio.FloatBuffer |
createFloatBuffer(ColorRGBA... data)
Generate a new FloatBuffer using the given array of ColorRGBA objects.
|
static java.nio.FloatBuffer |
createFloatBuffer(float... data)
Generate a new FloatBuffer using the given array of float primitives.
|
static java.nio.FloatBuffer |
createFloatBuffer(int size)
Create a new FloatBuffer of the specified size.
|
static java.nio.FloatBuffer |
createFloatBuffer(Quaternion... data)
Generate a new FloatBuffer using the given array of Quaternion objects.
|
static java.nio.FloatBuffer |
createFloatBuffer(Vector2f... data)
Generate a new FloatBuffer using the given array of Vector2f objects.
|
static java.nio.FloatBuffer |
createFloatBuffer(Vector3f... data)
Generate a new FloatBuffer using the given array of Vector3f objects.
|
static java.nio.FloatBuffer |
createFloatBuffer(Vector4f... data)
Generate a new FloatBuffer using the given array of Vector4 objects.
|
static java.nio.IntBuffer |
createIntBuffer(int... data)
Generate a new IntBuffer using the given array of ints.
|
static java.nio.IntBuffer |
createIntBuffer(int size)
Create a new IntBuffer of the specified size.
|
static java.nio.IntBuffer |
createIntBuffer(java.nio.IntBuffer buf,
int size)
Create a new IntBuffer of an appropriate size to hold the specified
number of ints only if the given buffer if not already the right size.
|
static java.nio.ShortBuffer |
createShortBuffer(int size)
Create a new ShortBuffer of the specified size.
|
static java.nio.ShortBuffer |
createShortBuffer(short... data) |
static java.nio.ShortBuffer |
createShortBuffer(java.nio.ShortBuffer buf,
int size)
Create a new ShortBuffer of an appropriate size to hold the specified
number of shorts only if the given buffer if not already the right size.
|
static java.nio.FloatBuffer |
createVector2Buffer(java.nio.FloatBuffer buf,
int vertices)
Create a new FloatBuffer of an appropriate size to hold the specified
number of Vector2f object data only if the given buffer if not already
the right size.
|
static java.nio.FloatBuffer |
createVector2Buffer(int vertices)
Create a new FloatBuffer of an appropriate size to hold the specified
number of Vector2f object data.
|
static java.nio.FloatBuffer |
createVector3Buffer(java.nio.FloatBuffer buf,
int vertices)
Create a new FloatBuffer of an appropriate size to hold the specified
number of Vector3f object data only if the given buffer if not already
the right size.
|
static java.nio.FloatBuffer |
createVector3Buffer(int vertices)
Create a new FloatBuffer of an appropriate size to hold the specified
number of Vector3f object data.
|
static void |
destroyDirectBuffer(java.nio.Buffer toBeDestroyed)
Direct buffers are garbage collected by using a phantom reference and a
reference queue.
|
static java.nio.ByteBuffer |
ensureLargeEnough(java.nio.ByteBuffer buffer,
int required) |
static java.nio.FloatBuffer |
ensureLargeEnough(java.nio.FloatBuffer buffer,
int required)
Ensures there is at least the
required number of entries left after the current position of the
buffer. |
static java.nio.IntBuffer |
ensureLargeEnough(java.nio.IntBuffer buffer,
int required) |
static java.nio.ShortBuffer |
ensureLargeEnough(java.nio.ShortBuffer buffer,
int required) |
static boolean |
equals(Vector2f check,
java.nio.FloatBuffer buf,
int index)
Checks to see if the given Vector2f is equals to the data stored in the
buffer at the given data index.
|
static boolean |
equals(Vector3f check,
java.nio.FloatBuffer buf,
int index)
Checks to see if the given Vector3f is equals to the data stored in the
buffer at the given data index.
|
static float[] |
getFloatArray(java.nio.FloatBuffer buff)
Create a new float[] array and populate it with the given FloatBuffer's
contents.
|
static int[] |
getIntArray(java.nio.IntBuffer buff)
Create a new int[] array and populate it with the given IntBuffer's
contents.
|
static Vector2f[] |
getVector2Array(java.nio.FloatBuffer buff)
Generates a Vector2f array from the given FloatBuffer.
|
static Vector3f[] |
getVector3Array(java.nio.FloatBuffer buff)
Generates a Vector3f array from the given FloatBuffer.
|
static void |
multInBuffer(Vector2f toMult,
java.nio.FloatBuffer buf,
int index)
Multiply and store a Vector2f in-buffer.
|
static void |
multInBuffer(Vector3f toMult,
java.nio.FloatBuffer buf,
int index)
Multiply and store a Vector3f in-buffer.
|
static void |
normalizeVector2(java.nio.FloatBuffer buf,
int index)
Normalize a Vector2f in-buffer.
|
static void |
normalizeVector3(java.nio.FloatBuffer buf,
int index)
Normalize a Vector3f in-buffer.
|
static void |
populateFromBuffer(Vector2f vector,
java.nio.FloatBuffer buf,
int index)
Updates the values of the given vector from the specified buffer at the
index provided.
|
static void |
populateFromBuffer(Vector3f vector,
java.nio.FloatBuffer buf,
int index)
Updates the values of the given vector from the specified buffer at the
index provided.
|
static void |
populateFromBuffer(Vector4f vector,
java.nio.FloatBuffer buf,
int index)
Updates the values of the given vector from the specified buffer at the
index provided.
|
static void |
printCurrentDirectMemory(java.lang.StringBuilder store) |
static void |
setInBuffer(ColorRGBA color,
java.nio.FloatBuffer buf,
int index)
Sets the data contained in the given color into the FloatBuffer at the
specified index.
|
static void |
setInBuffer(Quaternion quat,
java.nio.FloatBuffer buf,
int index)
Sets the data contained in the given quaternion into the FloatBuffer at the
specified index.
|
static void |
setInBuffer(Vector2f vector,
java.nio.FloatBuffer buf,
int index)
Sets the data contained in the given Vector2F into the FloatBuffer at the
specified index.
|
static void |
setInBuffer(Vector3f vector,
java.nio.FloatBuffer buf,
int index)
Sets the data contained in the given Vector3F into the FloatBuffer at the
specified index.
|
static void |
setInBuffer(Vector4f vec,
java.nio.FloatBuffer buf,
int index)
Sets the data contained in the given vector4 into the FloatBuffer at the
specified index.
|
static void |
setTrackDirectMemoryEnabled(boolean enabled)
Set it to true if you want to enable direct memory tracking for debugging purpose.
|
public static void setTrackDirectMemoryEnabled(boolean enabled)
enabled
- public static java.nio.Buffer clone(java.nio.Buffer buf)
buf
- The buffer to clonepublic static java.nio.FloatBuffer createFloatBuffer(Vector3f... data)
data
- array of Vector3f objects to place into a new FloatBufferpublic static java.nio.FloatBuffer createFloatBuffer(Quaternion... data)
data
- array of Quaternion objects to place into a new FloatBufferpublic static java.nio.FloatBuffer createFloatBuffer(Vector4f... data)
data
- array of Vector4 objects to place into a new FloatBufferpublic static java.nio.FloatBuffer createFloatBuffer(ColorRGBA... data)
data
- array of ColorRGBA objects to place into a new FloatBufferpublic static java.nio.FloatBuffer createFloatBuffer(float... data)
data
- array of float primitives to place into a new FloatBufferpublic static java.nio.FloatBuffer createVector3Buffer(int vertices)
vertices
- number of vertices that need to be held by the newly created
bufferpublic static java.nio.FloatBuffer createVector3Buffer(java.nio.FloatBuffer buf, int vertices)
buf
- the buffer to first check and rewindvertices
- number of vertices that need to be held by the newly created
bufferpublic static void setInBuffer(ColorRGBA color, java.nio.FloatBuffer buf, int index)
color
- the data to insertbuf
- the buffer to insert intoindex
- the postion to place the data; in terms of colors not floatspublic static void setInBuffer(Quaternion quat, java.nio.FloatBuffer buf, int index)
quat
- the Quaternion
to insertbuf
- the buffer to insert intoindex
- the postion to place the data; in terms of quaternions not floatspublic static void setInBuffer(Vector4f vec, java.nio.FloatBuffer buf, int index)
vec
- the Vector4f
to insertbuf
- the buffer to insert intoindex
- the postion to place the data; in terms of vector4 not floatspublic static void setInBuffer(Vector3f vector, java.nio.FloatBuffer buf, int index)
vector
- the data to insertbuf
- the buffer to insert intoindex
- the postion to place the data; in terms of vectors not floatspublic static void populateFromBuffer(Vector3f vector, java.nio.FloatBuffer buf, int index)
vector
- the vector to set data onbuf
- the buffer to read fromindex
- the position (in terms of vectors, not floats) to read from
the bufpublic static void populateFromBuffer(Vector4f vector, java.nio.FloatBuffer buf, int index)
vector
- the vector to set data onbuf
- the buffer to read fromindex
- the position (in terms of vectors, not floats) to read from
the bufpublic static Vector3f[] getVector3Array(java.nio.FloatBuffer buff)
buff
- the FloatBuffer to read frompublic static void copyInternalVector3(java.nio.FloatBuffer buf, int fromPos, int toPos)
buf
- the buffer to copy from/tofromPos
- the index of the vector to copytoPos
- the index to copy the vector topublic static void normalizeVector3(java.nio.FloatBuffer buf, int index)
buf
- the buffer to find the Vector3f withinindex
- the position (in terms of vectors, not floats) of the vector
to normalizepublic static void addInBuffer(Vector3f toAdd, java.nio.FloatBuffer buf, int index)
toAdd
- the vector to add frombuf
- the buffer to find the Vector3f withinindex
- the position (in terms of vectors, not floats) of the vector
to add topublic static void multInBuffer(Vector3f toMult, java.nio.FloatBuffer buf, int index)
toMult
- the vector to multiply againstbuf
- the buffer to find the Vector3f withinindex
- the position (in terms of vectors, not floats) of the vector
to multiplypublic static boolean equals(Vector3f check, java.nio.FloatBuffer buf, int index)
check
- the vector to check against - null will return false.buf
- the buffer to compare data withindex
- the position (in terms of vectors, not floats) of the vector
in the buffer to check againstpublic static java.nio.FloatBuffer createFloatBuffer(Vector2f... data)
data
- array of Vector2f objects to place into a new FloatBufferpublic static java.nio.FloatBuffer createVector2Buffer(int vertices)
vertices
- number of vertices that need to be held by the newly created
bufferpublic static java.nio.FloatBuffer createVector2Buffer(java.nio.FloatBuffer buf, int vertices)
buf
- the buffer to first check and rewindvertices
- number of vertices that need to be held by the newly created
bufferpublic static void setInBuffer(Vector2f vector, java.nio.FloatBuffer buf, int index)
vector
- the data to insertbuf
- the buffer to insert intoindex
- the postion to place the data; in terms of vectors not floatspublic static void populateFromBuffer(Vector2f vector, java.nio.FloatBuffer buf, int index)
vector
- the vector to set data onbuf
- the buffer to read fromindex
- the position (in terms of vectors, not floats) to read from
the bufpublic static Vector2f[] getVector2Array(java.nio.FloatBuffer buff)
buff
- the FloatBuffer to read frompublic static void copyInternalVector2(java.nio.FloatBuffer buf, int fromPos, int toPos)
buf
- the buffer to copy from/tofromPos
- the index of the vector to copytoPos
- the index to copy the vector topublic static void normalizeVector2(java.nio.FloatBuffer buf, int index)
buf
- the buffer to find the Vector2f withinindex
- the position (in terms of vectors, not floats) of the vector
to normalizepublic static void addInBuffer(Vector2f toAdd, java.nio.FloatBuffer buf, int index)
toAdd
- the vector to add frombuf
- the buffer to find the Vector2f withinindex
- the position (in terms of vectors, not floats) of the vector
to add topublic static void multInBuffer(Vector2f toMult, java.nio.FloatBuffer buf, int index)
toMult
- the vector to multiply againstbuf
- the buffer to find the Vector2f withinindex
- the position (in terms of vectors, not floats) of the vector
to multiplypublic static boolean equals(Vector2f check, java.nio.FloatBuffer buf, int index)
check
- the vector to check against - null will return false.buf
- the buffer to compare data withindex
- the position (in terms of vectors, not floats) of the vector
in the buffer to check againstpublic static java.nio.IntBuffer createIntBuffer(int... data)
data
- array of ints to place into a new IntBufferpublic static int[] getIntArray(java.nio.IntBuffer buff)
buff
- the IntBuffer to read frompublic static float[] getFloatArray(java.nio.FloatBuffer buff)
buff
- the FloatBuffer to read frompublic static java.nio.DoubleBuffer createDoubleBuffer(int size)
size
- required number of double to store.public static java.nio.DoubleBuffer createDoubleBuffer(java.nio.DoubleBuffer buf, int size)
buf
- the buffer to first check and rewindsize
- number of doubles that need to be held by the newly created
bufferpublic static java.nio.DoubleBuffer clone(java.nio.DoubleBuffer buf)
buf
- the DoubleBuffer to copypublic static java.nio.FloatBuffer createFloatBuffer(int size)
size
- required number of floats to store.public static void copyInternal(java.nio.FloatBuffer buf, int fromPos, int toPos, int length)
buf
- the buffer to copy from/tofromPos
- the starting point to copy fromtoPos
- the starting point to copy tolength
- the number of floats to copypublic static java.nio.FloatBuffer clone(java.nio.FloatBuffer buf)
buf
- the FloatBuffer to copypublic static java.nio.IntBuffer createIntBuffer(int size)
size
- required number of ints to store.public static java.nio.IntBuffer createIntBuffer(java.nio.IntBuffer buf, int size)
buf
- the buffer to first check and rewindsize
- number of ints that need to be held by the newly created
bufferpublic static java.nio.IntBuffer clone(java.nio.IntBuffer buf)
buf
- the IntBuffer to copypublic static java.nio.ByteBuffer createByteBuffer(int size)
size
- required number of ints to store.public static java.nio.ByteBuffer createByteBuffer(java.nio.ByteBuffer buf, int size)
buf
- the buffer to first check and rewindsize
- number of bytes that need to be held by the newly created
bufferpublic static java.nio.ByteBuffer createByteBuffer(byte... data)
public static java.nio.ByteBuffer createByteBuffer(java.lang.String data)
public static java.nio.ByteBuffer clone(java.nio.ByteBuffer buf)
buf
- the ByteBuffer to copypublic static java.nio.ShortBuffer createShortBuffer(int size)
size
- required number of shorts to store.public static java.nio.ShortBuffer createShortBuffer(java.nio.ShortBuffer buf, int size)
buf
- the buffer to first check and rewindsize
- number of shorts that need to be held by the newly created
bufferpublic static java.nio.ShortBuffer createShortBuffer(short... data)
public static java.nio.ShortBuffer clone(java.nio.ShortBuffer buf)
buf
- the ShortBuffer to copypublic static java.nio.FloatBuffer ensureLargeEnough(java.nio.FloatBuffer buffer, int required)
required
number of entries left after the current position of the
buffer. If the buffer is too small a larger one is created and the old one copied to the new buffer.buffer
- buffer that should be checked/copied (may be null)required
- minimum number of elements that should be remaining in the returned bufferrequired
number of entries, same position as
the input buffer, not nullpublic static java.nio.IntBuffer ensureLargeEnough(java.nio.IntBuffer buffer, int required)
public static java.nio.ShortBuffer ensureLargeEnough(java.nio.ShortBuffer buffer, int required)
public static java.nio.ByteBuffer ensureLargeEnough(java.nio.ByteBuffer buffer, int required)
public static void printCurrentDirectMemory(java.lang.StringBuilder store)
public static void destroyDirectBuffer(java.nio.Buffer toBeDestroyed)
toBeDestroyed
- The direct buffer that will be "cleaned". Utilizes reflection.


{% extends "layout-chs.html" %} {% block page_title %} File abbreviated accounts with Companies House {% endblock %} {% block content %} {% include "includes/phase_banner_beta.html" %} Back You can't file abbreviated accounts with Companies House Heading Some information explaining that they can't file because the dates aren't correct. Choose another accounts type {% endblock %}
Some information explaining that they can't file because the dates aren't correct.


THE CONTENDER
Reviewed by Harvey Karten DreamWorks Pictures Director: Rod Lurie Writer: Rod Lurie Cast: Joan Allen, Jeff Bridges, Gary Oldman, Sam Elliott, Christian Slater, William L. Petersen, Philip Baker Hall, Saul Rubinek, Mike Binder, Robin Thomas
Some twenty years ago I was having a discussion at lunch with some colleagues.  Then he added, "I think I'd rather have a president who enjoys fooling around than one who's straight and narrow. I want the guy with his finger on the button to enjoy his life so that he thinks quite a lot before he pushes it!" Well said. Now Rod Lurie, who wrote and directed "The Contender"--which deals with a woman fighting to be confirmed in Congress as vice president--frames that outlook in a wittier way. Says candidate Laine Hanson (Joan Allen) to the man who nominated her, "You don't want a woman with a finger on the button who isn't getting laid."
Lurie's political thriller, which appears to be inspired by our current leader's peccadilloes, is about sex and power, about how in at least one situation the two most consequential aspects of life become intertwined when, in Lurie's view, they should not be. Lurie--who has more or less stated in an interview that the game of politics is to him what the super bowl is to a bunch of all-American TV spectators--showed his preoccupation with the sport in making the claustrophobic, low-budget film "Deterrence" just months before. While the subject matter of that work is broadly similar to that of "The Contender," the two are distinct. "Deterrence" would be valued by those who can believe that the president of the United States would decide to nuke Iraq from the comfort of a rural coffee shop during a blinding snowstorm in Aztec, Colorado amid a cacophony of varied opinions from the short- order cook, the waitress and customers. Enjoying a much larger budget in his current offering, Lurie has turned out a mostly plausible drama which, despite going out on a schmaltzy limb toward the conclusion, is eminently enjoyable and features Oscar-worthy acting by Joan Allen as the eponymous contender. Filmed mostly in Richmond, Virginia, "The Contender" affords the viewer some insight into the trappings of power--particularly when the president, as addicted to food as Bill Clinton, pushes the button labeled "chef," gets an immediate response, and orders everything from a shark sandwich on rye to an exotic oriental platter. He runs into trouble only when seeking a Muenster cheese sandwich, which the four-star chef is unable to prepare.
The story opens on a scene that may remind viewers of Ted Kennedy's unfortunate debacle at Chappaquiddick, an event that prevented the man from ever seeking the presidency. This time, however, the incident appears to push Governor Jack Hathaway (William L. Petersen) into the vice presidential nomination, as he heroically attempts to rescue a woman who had driven her car over a bridge into the water. When President Jackson Evans (Jeff Bridges) nonetheless ignores the advice of his chief adviser Kermit Newman (Sam Elliott) by passing over the governor in favor of Senator Laine Hanson (Joan Allen), Congressman Shelly Runyon (Gary Oldman) is determined to squash Hanson's nomination and to convince the president to go with Hathaway.
Until the patriotic soundtrack during the final half hour becomes conspicuous--one which seems designed to get the audience to stand up in the aisles and salute the flag--"The Contender" is a credible, sincere and serious-minded work that gets us thinking about the importance of having high principles and sticking to them when the chips are down. Would you believe a politician would refuse to fight back against smarmy accusations that she had taken part in a drunken fraternity-house sex orgy during college days--simply because she believes that her private life is just that?
By making the characters' motivations ambiguous, Lurie avoids the temptation to push his film into melodramatic soap opera. While Congressman Runyon looks evil--Oldman has been given an unappealing haircut, an ugly pair of glasses, and looks piggish in scenes that take place across a dining room table--he is simply doing what a partisan politician does to defeat a candidate not of his liking in favor of a man he thinks would be better for the country. Lurie allows the 28- year-old Congressman Reginald Webster (Christian Slater) the will to turn from a young man who plays up to the big shots against his own principles into a guy who may sacrifice his chance for an cushy appointment when his conscience gets the better of him. Jeff Bridges is alternately funny (whenever he reminds us of our own president's predilection for McDonald's) and inspiring, but Joan Allen runs away with the honors as an individual who seems always to be thinking of sex (she's enjoying a round with her husband in her very first scene), but who in a less-than-saintly fashion may have been involved in a college gang-bang and in a home-breaking affair with her married campaign manager.
Pungent dialogue, solid ensemble performances, sharp editing that takes us quickly from one scene to the next, and Rod Lurie's ability to evoke the very best from his actors make "The Contender" a rousing--if sometimes too slick-- political film.
Rated R. Running time: 130 minutes. (C) 2000 by Harvey Karten<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


[§663E-8] Contribution among and recovery from multiple defendants. Except as otherwise provided in this chapter, part II of chapter 663 shall apply to a cause of action established by this chapter. [L 2004, c 44, pt of §13]


Optional resource name to look up on the server
Objects
Google OAuth Client ID
Refresh Token (Use Google Oauth Playground to generate a refresh token) See: https://developers.google.com/oauthplayground/
Google Api's Client Secret
Promise
The Access Token or none
void
Generated using TypeDoc
Warning: Please make sure that as of version
0.0.23
we have removed theapplication/json
content type headers from this function. This may cause an issue if you originally didn't construct your request content type headers withapplication/json
.fetch(url, { headers: createOAuthHeaders(), })
If you require your server to handle authenticating multiple users across many resources (or tables) then pass in the name of the resource, for Example:
fetch(url, { headers: createOAuthHeaders("users"), })
With the resource value, the following headers are constructed:
{ "X-Auth-Token" : "<TOKEN>", "X-Auth-Resource": "users", }


“Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud. Since its inception in 2012, many companies and organizations have adopted Prometheus, and the project has a very active developer and user community. It is now a standalone open source project and maintained independently of any company. To emphasize this and clarify the project’s governance structure, Prometheus joined the Cloud Native Computing Foundation in 2016 as the second hosted project after Kubernetes.”
By default, the system will only monitor itself. This isn’t very useful. Hence, in order to configure Prometheus by editing /usr/local/etc/prometheus.yml
on the host VM. You can read more about how to configure Prometheus in the Getting Started documentation.
Since there is no built-in authentication mechanism in the Prometheus, Basic Auth is used to protect the end points. This is configured for both the main Prometheus and in the Push Gateway.
The credentials are available in the post installation notes.
While the official recommendation is to use pull, i.e. let the container pull the metric from the remote servers, it is possible to push metrics as well. This is done through the Push Gateway.
To push data to Prometheus, simply configure your client to use https://prometheus-pushgateway.yourdomain.com.


concat a b {c d e} {f {g h}}will return "a b c d e f {g h}" as its result), it will also concatenate things that are not lists, and hence the command:
concat " a b {c " d " e} f"will return "a b {c d e} f" as its result.
Note that the concatenation does not remove spaces from the middle of its arguments, so the command:
concat "a b c" { d e f }will return "a b c d e f" (i.e. with three spaces between the a, the b and the c).
Copyright © 1993 The Regents of the University of California. Copyright © 1994-1996 Sun Microsystems, Inc. Copyright © 1995-1997 Roger E. Critchlow Jr.


Dane Baptiste has appeared in 19 episodes between 2014-2018. Dane Baptiste on Wikipedia. Dane Baptiste on Chortle.


I am a computer science student at the University of Chicago interested in software engineering, web development, machine learning and everything computer science and statistics
GPA: 98
Apart from Computer Science, I enjoy playing Ultimate Frisbee and am a part of the Ultimate Frisbee team at the University of Chicago. I especially enjoy reading books and talking about philosophy and ethics.


Notebooks
Story: Porcupine hunting: we go to sit waiting for a porcupine and some of the habits of the porcupine
Porcupine hunting: we go to sit waiting for a porcupine and some of the habits of the porcupine
Title
Porcupine hunting: we go to sit waiting for a porcupine and some of the habits of the porcupine
Collection
Summary
Hunting the Porcupine, its habits and faculties (L V.-7. 4436-4456). The hunters sleep outside the porcupine's house so that it cannot smell them. The porcupine almost 'sees' with its nose, and the porcupine's eyes seem useless or 'sit for nothing' as it cannot see out of them.
Comments
1) p.4439v: what people say if an animal lies dead: the ostrich and the porcupine both 'stand', 2) This story is found in Book V-7
Contributors
Date
25 March 1875 (started)
Categories
Custom and daily life, Plants and animals
Keywords
porcupine (methods of hunting) , porcupine ('stands') , porcupine (its nature and habits) , porcupine (its hole or house) , porcupine (sitting waiting and watching for) , porcupine (and the wind) , porcupine (its faculties) , porcupine ('sees' with its nose) , porcupine (its nose tells it things) , porcupine (is nocturnal) , porcupine (when it returns) , porcupine (and the time of day) , porcupine (cannot see well at noon) , porcupine (at night) , porcupine (during the day) , porcupine (smells the hunters) , hunting (methods) , hunting (of porcupine) , hunting (sitting and waiting for porcupine) , hunting (and the nature and habits of porcupines) , hunting (and the porcupine's hole) , hunting (at different times of day) , wind (and porcupine hunting) , wind (porcupine smells the hunters on the wind)
Story Pages
4436-4456


so this update is:
- correcting the Myth: KMD is just a Privacy coin. It's not anymore.
- {Eating it's own cooked food} using crypto-conditions, MoMoM, Gateway CC, Assetchain for 1:1 of KMD chain
- Increases it's capacity of tx/s to double for KMD with KMD + KMDCC, means tx scaling!
- Gives compliance officers no excuse of turning away from KMD, since it's blockchain is not privacy anymore
(edited)


How Do I Look?..
Click (or tap) to know how to respond
Tweet
Created by
Archit Verma
Design inspired by:
GFSA
. Built with Tabletop.js, Animate.css and Touch Swipe.


Papers (with up to 12 pages, including references) have to be formatted according to the LNCS style requirements and submitted via EasyChair no later than March 21, 2016.
Please note that you can participate in the challenge without submitting a paper (and also submit a paper without participating in the challenge, although your paper should have some connection to QALD).
All accepted challenge papers will be published by Springer in the CCIS series. In addition, ESWC will publish a selection of the best challenge papers in the Satellite Event proceedings (a separate Springer LNCS Volume) along with a selection of best workshop, poster and demo papers. The best challenge paper authors may be asked to resubmit a somewhat extended version of their paper. Both the challenge proceedings and the Satellite Events proceedings will be compiled after the conference.


TABLE OF CONTENTS
Gmaj can be run in two different modes: as a stand-alone application (for viewing local data files yourself) or as an applet over the world-wide web (to display your data on a server for viewing by others). Both forms of the program are distributed together, so the initial download and unpacking instructions are the same. Setting it up as an applet, however, requires some additional steps: ensuring that Gmaj and the data files you want to display are accessible to your web server, and building a web page to run the applet.
Gmaj is available for download as a compressed zip archive,
gmaj.zip
. This was created with the Java jar tool,
but the format is compatible with PKUnzip and many other unzip
programs. Unzipping the archive will produce
gmaj.jar
(a jar file containing the program itself)
and a docs
subdirectory containing some
documentation files in HTML format. If your unzipper program
does not preserve the directory structure and complete file
names from the archive, you may need to move and/or rename the
documentation files manually in order for the "Help - Manual"
function to work. Note that the gmaj.jar
file does
not need a second round of unzipping -- Java will access it
"as is". If you are setting up Gmaj as an applet, be sure to
unzip the archive in a directory/folder that will be accessible
to your web server, e.g., a new gmaj
directory
somewhere in the server's document space.
If you are running Gmaj in stand-alone mode, you will also need to have Java installed on your computer. For applets, the server does not need Java but the end user does; you may want to mention this on your Gmaj web page. In both cases Java 1.3 or higher is required, and for best compatibility Sun's JRE (or JDK) is recommended.
For stand-alone mode, that's all there is to the installation; you will specify different start-up parameters to Gmaj each time you run it (see Starting and Running Gmaj). The remaining sections on this page apply only to applet setup.
Gmaj can display several kinds of data, including alignments, exons, repeats, annotation links, color underlays, and text highlights, with a meta-data parameters file to tie them all together. For detailed descriptions of these files and their format requirements, please see Input Files for Gmaj.
When setting up Gmaj as an applet, the data files must be
accessible to your web server. Also, due to Java security
restrictions, they must all be located on the same server as the
gmaj.jar
file, because an applet is normally only
allowed to contact the same server it was loaded from. We find
it convenient to group the files for each invocation (e.g., each
genomic region) in a separate subdirectory of the
gmaj
directory. It is also possible to bundle them
into a single zipped data file for each invocation, which eases
both storage requirements and download time (discussed further
in Input Files for Gmaj).
The last step in setting up the applet is to create a web page on your server that invokes it with the appropriate parameters for loading your data files. The applet normally appears as a labeled button that opens a Gmaj window when the user clicks on it; thus you can have several buttons on the same page, each set up to display a different set of data. The basic format of the HTML code looks like this:
This particular fragment is from the alpha-globin example on our server; naturally you need to replace the values with your own file URLs, button label, etc. A few things to note:<applet code="edu.psu.bx.gmaj.MajApplet.class" archive="gmaj.jar" width="200" height="30"> <param name=paramfile value="/java/gmaj/alpha/demo.gmaj"> <param name=bundle value="/java/gmaj/alpha/demo.zip"> <param name=buttonlabel value="Alpha-globin"> <param name=nobutton value="false"> <param name=initzoom value="mouse<PHONE_NUMBER>00"> <param name=urlpause value="100"> <param name=debug value="false"> <i>Your browser is not responding to the <applet> tag.</i> </applet>
gmaj.jar
file is not in the same
directory as your web page, you'll need to supply the path
to it in the archive
attribute.
width
and height
attributes
are for the button, not the Gmaj windows.
<param name=...
lines
(paramfile
and bundle
); the
others are optional.
nobutton
parameter is set to
"true"
, Gmaj will proceed to open its window
immediately instead of displaying a start button.
initzoom
parameter specifies an initial
zoom setting to be applied when the window opens. The user
can still invoke the Unzoom or Set Zoom features
interactively to see the entire sequence range. The
sequence name must match one of the names from the alignment
file, and the endpoints do include the offset (if any) for
that sequence from the parameters file. To specify the
reference sequence without a zoom region, use -1
for both endpoints.
urlpause
parameter specifies how many
milliseconds the program should pause before retrieving each
file from a URL, in order to avoid overloading your server.
debug
parameter is set to
"true"
, Gmaj will print a few extra warning
messages in the browser's Java console if certain problems
occur. Normally you won't need this, as it is mainly for
development purposes.


{% trans %} This pyClanSphere instance is currently in maintenance mode. Please wait until the administrator reopens the site.{% endtrans %}


[SYMBOL]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[W]
[Z]
metacharacters
$ (dollar sign) ?m metacharacters
$ (dollar sign) string boundaries
2nd
3rd
4th
5th
"anything but" character set matches multiple character matches
2nd
3rd
"at least" interval matches
2nd
( ) (parentheses) metacharacters subexpressions
2nd
3rd
4th
5th
6th
7th
8th
9th
(backslash) special character searches
2nd
3rd
(backslashes) metacharacters escaping
2nd
3rd
* (asterisk) zero or more character searches
2nd
3rd
+ (plus sign) character set searches
2nd
3rd
4th
one or more character searches
2nd
- (hyphen) character set range matches
2nd
3rd
. (period) special character searches
2nd
3rd
4th
5th
unknown character searches
? (question mark) zero or more character searches
2nd
3rd
4th
?! (negative lookahead operators)
?= (lookahead operators)
2nd
3rd
?[GR]= (lookbehind operators), combining with
2nd
?[GR]! (negative lookbehind operators)
versus ?[GR]= lookbehind operators
2nd
3rd
?[GR]= (lookbehind operators)
2nd
3rd
?= (lookahead operators), combining with
2nd
versus ?[GR]! (negative lookbehind operators)
2nd
3rd
?m metacharacters
2nd
3rd
[ ] (brackets) character set matches
2nd
3rd
4th
5th
6th
character set range matches
2nd
escaping
2nd
\bwordboundaries
2nd
3rd
^ (carrot) "anything but" character set matches
2nd
?m metacharacters
character set matches
string boundaries
2nd
3rd
4th
5th
{ } (curly brackets) intervals
"at least" interval matches
2nd
exact interval matches
2nd
range interval matches
2nd
3rd
|


Hello! We noticed that you haven't added any logs to your goal.
Do you need some motivation?
Definitely
Not right now


This widget will display additional sign-in buttons when you configure Azure Active Directory or Azure Active Directory B2C
integration in your API Management service. This message appears only in the portal's administrative mode and
the widget will be rendered as an empty space in the published portal, so you don't need to remove it.


See: Description
| Package | Description |
|---|---|
| org.apache.edgent.execution |
Execution of Edgent topologies and graphs.
|
| org.apache.edgent.execution.mbeans |
Management MBeans for execution.
|
| org.apache.edgent.execution.services |
Execution services.
|
| org.apache.edgent.function |
Functional interfaces for lambda expressions.
|
| org.apache.edgent.topology |
Functional api to build a streaming topology.
|
| org.apache.edgent.topology.json |
Utilities for use of JSON in a streaming topology.
|
| org.apache.edgent.topology.mbeans |
Controls for executing topologies.
|
| org.apache.edgent.topology.plumbing |
Plumbing for a streaming topology.
|
| org.apache.edgent.topology.services |
Services for topologies.
|
| Package | Description |
|---|---|
| org.apache.edgent.providers.development |
Execution of a streaming topology in a development environment .
|
| org.apache.edgent.providers.direct |
Direct execution of a streaming topology.
|
| org.apache.edgent.providers.iot |
Iot provider that allows multiple applications to
share an
IotDevice . |
| Package | Description |
|---|---|
| org.apache.edgent.connectors.command |
Command / OS Process connector.
|
| org.apache.edgent.connectors.csv |
Utilities for handling Comma Separated Value strings.
|
| org.apache.edgent.connectors.file |
File stream connector.
|
| org.apache.edgent.connectors.http |
HTTP stream connector.
|
| org.apache.edgent.connectors.iot |
Edgent device connector API to a message hub.
|
| org.apache.edgent.connectors.iotp |
IBM Watson IoT Platform stream connector.
|
| org.apache.edgent.connectors.jdbc |
JDBC based database stream connector.
|
| org.apache.edgent.connectors.kafka |
Apache Kafka enterprise messing hub stream connector.
|
| org.apache.edgent.connectors.mqtt |
MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.
|
| org.apache.edgent.connectors.mqtt.iot |
An MQTT based IotDevice connector.
|
| org.apache.edgent.connectors.pubsub |
Publish subscribe model between jobs.
|
| org.apache.edgent.connectors.pubsub.oplets |
Oplets supporting publish subscribe service.
|
| org.apache.edgent.connectors.pubsub.service |
Publish subscribe service.
|
| org.apache.edgent.connectors.serial |
Serial port connector API.
|
| org.apache.edgent.connectors.wsclient |
WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.
|
| org.apache.edgent.connectors.wsclient.javax.websocket |
WebSocket Client Connector for sending and receiving messages to a WebSocket Server.
|
| org.apache.edgent.connectors.wsclient.javax.websocket.runtime |
| Package | Description |
|---|---|
| org.apache.edgent.analytics.math3.json |
JSON analytics using Apache Commons Math.
|
| org.apache.edgent.analytics.math3.stat |
Statistical algorithms using Apache Commons Math.
|
| org.apache.edgent.analytics.sensors |
Analytics focused on handling sensor data.
|
| Package | Description |
|---|---|
| org.apache.edgent.metrics |
Metric utility methods, oplets, and reporters which allow an
application to expose metric values, for example via JMX.
|
| org.apache.edgent.streamscope |
Stream Oscilloscope - package for instrumenting streams to capture tuples.
|
| org.apache.edgent.streamscope.mbeans |
Stream Oscilloscope
ControlService
Management Bean interfaces. |
| org.apache.edgent.streamscope.oplets |
| Package | Description |
|---|---|
| org.apache.edgent.graph |
Low-level graph building API.
|
| org.apache.edgent.oplet |
Oplets API.
|
| org.apache.edgent.window |
Window API.
|
| Package | Description |
|---|---|
| org.apache.edgent.topology.spi | |
| org.apache.edgent.topology.spi.functions | |
| org.apache.edgent.topology.spi.graph | |
| org.apache.edgent.topology.spi.tester |
Apache Edgent is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
Edgent applications communicate with back-end systems through some form of message hub as there may be millions of edge devices. Edgent supports these message hubs:
Back-end analytic systems are used to perform analysis on information from Edgent applications that cannot be performed at the edge. Such analysis may be:
Topology
which uses a functional
model to build a topology of streams
for an application.
TStream
is a declaration of a stream of tuples, an application will create streams that source data (e.g. sensor readings) and then apply functions that transform those streams into derived streams, for example simply filtering a stream containg engine temperator readings to a derived stream that only contains readings thar are greater than 100°C.
This programming style is typical for streaming systems and similar APIs are supported by systems such as Apache Flink, Apache Spark Streaming, IBM Streams and Java 8 streams.
source --> filter --> transform --> aggregate --> send to MQTT
graph
API is a lower-level API that the
topology api is built on top of. A graph consists of
oplet
invocations connected by streams.
The oplet invocations contain the processing applied to each tuple
on streams connected to their input ports. Processing by the oplet
submits tuples to its output ports for subsequent processing
by downstream connected oplet invocations.
<edgent-target>
refers to an Edgent release's platform target
directory such as .../edgent/java8
.
A number of sample Java applications are provided that demonstrate use of Edgent.
The Java code for the samples is under <edgent-target>/samples
.
Shell scripts to run the samples are <edgent-target>/scripts
.
See the README
there.
Summary of samples:
| Sample | Description | Focus |
|---|---|---|
HelloEdgent |
Prints Hello Edgent! to standard output. | Basic mechanics of declaring a topology and executing it. |
PeriodicSource |
Polls a random number generator for a new value every second and then prints out the raw value and a filtered and transformed stream. | Polling of a data value to create a source stream. |
SensorsAggregates |
Demonstrates partitioned aggregation and filtering of simulated sensors
that are bursty in nature, so that only intermittently
is the data output to System.out |
Simulated sensors with windowed aggregation |
SimpleFilterTransform |
||
| File | Write a stream of tuples to files. Watch a directory for new files and create a stream of tuples from the file contents. | Use of the File stream connector |
| IotfSensors, IotfQuickstart | Sends simulated sensor readings to an IBM Watson IoT Platform instance as device events. | Use of the IBM Watson IoT Platform connector to send device events and receive device commands. |
| JDBC | Write a stream of tuples to an Apache Derby database table. Create a stream of tuples by reading a table. | Use of the JDBC stream connector |
| Kafka | Publish a stream of tuples to a Kafka topic. Create a stream of tuples by subscribing to a topic and receiving messages from it. | Use of the Kafka stream connector |
| MQTT | Publish a stream of tuples to a MQTT topic. Create a stream of tuples by subscribing to a topic and receiving messages from it. | Use of the MQTT stream connector |
| SensorAnalytics | Demonstrates a Sensor Analytics application that includes: configuration control, a device of one or more sensors and some typical analytics, use of MQTT for publishing results and receiving commands, local results logging, conditional stream tracing. | A more complete sample application demonstrating common themes. |
classpath
depending
on what features your application uses.
Include one or both of the following:
<edgent-target>/lib/edgent.providers.direct.jar
- if you use the
DirectProvider
<edgent-target>/lib/edgent.providers.development.jar
- if you use the
DevelopmentProvider
<edgent-target>/connectors/file/lib/edgent.connectors.file.jar
<edgent-target>/connectors/jdbc/lib/edgent.connectors.jdbc.jar
<edgent-target>/connectors/iotf/lib/edgent.connectors.iotf.jar
<edgent-target>/connectors/kafka/lib/edgent.connectors.kafka.jar
<edgent-target>/connectors/mqtt/lib/edgent.connectors.mqtt.jar
<edgent-target>/connectors/wsclient-javax.websocket/lib/edgent.connectors.wsclient.javax.websocket.jar
[*]javax.websocket
client implementation
if you use the wsclient
connector. Include the following to use
an Eclipse Jetty based implementation:
<edgent-target>/connectors/javax.websocket-client/lib/javax.websocket-client.jar
Include jars for any Edgent utility features you use:
<edgent-target>/utils/metrics/lib/edgent.utils.metrics.jar
- for the edgent.metrics
packagejava.util.logging
or log4j
).
For java.util.logging
you can include:
<edgent-target>/ext/slf4j-1.7.12/slf4j-jdk-1.7.12.jar
Copyright © 2016 The Apache Software Foundation. All Rights Reserved - 54ea8ac-20160726-1240


YAY, Citrus 3.0 is here! A few weeks ago we have released a new major release for the Citrus integration testing framework! This is a huge step in the Citrus project! It has been over two years since the last release 2.8.0 and the journey towards 3.0 has been a tremendous challenge. Citrus is back and stronger than ever before!
This summary is here to share our strategy, ideas and all major changes that are part of Citrus 3.0!
Objectives
Citrus 3.0 is a major release, and we want to take that as an opportunity to follow up with some improvements and refactoring that we are eager to do for quite some time. That being said we try to comply with everybody’s need to migrate from older versions. People coming from Citrus 2.x should have a look at the 2.x migration guide. In addition to that we take extra care to keep breaking changes on a low-level.
Here are the main objectives we have in Citrus 3.0
- Modularize Citrus
- Improved Java DSL
- Make Spring optional
- Update dependencies to new major versions (Cucumber, Apache Camel, Spring Framework, …)
Modularize Citrus
The citrus-core
module is the heart of the framework and contains all capabilities that Citrus has to offer.
So if you include citrus-core
as a dependency in your project you will load a lot of artifacts as transitive dependencies (e.g. from Maven central).
Loading that huge amount of libraries is not a good thing especially when you do not need all features provided by Citrus (e.g. Groovy script support, Xhtml, XML validation and so on).
With citrus-core
it is all or nothing. So we are keen to modularize the core module into several smaller pieces.
The user can then choose which of the Citrus modules and features to include into the project or even overwrite and substitute certain pieces with own implementations.
Module categories and structure
In Citrus 3.0 we end up with following module categories:
-
API and base implementations of core Citrus features. There will be a separate
citrus-base
andcitrus-spring
module where latter encapsulates the Spring Framework support in Citrus (more about that in make Spring optional).Module Description citrus-api Interfaces, enums, constants citrus-base Default implementation of citrus-api
citrus-spring Adds Spring Framework support to citrus-base
(Bean definition parsers, Application context configuration, Autowiring in factory beans -
Test execution modules such as JUnit, TestNG and Cucumber representing different ways to run Citrus tests.
Module Description citrus-cucumber Run Citrus tests as Cucumber BDD feature files citrus-testng Run tests via TestNG unit test framework citrus-junit Run tests via JUnit4 unit test framework citrus-junit5 Run tests via JUnit5 unit test framework citrus-main Run tests via Java main CLI citrus-groovy Run Citrus tests as Groovy scripts (to be continued …) -
Endpoints connect Citrus to a message transport like Apache Kafka, JMS, Http REST, Ftp, Mail and many more. Each endpoint may provide producer/consumer or client/server components to exchange message content over the respective transport.
Module Description citrus-camel Interact with Apache Camel context, routes and control bus citrus-ftp Connect to and simulate FTP/SFTP servers citrus-http Http REST support citrus-jdbc Simulate JDBC drivers, connections and transactions citrus-jms Publish/consume messages on a JMS message broker citrus-kafka Exchange data via Kafka messaging citrus-jmx Call MBean operations and simulate MBeans citrus-mail Client and server side SMTP mail support citrus-rmi Call RMI via JNDI registry lookup and simulate RMI services citrus-ssh Connect to servers via SSH and simulate SSH servers citrus-vertx Exchange messages on the Vert.x event bus citrus-websocket Websocket support citrus-ws SOAP WebServices support including SOAP envelope handling, WSDL, WS-Security, … citrus-zookeeper Connect with Zookeeper servers citrus-spring-integration Exchange messages on Spring Integration message channels -
When Citrus receives messages the test case is eager to verify the message content. Validation modules implement message validators and mechanisms to validate different data formats such as Json, XML, plaintext, binary content and so on. Some validation modules also add support for verification tools such as Groovy script validation, Hamcrest and AssertJ.
Module Description citrus-validation-xml XML, Xpath and Xhtml message validation citrus-validation-json Json and JsonPath message validation citrus-validation-text Plain text message validation citrus-validation-binary Validate binary message content using input streams or base64
encodingcitrus-validation-groovy Adds Groovy script validation for XML, Json, SQL result set citrus-validation-hamcrest Hamcrest matcher support like assertThat(oneOf(is(foo), is(foobar)))
-
Connectors are similar to endpoints yet these components connect Citrus to a foreign technology or framework rather than implementing a message transport. Connectors typically provide a client side only implementation that enable Citrus to interact with a service or framework (e.g. Docker, Kubernetes, Selenium web driver).
Module Description citrus-sql Connect with a relational database citrus-docker Connect with Docker deamon to manage images and containers citrus-selenium Connect with web driver to run web-based UI tests citrus-kubernetes Connect to Kubernetes cluster managing PODs services and other resources -
Tooling is important and the modules in this category provide little helpers and plugins for different use cases where the usage of Citrus needs to be simplified (e.g. Maven plugins, test generators, etc.)
Module Description citrus-restdocs Auto generate request/response documentation for Http REST and SOAP communication citrus-maven-plugin Maven plugins to create tests citrus-archetypes Maven archetypes for project code generation citrus-test-generator Create and auto generate test cases (e.g. from Swagger OpenAPI specifications) -
A catalog in Citrus combines several other modules into a set of modules that usually get used together. The
citrus-core
module for instance combines all available validation modules, runtimes and the Citrus Spring support into a single artifact. So the user just needs to addcitrus-core
to the project and can use everything Citrus has to offer (exactly like Citrus 2.x is doing).Module Description citrus-bom Bill of material holding all modules for imports citrus-core Default Citrus capabilities (validation, runtime, Spring support) combined into one single module (exactly the same what you have had with previous versions) citrus-endpoint-catalog Combine all endpoints to a single source for endpoint builders -
We are about to take a major step in Citrus and this implies some backward incompatibilities that “vintage” modules try to solve for users that still need to stick with an older version of Citrus for some reason. With these “vintage” modules you can still run older test cases with the new Citrus 3.x code base.
Module Description citrus-java-dsl Old Java DSL implementation (designer vs. runner) to be used for Citrus 2.x Java DSL tests citrus-arquillian Arquillian runtime for Citrus -
Module in the utility category provide tooling for internal usage only. For instance this is a shared test library that is used in unit testing by several other modules. The modules are only used when building the Citrus modules. Utility modules usually are not included in a release so they won’t be pushed to Maven central.
Module Description citrus-test-support Internal helper library added as test scoped dependency for unit testing in other modules. Holds shared unit testing helpers.
How to use the new module structure
Users that do not want to change much in their project regarding the dependency setup just continue to add citrus-core
dependency.
<dependency>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-core</artifactId>
<version>1.1.0</version>
</dependency>
This will get you the same capabilities as in Citrus 2.x with all validation modules, runtime and Spring support enabled. The citrus-core
is a catalog module combining several other modules that get automatically added to your project.
The downside of this approach is that you get a lot of features and transitive dependencies that you might not need in your project. Fortunately you can exclude some features from citrus-core
with the new module structure in 3.x.
<dependency>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-core</artifactId>
<version>1.1.0</version>
<exclusions>
<exclusion>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-validation-groovy</artifactId>
</exclusion>
<exclusion>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-testng</artifactId>
</exclusion>
</exclusions>
</dependency>
The example above excludes the Groovy validation capabilities and the TestNG runtime from the project. The features will not be added to your project and fewer artifacts get downloaded.
Of course there is a lot more to exclude and you might end up having a more complicated configuration for all those exclusions.
For people trying to operate with just what they need in their project the pull approach might be the way to go. Here you add just citrus-base
as dependency.
<dependency>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-base</artifactId>
<version>1.1.0</version>
</dependency>
If you want to use Spring Framework support you may also add:
<dependency>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-spring</artifactId>
<version>1.1.0</version>
</dependency>
With the new modular setup in Citrus not every feature is enabled by default. As you write and execute tests in your project you might then run into errors because you are using a Citrus feature that has not yet been added to your project. Something like:
FAILURE: Caused by: NoSuchValidationMatcherException: Can not find validation matcher "assertThat" in library citrusValidationMatcherLibrary ()
at com/consol/citrus/jms/integration/JmsTopicDurableSubscriberIT(iterate:26-48)
The error indicates that you need to add the Hamcrest validation matcher feature to the project. You can do so by adding the respective module dependency in your project:
<dependency>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-validation-hamcrest</artifactId>
<version>1.1.0</version>
</dependency>
The awesomeness about it is that you can add your favorite matcher implementation as a dependency (we still need to add AssertJ support in Citrus, so we would love a contribution doing that!).
What happened to citrus-*-model modules?
Each module in former Citrus versions has had a little brother that generated model classes from XSD schema files.
The XSD schemas are used for custom Spring bean definition parsing and were located in the citrus-*-model
modules (e.g. citrus-config.xsd).
The initial idea behind that separate model module was to separate model classes from implementations in order to use that model in a user interface called citrus-admin
.
With Citrus 3.x we included the XSD schemas into the implementation modules so we do not have to maintain all the citrus-*-model
modules separately (also one less artifact to load, excellent).
Java DSL
Citrus provides a Java domain specific language to write integration tests with a fluent API. The API makes use of the fluent builder pattern to specify test actions.
In Citrus 2.x all Java DSL related test action builders were located in a separate module called citrus-java-dsl
.
For better maintainability and modularization reasons the test action builders have moved into the individual modules
where the test action implementation is located.
In fact the Java DSL builders are now inner classes of the respective test action.
In former releases users had to choose between the two different approaches to write Java DSL tests with this fluent API:
Just like many things in life both approaches have had individual advantages and downsides. We have accepted the challenge to combine both approaches designer and runner into a single approach that combines the advantages and minimizes downsides.
In Citrus 3.x we end up using a simplified Java DSL that uses the look and feel of the former designer API but executes each step immediately to keep debugging options and the capability to add custom code between steps.
The separation between designer and runner has been removed completely. So there is only one single source of truth the
TestCaseRunner
and the fluent Java API for writing tests in Citrus.
This simplifies the implementation in other modules (Cucumber, TestNG, JUnit) a lot.
This is how a new Java DSL test looks like in Citrus 3.x:
public class HelloServiceIT extends TestNGCitrusSpringSupport {
@Autowired
private HttpClient httpClient;
@Autowired
private KafkaEndpoint orderEvents;
@Test
@CitrusTest
public void test() {
given(variable("orderId", 1000));
when(http().client(httpClient)
.send()
.post("/orders")
.contentType(APPLICATION_FORM_URLENCODED)
.body("order=${orderId}&name=foo"));
then(receive(orderEvents)
.body("Order ${orderId} has been placed"));
and(http().client(httpClient)
.receive()
.response(HttpStatus.OK));
}
}
The test extends TestNGCitrusSpringSupport
.
This gives you the annotation support for @CitrusTest
so the test is added to the Citrus test reporting.
The base class also gives you the test action execution methods given()
, when()
, then()
and and()
.
This relates to the BDD Gherkin language and is widely known to a lot of people out there.
If you do not want to use this BDD approach in your test you can also use the basic run()
method or its shortcut version $()
instead.
$(http().client(httpClient)
.send()
.post("/orders")
.contentType(APPLICATION_FORM_URLENCODED)
.body("order=${orderId}&name=foo"));
Former Citrus versions provided many base classes which confused users.
The classes TestNGCitrusSupport
/JUnit4CitrusSupport
are now the single base class for all tests including XML and Java DSL tests.
The JUnit 5 support provides a @CitrusSupport
extension annotation.
@CitrusSpringSupport
@ContextConfiguration(classes = {CitrusSpringConfig.class})
public class HelloServiceIT {
@Autowired
private HttpClient httpClient;
@Autowired
private KafkaEndpoint orderEvents;
@Test
@CitrusTest
public void test(@CitrusResource GherkinTestActionRunner $) {
$.given(variable("orderId", 1000));
$.when(http().client(httpClient)
.send()
.post("/orders")
.contentType(APPLICATION_FORM_URLENCODED)
.body("order=${orderId}&name=foo"));
$.then(receive(orderEvents)
.body("Order ${orderId} has been placed"));
$.and(http().client(httpClient)
.receive()
.response(HttpStatus.OK));
}
}
Make Spring optional
The Spring framework is a wide spread and well appreciated framework for Java applications. The framework provides an awesome set of projects, libraries and tools. The dependency injection and IoC concepts introduced with Spring are groundbreaking.
Some people prefer to choose other approaches though to work with dependency injection. Others do struggle with mastering Citrus and Spring as new frameworks at the same time. Both frameworks Spring and Citrus are very powerful and newbies sometimes feel overwhelmed with having to deal with so much new stuff at the same time.
In former releases Citrus has been very tied to Spring and in some cases this has been a showstopper to work with Citrus for mentioned reasons.
In Citrus 3.x we make Spring optional in core
modules so people can choose to enable/disable Spring support.
In particular this affects the way Citrus components are started and linked to each other via the Spring application context.
Citrus and Spring
When Spring is enabled for Citrus all components are loaded with a Spring application context. This enables autowiring and bean definition parsing. Latter bean definition parsing for custom components is mandatory when using XML based configuration and XML test cases in Citrus.
Users enable the Spring support in Citrus by adding the following module:
<dependency>
<groupId>com.consol.citrus</groupId>
<artifactId>citrus-spring</artifactId>
<version>1.1.0</version>
</dependency>
When using citrus-core
dependency this Spring support is enabled by default in order to adjust with what has been configured in previous Citrus versions.
Citrus standalone
In case you exclude the citrus-spring
module for Citrus you will load the same components and features but only without Spring framework support.
Keep in mind only the XML based configuration and XML test cases continue to require Spring.
In non-Spring mode custom components can be directly configured in the Citrus context then.
Also Citrus uses a resource common path lookup mechanism to identify common components that get loaded automatically.
So you simply add components such as citrus-validation-json
to your project classpath and the Json validation capabilities are loaded automatically.
The resource path lookup is a mechanism to identify components in Citrus that should be loaded automatically when the Citrus application is started. You only need to add components to the classpath (e.g. by adding a Maven dependency) and the resource gets loaded automatically. This mechanism is used to decouple modules and to provide a non-Spring mode for Citrus.
Feel free to choose which approach fits best for your needs. Citrus running with or without Spring.
Update dependencies
It has been quite some time since the last major Citrus release. So this is a point where we catch up with all the other libraries and dependencies that evolved over time. In particular this is Apache Camel, Spring and Cucumber that all evolved with major versions in the past.
The following might be the most important updates:
- Java 11
- Spring framework 5.3
- Apache Camel 3.9
- TestNG 7.1
- JUnit 5.7
- Jetty 9.4
- Kafka 2.8
- Selenium 3.141
- Log4J2 2.14
- Cucumber 6.10
What’s next!?
So 3.0 is the first version of the Citrus 3.x release train. And we are not done yet! We continue to work on our goals to simplifying the ways of writing integration tests so Citrus is ready for the future challenges of software testing.
We love to get feedback so please give it a try and tell us what you think about Citrus 3.0. Now is the time to raise your voice to improve the framework!


{% load static %}
Login
Sign In to Virtual Classroom
{% csrf_token %}
Email Address
Password
Sign In
OR
Sign In with facebook
Sign In with google+


For actual use you will need those libraries:
For simple usage without bothering with customizing code you will need those:
var defaults = { //quite obvious ones width : 400, height : 250, //id of chart, for d3 chartId : null, //data to be presented data : null, //css selector with legend legendContainer : null, //difference between pie radius with and without mouse hover hoverRadiusDiff : 10, //css selector with navigation panel navigation : null, //determine if navigation panel should be hidden when showing root hideNavOnRoot : true, //schema of provided data; allows to customize chart, not the data source dataSchema : { idField : 'id_category', valueField : 'cost', childrenField : 'categories' }, //customizing animations - easings and durations hoverPieAnimation : { easing : "elastic", duration : 1000 }, focusAnimation : { easing : "easeInOutQuart", duration : 100 } };


Post jobs, seek freelancers
Browse between many freelancers, which are specialized in different skills
Add images and geolocation with precise job location
Browse and accept offers for posted jobs
Pay, if and when the job is done
Rate the service you received from a hired freelancer


In relation to the asset with ID [AssetID] tracked by the
Asset Data
Company: ACME
Model: Open source V2
Serial number: ASX26547
Reference time interval
Start: 20/4/2020 12:45:00
End: 20/4/2020 13:15:00
Transactions details
| Transaction ID | Timestamp |
|---|---|
| aeca2654b...677e762 | 20/4/2020 12:46:06 |
| 7460b892f...35befed | 20/4/2020 12:56:21 |
| c2d32b703...b2d6ce0 | 20/4/2020 13:06:53 |
You can check all transactions affecting this asset in the reference time range with this HASH code directly on the TrustOS platform: [HASH_CODE]


Our objective is to prepare the future generation of Guinean computer scientists and professionals ready to take up the challenges and seize the opportunities inherent in the highly technological future for which Guinea is inevitably destined.
Our training programs include curricula such as CSBridge, an excellent introductory computer programming curriculum based on pedagogical techniques that have been used at Stanford University for over 20 years.
In the following years, we want to: Intensify computer education in Guinea, build and operate learning centers in all the prefectures of Guinea, and train teachers, students and professionals ready for the job market.


Event Location:
Mammel Hall, University of Nebraska-Omaha
6708 Pine Street
Omaha, Nebraska
Abstract:
The foundation of database performance is the underlying server hardware and storage subsystem. Even the best designed and optimized database application can be crippled by an inadequate hardware and storage infrastructure. Recent advances in new processors and chipsets, along with improvements in magnetic and SSD storage have dramatically changed the evaluation and selection process compared to the past. Many database professionals struggle to keep up with new technology and often simply let someone else make their hardware selection and sizing decisions.  This session covers current and upcoming hardware from both Intel and AMD.
Speaker(s): Glenn Berry,
Abstract:
Whether we inherit our Analysis Services environments from predecessors or create them - learning as we go - ourselves, we often conclude that performance (processing and / or querying) and functionality can be enhanced. In this session, Microsoft BI Architect and SQL Server MVP Bill Pearson overviews ways to launch new capabilities and to propel performance beyond its current plateau, using design best practices to better meet consumer performance and functional needs.
Speaker(s): William E Pearson III,
Abstract:
SQL Server 2005 and later continued to introduce tools to help you audit what was occurring in your database, with 2012 introducing even more auditing tools. In this session, we'll go over the questions you need to ask your business to determine what level of auditing is appropriate. We'll go through how to set up many of the common audits to meet your business' requirements. Each technique has its features and each has associated costs - your goal is to find a balance.
Speaker(s): Ronald Yenko,
Abstract:
With 2012 Extended Events became much easier to use and is a great way to find out more of what is going on in the database. This presentation will show how you can use Extended Events to find out about items like Deadlocks and Query Performance. We will create a new Event and I will show you how you can use the data collected to report commonly monitored statistics.
Speaker(s): Kathy Gibbs,
Abstract:
PerformancePoint can be a useful tool for delivering a dashboard to users through SharePoint. The data visualizations for your dashboard can come from PerformancePoint, Excel Services, Reporting Services, or a web page. Understanding the features and limitations of these sources of data visualizations can help you create a dashboard that best meets your users’ needs.
Speaker(s): Meagan Longoria,
Abstract:
When the query optimizer inaccurately estimates the number of rows for query execution plan iterators, performance can suffer due to the generation and use of a suboptimal plan. Fixing cardinality estimate issues will help the query optimizer generate a higher quality plan. This session will teach you how to identify cardinality estimate issues in your query execution plan and also cover various ways in which cardinality estimate issues can be addressed.
Speaker(s): Joe Sack,
Abstract:
Having scheduled database backups is one thing, but knowing what backup types are needed is a different horse of a different color. Building on the "Backups 101" session, this discussion focuses on why we should build Recovery solutions instead of Backup solutions, and the most important things to remember when designing the solution.
Speaker(s): Brandie Tarvin,
Abstract:
Have you ever wondered what's going on with that SQL Server Analysis server you support? Do you want to know what this BI fuss is all about? I'll walk you through the basics of dimensional modelling to help you understand from a operational DBA perspective what's going on and why a BI system needs to be treated differently. I'll take the mysticism out of the differences between OLTP and OLAP and provide a method to the maddness.
Speaker(s): Scott Shaw,
Abstract:
Amazon’s AWS and Microsoft’s Azure both offer SQL Server instances as services (not necessarily as servers). What do they offer, why would one use them, how do they differ, what special considerations are there? What exactly does “Platform as a Service” (PaaS) mean with SQL?
Speaker(s): Tim Plas,
Abstract:
The 2012 release of SQL Server promise a variety of delicious new language features to solve problems. After this session, you'll have a taste for all the sweets they've packed into the language including conversions, date time functions, windowing functions, analytic functions and sequences.
Speaker(s): Bill Fellows,
Abstract:
Using freely available tools to baseline your new SQL server instance. Using Crystal disk mark, SQLIO, Memtest86, and Dell DVDstore tools to measure, baseline and compare results of your new hardware. Crystal disk mark and SQLIO will test IO subsystems ; memtest86 will test your memory before you put it into production. Dell DVDstore will be used to create a database enabling you to put a synthetic load simulating numerous users to your SQL server instance, enabling the creation of solid baselines when putting the server under a heavy load. Using the benchmarks to determine capacity of the hardware and will it met the expected load.
Speaker(s): Shawn Meyers,
Abstract:
This session will provide a deeper dive into the art of dimensional modeling. We will look at the different types of fact tables and dimension tables, how and when to use them. We will also some approaches to creating rich hierarchies that make reporting a snap. This session promises to be very interactive and engaging, bring your toughest Dimensional Modeling quandaries.
Speaker(s): Jason Horner,
Abstract:
Database Security is a very broad and scary topic, one which many days could be dedicated to speaking on it. In this session Matt will give a high level overview of what Database Security is, what tools Microsoft gives you to accomplish it and some simple things that you can do to shrink your attack surface.
Speaker(s): Matthew Brimer,
Abstract:
More and more data collected in organizations is in an encoded format, essentially a binary classification of data. These can be images, audio files, video, or even common formats like Word and Excel files. This data contains lots of important data, but the formatting must be stripped out in order for users to effectively search this data. Filestream, Filetable, Full-Text Search, and Semantic Search are covered.
Speaker(s): Steve Jones,
Abstract:
This is a deep dive session in the new HA/DR options for SQL Server 2012. Through interactive discussions and lively demos, get an in depth understanding of the AlwaysOn Failover Clustering and AlwaysOn Availability Groups. Experience how to set up active secondary’s and off load backups to the secondary servers. You will walk away with a thorough understanding of the pros and cons of each HA/DR option in SQL Server 2012 and can immediately apply it to practical use.
Speaker(s): Sudhir Gajre,
Abstract:
Tabular modules allow developers to create models based upon different data sources; create hierarchies, perspectives, partitions and roles similar to traditional OLAP cubes. In this session will highlight the differences between traditional OLAP and tabular models and reasons for selecting one approach over another. I will demonstrate how to create a data model first in power pivot model and then import into an Analysis Services Tabular Project. Working with the imported data I will then create measures, KPIs, perspectives, and implement security. Finally I will deploy the model to an Analysis Server.
Speaker(s): Jeff Renz,
Abstract:
Master Data Services (MDS) is a Master Data Management solution on the Microsoft Platform. This solution enables the management of non-transactional data (nouns) within the enterprise. Get a good business and technical understanding of how MDS can help your organization obtain better data governance. The demo will walk through the basics of getting started with Master Data Services 2012, including the Excel Add-in for Master Data Services.
Speaker(s): Reeves Smith,
Abstract:
Learn the options for encryption in SQL Server, covering hashing, symmetric keys, asymmetric keys, and encrypted communications.
Speaker(s): Steve Jones,
Abstract:
A key feature of Windows PowerShell is the ability to execute long running tasks in the background while you continue to use the shell for other tasks. In this session you will learn about the PowerShell's job infrastructure including using scheduled background jobs, a new PowerShell 3.0 feature. We'll also explore some alternatives such as using runspaces.
Speaker(s): Jeff Hicks,
Abstract:
What you need to know about Reporting Services in the Cloud. We will cover benefits, limitations and scenarios that you may or may not have thought about for implementing this into your enviornment or for simply taking advantage of the free trial period.
Speaker(s): Leslie Weed,
Abstract:
For the first time since SQL 7 there is a compelling reason for EVERY SQL Server user to upgrade to the next version and this time around the reason is Windowing Functions. And these are NOT limited to Enterprise Edition, like so many other really useful and important features! The range of data processing needs that can be very efficiently and cleanly solved with these tools is stunning. In this demo-packed session we will cover as many features as we can pack into an hour's time, and you can take the demo code back home with you to review at your leisure!
Speaker(s): Kevin Boles,
Abstract:
Data Analysis Expressions (DAX) is the language of PowerPivot and the BISM Tabular Model. Understand the basics of the DAX language and get introduced to evaluation context.
Speaker(s): Reeves Smith,
Abstract:
New in SQL Server 2012, the SSIS catalog provides a rich set of built-in tools for capturing/reporting package logging, statistics, and other interesting things all within a few keystrokes or mouse clicks. This session will focus on the internals of this new catalog and how to use it. You will learn how to extend and query the metadata captured by the package execution process and how to navigate your way around the built-in reports.
Speaker(s): Phil Brammer,
Abstract:
Everything that's old is new again, as Windows Server moves back to the terminal interface. With SQL 2012, we can now run our SQL Servers on Server Core, a version of the Windows OS that is smaller and more secure. This presentation will introduce you to Server Core, how to prepare it for a SQL installation(including using Powershell for management), and how to actually install SQL 2012 on to it.
Speaker(s): Michael Fal,
Abstract:
SQL Server 2005 introduced Dynamic Management Views (DMVs) that allow you to see exactly what is happening inside your SQL Server instances and databases with much more detail than ever before. SQL Server 2008 R2 adds even more capability in this area. You can discover your top wait types, most CPU intensive stored procedures, find missing indexes, and identify unused indexes, to name just a few examples. This session (which is applicable to SQL Server 2005 through 2012), presents and explains over fifty DMV queries that you can quickly and easily use to detect and diagnose performance issues in your environment.
Speaker(s): Glenn Berry,
Abstract:
Discuss the basic indexing principles you should have learned in school if you had been paying attention. We will examine a couple of data and indexing patterns that will enable you to make an educated decision on your indexing strategy. We will also take a deep dive in how indexes begin and grow and how they are used
Speaker(s): Dean Nicholson,
Abstract:
Come see David Klee (@kleegeek) and Joe Grant (@dba_jedi) in a "discussion" with a competitive comparison between SQL Server and Oracle in a highly interactive dynamic session. Each database engine has its place in the IT world, and we will discuss which is the right tool for the job. The goal is to be objective and compare features, strengths and weaknesses, and editions. Check your opinions at the door and come join us for an educational session!
Speaker(s): David Klee,
Abstract:
If you have not experienced building BI solutions with Excel 2010, be amazed at what you can do in Excel 2013. In this session we will use PowerPivot, Power View, Quick Explorer, and other great features in Excel to build an Excel 2013 BI solution. Microsoft has went "all-in" with Excel as their primary BI client. If you want to get a first hand look at using it more fully, you will be amazed. I know I was.
Speaker(s): Steve Hughes,
Abstract:
One of the killer features in PowerShell 3.0 is the ability to create workflows with Powershell script. You do not need a developer background or Visual Studio to create workflows. Now you can workflow scripts for long running and unattended tasks that can survive network interruptions or even reboots. In this session we'll look at workflow syntax, how to run and some best practices.
Speaker(s): Jeff Hicks,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
LinkedIn: http://www.linkedin.com/in/ronaldyenko
Ronald Yenko is a Database Engineer at Senior Market Sales, Inc. in Omaha, NE. For the past 20 years he has been involved with various Microsoft technologies including providing enterprise database architecture solutions using Microsoft SQL Server (from 6.5 through 2017) in the ecommerce, retail, law enforcement, government and financial industries. He holds various Microsoft certifications including MCT and MCITP/MCTS.
LinkedIn: http://www.linkedin.com/in/reevessmithiii/
Contact: http://reevessmith.wordpress.com
Reeves Smith, owner and principal architect of Macer Consulting, is passionate about applying data technologies that empower organizations. Reeves wields his knowledge and experience to lead, design, architect, and teach, working with both data center and business project teams. He approaches every project by first understanding the organization’s business challenges, and then developing a unique approach that targets those business needs accurately and effectively. Reeves Smith has more than 20 years of experience working on the SQL Server stack. He is a Microsoft Data Platform MVP and Microsoft Certified Master, and regularly delivers technical presentations at international, regional, and local conferences and user groups.
LinkedIn: https://www.linkedin.com/in/tplas
Tim is a Principal Consultant at Virteva, in Mpls MN. His current focus areas are cloud architecture / engineering / migration, operational-DBA services (esp. HA/DR), server migrations, server virtualization, and storage. His experience over the past 25+ years has been primarily with server / data-center infrastructure, including being CTO / co-founder of a successful hosting company. Tim has held a variety of MS certifications since 1994.
LinkedIn: http://www.linkedin.com/pub/jeff-renz/29/82a/aa4
Contact: http://www.revgen.com
Jeff Renz is a Senior Architect at RevGen Partners, currently working as the design architect and implementation lead on several projects for a Fortune Top 50 company. Jeff has worked with SQL Server and BI for 15+ years and has 10 years’ experience with data warehouse design and implementation. In addition to consulting, he is joining the University of Denver adjunct faculty and is expected to begin teaching in the ICT program starting in June. He received his bachelor’s degree in Computer Science, his master’s degree in Operations Research from Colorado School of Mines, and will be graduating from the Harvard Business Analytics Program in December.
LinkedIn: http://www.linkedin.com/in/way0utwest
Contact: http://www.voiceofthedba.com/
Steve Jones is a Microsoft SQL Server MVP and has been working with SQL Server since version 4.2 on OS/2. After working as a DBA and developer for a variety of companies, Steve co-founded the community website SQLServerCentral.com in 2001. Since 2004, Steve has been the full-time editor of the site, ensuring it continues to be a great resource for SQL Server professionals. Over the last decade, Steve has written hundreds of articles about SQL Server for SQLServerCentral.com, SQL Server Standard magazine, SQL Server Magazine, and Database Journal.
LinkedIn: http://www.linkedin.com/in/sqlcenturion/
Contact: http://www.sqlcenturion.com
Matthew Brimer has 10 years experience with SQL Server, 3 of which was spent as a Database Security expert for a Department of Defense Agency and 5 as the Database/Security Manager for a leading Pharmacy Services Company. These days Matt can be found helping customers get the most out of the Databases/Servers/Networks as a Consultant for InterWorks. Matt also holds several Security and Microsoft Certifications, is the President of OKC SQL PASS Chapter and is the former Event Chair for SQLSaturday Oklahoma City.
LinkedIn: http://www.linkedin.com/in/billinkc
Contact: http://blog.billfellows.net
Bill Fellows is a SQL Server MVP and has been a database developer for most of his career, with the past 15 years focused on ETL. He is the organizer of Kansas City's eight SQLSaturdays and a speaker at many other SQLSaturdays, User Groups and the PASS Summit. Bill is the owner of Sterling Data Consulting where he gets to solve interesting data problems.
LinkedIn: http://www.linkedin.com/in/jasonhorner
Contact: http://blog.jasonhorner.com
Hi, my name is Jason I'm a practice lead at Redapt. I spend most of my day helping clients solve business problems mostly in the Data and Advanced Analytics spaces. Sometimes this involves various and sundry cloud technologies including Azure Data Factory, Azure SQL Data Warehouse, Azure Data Lake Store, Azure Databricks, HDInsight and Azure SQL Database. I'm fluent in several languages including: SQL, C#, Python, and PowerShell. I'm a Microsoft Certified Master of SQL Server (MCM) and have been recognized for my technical excellence and evangelism efforts by Microsoft by being awarded the Most Valuable Professional (MVP) for the last 5+ years. In my off hours I like to snowboard, karaoke, ride roller coasters, and play arcade games
LinkedIn: https://www.linkedin.com/in/joesack
Joe Sack is a Principal Program Manager in the SQL Server product team at Microsoft, with a focus on the Query Optimizer. Joe is an author and speaker with over 18 years of experience in the industry, specializing in performance tuning, high availability and disaster recovery.
LinkedIn: http://www.linkedin.com/in/davidaklee
Contact: http://davidklee.net
David Klee is a Microsoft Data Platform MVP and VMware vExpert with a lifelong passion for technology. David spends his days focusing on the convergence of data and infrastructure as the Founder of Heraflux Technologies. His areas of expertise include cloud, virtualization, performance, and business continuity. David speaks at a number of national and regional technology related events, including PASS Summit, VMware VMworld, SQLBits, SQLSaturday events, and many SQL Server User Groups.
LinkedIn: http://www.linkedin.com/in/thesqlguru
Kevin Boles is a SQL Server expert, working exclusively with the product since v6.5. With over 25 years of database experience and over 45,000 man hours of SQL Server engine experience, he holds many related certifications, is an MCT and was a SQL Server MVP from 2007 to 2012. Kevin has been a very successful independent consultant for over 20 years. His passion is the relational engine, especially designing, building, analyzing and tuning high-performance database applications.
LinkedIn: http://www.linkedin.com/pub/kathy-gibbs/a/6a8/680/
Kathy has over 19 years of IT work experience and over 13 years of DBA experience including architecting, design, development, implementation, monitoring, and disaster recovery of databases. Before starting with Confio, Kathy worked in the financial, retail, and telecom industries working with critical OLTP and OLAP databases. Kathy excels in being a liaison between technical and the end-users or management teams to provide solutions
LinkedIn: http://www.linkedin.com/pub/sudhir-gajre/30/732/5b5/
Contact: http://www.dbbest.com/blog/author/sudhir/
Sudhir has over 20 years of experience in the Data Management and the Analytics field. He spent the last 14 years at Microsoft where he was a Data Architect and later a Principal Technologist. He has authored SQL Server performance tuning whitepapers, designed VLDB and Highly Scalable SQL Server Architectures, and led technical teams. He is a frequent speaker at conferences and SQLSaturdays and is a recognized expert in the Data Management field. He is a Director with DB Best Technologies.
LinkedIn: https://www.linkedin.com/profile/public-profile-settings?trk=prof-edit-edit-public_profile
Contact: https://glennsqlperformance.com/
Glenn works as a Principal Consultant for Dr. DMV, LLC in Elizabeth, CO. He was a Data Platform MVP from 2007-2017, and he has a whole collection of Microsoft certifications, including MCITP, MCDBA, MCSE, MCSD, MCAD, and MCTS, which proves that he likes to take tests. His expertise includes DMVs, high availability, hardware selection, performance tuning, and Azure SQL Database. He is also an Adjunct Faculty member at University College - University of Denver, where has been teaching since 2000. He has completed the Master Teacher Program at Denver University - University College. He is heavily involved in the SQL Server community, and is a frequent speaker at user groups, SQLSaturdays, and the PASS Community Summit.
LinkedIn: http://www.linkedin.com/in/reevessmithiii/
Contact: http://reevessmith.wordpress.com
Reeves Smith, owner and principal architect of Macer Consulting, is passionate about applying data technologies that empower organizations. Reeves wields his knowledge and experience to lead, design, architect, and teach, working with both data center and business project teams. He approaches every project by first understanding the organization’s business challenges, and then developing a unique approach that targets those business needs accurately and effectively. Reeves Smith has more than 20 years of experience working on the SQL Server stack. He is a Microsoft Data Platform MVP and Microsoft Certified Master, and regularly delivers technical presentations at international, regional, and local conferences and user groups.
Leslie Weed is currently a Data and BI Architect with RevGen Partners in Denver, CO. She has been a SQL Professional specializing in Business Intelligence, data analytics, systems implementation, integration, and solutions delivery for the last 20ish years, including a variety of Enterprise Data Warehouses in various industries.
LinkedIn: https://www.linkedin.com/in/philbrammer
Contact: http://www.ssistalk.com
Phil Brammer, a sixth year Microsoft MVP in SQL Server and a Microsoft Certified Solutions Expert, has over 12 years’ data management experience in various technologies from reporting through ETL to database administration. He has worked with SSIS since 2007 and he continues to play an active role in the SSIS community via online resources as well as his technical blog site, SSISTalk.com. He has contributed to books, SQLSaturdays, SQL PASS Summits, and other online communities.
Database Administrator by day and Author by night Brandie Tarvin sails pirate-populated waters, fights evil robots in disguise and turns kingdoms into chaotic rebellious city-states all while coding ETL processes and protecting real-world data from corruption. If it weren't for her, someone else would have the job and where would be the fun in that? Brandie's first computer experience was with a State-of-the-Art Commodore 64 brought home by her father, who informed her that "computers are NOT toys" and would not let her use it until she learned how to program. In late 2003, she turned her hobbies of programming, MUSHing and assisting friends with generic tech support into a full time career as a database administrator. She's been stuck in the fabulous and bizarre world of professional IT work ever since. Currently, Brandie is a Database Administrator Developer for Allstate Dealer Services in Jacksonville. She has published several articles on SQLServerCentral.com, trains her co-workers in SQL Server, and has previously presented at several SQLSaturday events and JSSUG meetings. She also writes fiction and freelances for Catalyst Game Labs in her spare time.
LinkedIn: https://www.linkedin.com/profile/public-profile-settings?trk=prof-edit-edit-public_profile
Contact: https://glennsqlperformance.com/
Glenn works as a Principal Consultant for Dr. DMV, LLC in Elizabeth, CO. He was a Data Platform MVP from 2007-2017, and he has a whole collection of Microsoft certifications, including MCITP, MCDBA, MCSE, MCSD, MCAD, and MCTS, which proves that he likes to take tests. His expertise includes DMVs, high availability, hardware selection, performance tuning, and Azure SQL Database. He is also an Adjunct Faculty member at University College - University of Denver, where has been teaching since 2000. He has completed the Master Teacher Program at Denver University - University College. He is heavily involved in the SQL Server community, and is a frequent speaker at user groups, SQLSaturdays, and the PASS Community Summit.
I have been in IT for 16 years, over 12 as a DBA. I have worked on Oracle, Sybase and Sql Server 6.5 thru SQL 2012 in both administration and development roles. I am active in the local PASS user group.
LinkedIn: http://www.linkedin.com/in/dataonwheels
Contact: http://www.dataonwheels.com
Steve Hughes is the Director of Consulting at Pragmatic Works. In his current role, Steve manages the consultant team at Pragmatic Works and directs implementation of our cloud practices for customers. He focuses on team development and company growth with this role. In his previous role as a Principal Consultant Lead, he focused designing solutions for customers on Microsoft technologies including SQL Server, Power BI, and Azure. He has been working with technology for over 20 years with much of that time spent on creating business intelligence solutions and helping customers implement leading BI and cloud solutions. He is passionate about using data effectively and helping customers understand that data is valuable and profitable.
LinkedIn: http://www.linkedin.com/in/way0utwest
Contact: http://www.voiceofthedba.com/
Steve Jones is a Microsoft SQL Server MVP and has been working with SQL Server since version 4.2 on OS/2. After working as a DBA and developer for a variety of companies, Steve co-founded the community website SQLServerCentral.com in 2001. Since 2004, Steve has been the full-time editor of the site, ensuring it continues to be a great resource for SQL Server professionals. Over the last decade, Steve has written hundreds of articles about SQL Server for SQLServerCentral.com, SQL Server Standard magazine, SQL Server Magazine, and Database Journal.
Contact: http://jdhitsolutions.com/blog
Jeffery Hicks is a Microsoft MVP in Windows PowerShell, Microsoft Certified Trainer and an IT veteran with over 20 years of experience, much of it spent as an IT consultant specializing in Microsoft server technologies with an emphasis in automation and efficiency. He works today as an independent author, trainer and consultant. Jeff writes the popular Prof. PowerShell column for MPCMag.com and is a regular contributor to the Petri IT Knowledgebase and 4SysOps.
LinkedIn: http://www.linkedin.com/in/meaganlongoria/
Contact: http://datasavvy.me
Meagan Longoria is a business intelligence consultant with Denny Cherry Associates, and lives in Denver, Colorado. She is a Microsoft Data Platform MVP. Meagan spends a lot of time thinking about how to use data integration, DAX, and data visualization techniques to make data useful for people. She enjoys sharing her knowledge and experiences at conferences and user group meetings, as well as through her blog (DataSavvy.me).
Contact: http://www.dbaexperience.com
Scott Shaw is the co-author of two T-SQL books through Apress publishing. He is a frequent speaker at community events and most recently spoke at the 2013 SQL PASS Summit. He is co-chair of the SQL PASS Virtual Chapter on Virtualization and teaches classes at both Washington University CAIT program and Saint Louis University. Scott lives in Saint Louis with his wife and 2 children. He is a Principal Consultant for Oakwood Systems Group.
LinkedIn: https://www.linkedin.com/in/michaelfal/
Contact: http://mikefal.net
Mike is a specialist in data management technologies. As a community advocate, public speaker, and blogger, Mike is a practicing thought leader for data and automation. He is passionate about DevOps and data, building platforms to optimize, protect, and use data efficiently. Since 1999, Mike has been working in the database field, focusing primarily on SQL Server and specializes in automating data solutions to improve the reliability and efficiency of his environments. He has been caught playing trombone in public on more than one occasion.
LinkedIn: https://www.linkedin.com/e/fpf/252170891
Contact: https://mvp.support.microsoft.com/profile=02C5CD07-7511-4151-A678-3A4A3451F85E
Bill Pearson created Island Technologies Inc. in 1997, and has developed a large and diverse customer base since. Bill#39;s background as a CPA, Internal Auditor, Management Accountant, and SQL Server MVP (BI) enables him to provide value to clients as a liaison between Accounting / Finance and Information Services. Bill has implemented enterprise business intelligence systems over the years for many Fortune 500 companies and focuses his practice upon the integrated Microsoft Business Intelligence
Contact: http://jdhitsolutions.com/blog
Jeffery Hicks is a Microsoft MVP in Windows PowerShell, Microsoft Certified Trainer and an IT veteran with over 20 years of experience, much of it spent as an IT consultant specializing in Microsoft server technologies with an emphasis in automation and efficiency. He works today as an independent author, trainer and consultant. Jeff writes the popular Prof. PowerShell column for MPCMag.com and is a regular contributor to the Petri IT Knowledgebase and 4SysOps.
LinkedIn: http://www.linkedin.com/in/shawnmeyers42
Shawn Meyers is a Field CTO working at Tintri. Shawn has worked in IT for 25+ years and specifically with SQL Server for 20+ years, beginning with version 6.5. A frequent speaker at many events including PASS Summit, VMworld, VMUGs, Virtual Chapter sessions, and many SQLSaturday events. Current focus is on improving DBAs lives with better infrastructure.
The following is a list of sponsors that helped fund the event.
Blue Cross Blue Shield of Nebraska