One of the most powerful features of MyBatis has always been its Dynamic SQL capabilities. If you have any experience with JDBC or any similar framework, you understand how painful it is to conditionally concatenate strings of SQL together, making sure not to forget spaces or to omit a comma at the end of a list of columns. Dynamic SQL can be downright painful to deal with.
While working with Dynamic SQL will never be a party, MyBatis certainly improves the situation with a powerful Dynamic SQL language that can be used within any mapped SQL statement.
The Dynamic SQL elements should be familiar to anyone who has used JSTL or any similar XML based text processors. In previous versions of MyBatis, there were a lot of elements to know and understand. MyBatis 3 greatly improves upon this, and now there are less than half of those elements to work with. MyBatis employs powerful OGNL based expressions to eliminate most of the other elements:
The most common thing to do in dynamic SQL is conditionally include a part of a where clause. For example:
<select id="findActiveBlogWithTitleLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test="title != null"> AND title like #{title} </if> </select>
This statement would provide an optional text search type of functionality. If you passed in no title, then all active Blogs would be returned. But if you do pass in a title, it will look for a title like that (for the keen eyed, yes in this case your parameter value would need to include any masking or wildcard characters).
What if we wanted to optionally search by title and author? First, I’d change the name of the statement to make more sense. Then simply add another condition.
<select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test="title != null"> AND title like #{title} </if> <if test="author != null and author.name != null"> AND author_name like #{author.name} </if> </select>
Sometimes we don’t want all of the conditionals to apply, instead we want to choose only one case among many options. Similar to a switch statement in Java, MyBatis offers a choose element.
Let’s use the example above, but now let’s search only on title if one is provided, then only by author if one is provided. If neither is provided, let’s only return featured blogs (perhaps a strategically list selected by administrators, instead of returning a huge meaningless list of random blogs).
<select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <choose> <when test="title != null"> AND title like #{title} </when> <when test="author != null and author.name != null"> AND author_name like #{author.name} </when> <otherwise> AND featured = 1 </otherwise> </choose> </select>
The previous examples have been conveniently dancing around a notorious dynamic SQL challenge. Consider what would happen if we return to our "if" example, but this time we make "ACTIVE = 1" a dynamic condition as well.
<select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE <if test="state != null"> state = #{state} </if> <if test="title != null"> AND title like #{title} </if> <if test="author != null and author.name != null"> AND author_name like #{author.name} </if> </select>
What happens if none of the conditions are met? You would end up with SQL that looked like this:
SELECT * FROM BLOG WHERE
This would fail. What if only the second condition was met? You would end up with SQL that looked like this:
SELECT * FROM BLOG WHERE AND title like ‘someTitle’
This would also fail. This problem is not easily solved with conditionals, and if you’ve ever had to write it, then you likely never want to do so again.
MyBatis has a simple answer that will likely work in 90% of the cases. And in cases where it doesn’t, you can customize it so that it does. With one simple change, everything works fine:
<select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG <where> <if test="state != null"> state = #{state} </if> <if test="title != null"> AND title like #{title} </if> <if test="author != null and author.name != null"> AND author_name like #{author.name} </if> </where> </select>
The where element knows to only insert "WHERE" if there is any content returned by the containing tags. Furthermore, if that content begins with "AND" or "OR", it knows to strip it off.
If the where element does not behave exactly as you like, you can customize it by defining your own trim element. For example, the trim equivalent to the where element is:
<trim prefix="WHERE" prefixOverrides="AND |OR "> ... </trim>
The prefixOverrides attribute takes a pipe delimited list of text to override, where whitespace is relevant. The result is the removal of anything specified in the prefixOverrides attribute, and the insertion of anything in the prefix attribute.
There is a similar solution for dynamic update statements called set. The set element can be used to dynamically include columns to update, and leave out others. For example:
<update id="updateAuthorIfNecessary"> update Author <set> <if test="username != null">username=#{username},</if> <if test="password != null">password=#{password},</if> <if test="email != null">email=#{email},</if> <if test="bio != null">bio=#{bio}</if> </set> where id=#{id} </update>
Here, the set element will dynamically prepend the SET keyword, and also eliminate any extraneous commas that might trail the value assignments after the conditions are applied.
If you’re curious about what the equivalent trim element would look like, here it is:
<trim prefix="SET" suffixOverrides=","> ... </trim>
Notice that in this case we’re overriding a suffix, while we’re still appending a prefix.
Another common necessity for dynamic SQL is the need to iterate over a collection, often to build an IN condition. For example:
<select id="selectPostIn" resultType="domain.blog.Post"> SELECT * FROM POST P WHERE ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </select>
The foreach element is very powerful, and allows you to specify a collection, declare item and index variables that can be used inside the body of the element. It also allows you to specify opening and closing strings, and add a separator to place in between iterations. The element is smart in that it won’t accidentally append extra separators.
NOTE You can pass any Iterable object (for example List, Set, etc.), as well as any Map or Array object to foreach as collection parameter. When using an Iterable or Array, index will be the number of current iteration and value item will be the element retrieved in this iteration. When using a Map (or Collection of Map.Entry objects), index will be the key object and item will be the value object.
This wraps up the discussion regarding the XML configuration file and XML mapping files. The next section will discuss the Java API in detail, so that you can get the most out of the mappings that you’ve created.
The bind element lets you create a variable out of an OGNL expression and bind it to the context. For example:
<select id="selectBlogsLike" resultType="Blog"> <bind name="pattern" value="'%' + _parameter.getTitle() + '%'" /> SELECT * FROM BLOG WHERE title LIKE #{pattern} </select>
If a databaseIdProvider was configured a "_databaseId" variable is available for dynamic code, so you can build different statements depending on database vendor. Have a look at the following example:
<insert id="insert"> <selectKey keyProperty="id" resultType="int" order="BEFORE"> <if test="_databaseId == 'oracle'"> select seq_users.nextval from dual </if> <if test="_databaseId == 'db2'"> select nextval for seq_users from sysibm.sysdummy1" </if> </selectKey> insert into users values (#{id}, #{name}) </insert>
Starting from version 3.2 MyBatis supports pluggable scripting languages, so you can plug a language driver and use that language to write your dynamic SQL queries.
You can plug a language by implementing the following interface:
public interface LanguageDriver { ParameterHandler createParameterHandler(MappedStatement mappedStatement, Object parameterObject, BoundSql boundSql); SqlSource createSqlSource(Configuration configuration, XNode script, Class<?> parameterType); SqlSource createSqlSource(Configuration configuration, String script, Class<?> parameterType); }
Once you have your custom language driver you can set it to be the default by configuring it in the mybatis-config.xml file:
<typeAliases> <typeAlias type="org.sample.MyLanguageDriver" alias="myLanguage"/> </typeAliases> <settings> <setting name="defaultScriptingLanguage" value="myLanguage"/> </settings>
Instead of changing the default, you can specify the language for an specific statement by adding the lang attribute as follows:
<select id="selectBlog" lang="myLanguage"> SELECT * FROM BLOG </select>
Or, in the case you are using mappers, using the @Lang annotation:
public interface Mapper { @Lang(MyLanguageDriver.class) @Select("SELECT * FROM BLOG") List<Blog> selectBlog(); }
NOTE You can use Apache Velocity as your dynamic language. Have a look at the MyBatis-Velocity project for the details.
All the xml tags you have seen in the previous sections are provided by the default MyBatis language that is provided by the driver org.apache.ibatis.scripting.xmltags.XmlLanguageDriver which is aliased as xml.


1/18/2016
This week, we learned about classes in Ruby. Ruby is an object-oriented programming language, which means that the language is organized around the actual pieces of data. Examples of data are: the integer 5, the word hamburger, a 1969 Ford Mustang, anything! Each piece of data falls into a category, or type, of data called classes. Depending on what class the data is, certain actions can done to it. For example, 5 is a number and thus is part of the Integer class. Data that are part of the Integer class, meaning they have built in functions like addition, subtraction, division, and multiplication. The word hamburger, on the other hand, is a String. Hashes and Arrays are other examples of classes.
In today's post, we will use Ruby's functionality to create a custom class. Let's say we want to organize data about vehicles. All cars have specific information about them, such as model, make, and year assembled. Let's call the class "Vehicle":
class Vehicle
end
Let's say we want to create a new object (a piece of data) called my_car that is a vehicle. My car is a 2003 Honda CRV. The first thing we do is initialize the new object by creating an "initialize" method like so:
class Vehicle
def initialize(make,model,year)
@make = make
@model = model
@year = year
end
end
In this example, we take the three arguments and set them equal to 3 instance variables. Instance variables are different than local variables because they can be passed between methods. They are denoted by putting an "@" in front of the variable name. The method initialize is an example of an instance method. These methods can be called on data that has the class of Vehicle.
There are other types of methods called Class Methods. Class methods are methods that can be called on the class, not the object itself.


OUR STORY
And so, the adventure begins.

I choose you
And I'll choose you
over and over.
Without a pause,
without a doubt,
in a heartbeat.
I'll keep choosing you.
Ye wali line to tum bataoge tab yahan add hogi..

I'm here now, I'm here forever...


Hello.. I'm Burak.
I like a lot of things.
Here are some of them..
Motion Design
Music
Watching stuff


{#
Variables used:
userId: the current userId.
users: map of userId to user name.
screen: the screening record being edited, whether for citations or fulltext.
selectionCriteria: array of {label, description} objects from the review plan.
#}
{{ users[screen.user_id] }}
{% if userId == screen.user_id %}
restoreremove
repeatswitch
{% if screen.status == "excluded" %}
repeatedit
{% endif %}
Upon removing this screening, this citation will be returned to your screen list.
cancelok
Change your screening for this citation to include this citation?
cancelok


USER_LIBRARY_READ
Read access to a user's "Your Music" library.
Visible to users: Access your saved tracks and albums.


{% include section_intro.html %}
{% include section_education.html %}
{% include section_workexperience.html %}
{% include section_trainings.html %}
{% include section_skills.html %}
{% include section_additionalinfo.html %}
{% include section_github.html %}


Installation:
Copy all .jsp and .html files into the proj1 folder of Catalina.
Copy web.xml into proj1/WEB-INF.
Copy .jar files into proj1/WEB-INF/lib
Copy all .java files and the Makefile into proj1/WEB-INF/classes.
Run the makefile.
Installation complete.
Login Module:
To enter the index and gain access to appropriate files, go to .../login.jsp
Enter valid username and password to get access to the appropriate index.
"Update Personal Information" allows a user to edit their First Name, Last Name, Address, Email, Phone, and Password.
Simply fill in fields you wish to update and hit the correct Enter button, empty fields will not change current information.
User Management Module:
Accessible by class 'a' (Admins) accounts.
User Management allows for Adding/Updating of Users, Persons, and Doctors.
To add, all fields must be filled before Entering.
To update, fields to be updated must be filled in, empty fields will not be updated.
Report Generating Module:
Accessible by class 'a' (Admins) accounts.
Enter diagnosis and date to get the query.
Any empty fields will result in no results.
Uploading Module:
Accessible by radiologist accounts.
There are two seperate uploading pages, one for the record, and one for images.
To upload a record, fill in the correct fields.
record_id must be unique and filled in.
patient, doctor, and radiologist ids must be valid and filled in.
Other fields MAY be null.
To upload an image, go to the upload image page, input ID, and choose a picture to upload.
Record ID must be valid.
Search Module:
Input Keywords, and/or dates, AND an ordering style.
Search output will exclude all entries the user is not authorized to view. (Users only see entries related to themselves in some way unless you are an admin.)
Keywords should be seperated by spaces, and each individual keyword will be checked against First Name, Last Name, Description, and Diagnosis fields.
Table will be populated with records that match all above requirements.
Ranking is done by the following: Rank(record_id) = 6*frequency(patient_name) + 3*frequency(diagnosis) + frequency(description)


React-resizable is a simple component that you wrap your existing components inside. It gives those components resize handles.
View project on GitHub
View this page's source


2.3.3
Check if a modal was opened
(("an alertbox"
| "a confirmbox"
| "a prompt"
))
The type of modal that is expected
(boolean)
Check for opposite state
void
Check the text of a modal
"an alertbox"
| "a confirmbox"
| "a prompt"
), reverse: boolean, expectedText: string): void(("an alertbox"
| "a confirmbox"
| "a prompt"
))
The type of modal that is expected
(boolean)
Check for opposite state
(string)
The text to check against
void
Handle an alertbox/confirmbox/prompt
"accept"
| "dismiss"
), type: ("alertbox"
| "confirmbox"
| "prompt"
)): void(("accept"
| "dismiss"
))
Action to perform
(("alertbox"
| "confirmbox"
| "prompt"
))
Type of modal
void
Enter text into the current prompt
(string)
The text to enter into the prompt
void
Delete a cookie
(string)
The name of the cookie to delete
void
Check if a cookie with the given name exists
void
Check the content of a cookie against a given value
(string)
The name of the cookie
(boolean)
Check for opposite state
(string)
The value to check against
void
Set a given cookie to a given value. When the cookies does not exist it will be created
void
Define a typed step
(IDefineStepOptions)
The options to use (optional)
(StepDefinitionCode?)
The function to execute
void
Pause execution for a given number of milliseconds
(number)
Number of milliseconds to pause
void
Wait for the given element to be checked, enabled, selected, displayed, match/contain a text, match a value or to exist
(ElementQuery)
Element getter
(boolean)
Check for opposite state
(State?
= exist
)
State to check for
(string?)
The value to check for (in case of "match/contain the text/value")
void
Wait for the url or path to contain or match the specified value
"url"
| "path"
), reverse: boolean, state: State, expectedValue: string): void(("url"
| "path"
))
The type to check (url or path)
(boolean)
Check for opposite state
(State)
State to check for (contain or match)
(string)
The value to check for
void
When called, returns a WebdriverIO.Element.
Type: any
Get an element query for the specified text
(string)
The text to get the selectors by. Separate nesting child selectors by " -> ".
ElementQuery
:
An ElementQuery for a single element
When called, returns an array of WebdriverIO.Element.
Type: any
Get an elements query for the specified text
(string)
The text to get the selectors by. Separate nesting child selectors by " -> ".
ElementsQuery
:
An ElementsQuery for multiple elements
Add a value to the current element value
(string)
The value to add to the element
(ElementQuery)
The element query
void
Clear the value of a given input field
(ElementQuery)
The element query
void
Perform a click action on the given element
(Action)
The action to perform
(ElementQuery)
The element query
void
Drag an element to a given destination
(ElementQuery)
The element query for the source element
(ElementQuery)
The element query for the destination element
void
Check if the given element has the given class
(ElementQuery)
The element query
(boolean)
Check for opposite state
(string)
The class name to check
void
Check if the given element is (not) displayed
(ElementQuery)
The element query
(boolean)
Check for opposite state
void
Check if the given element is empty
(("element"
| "button"
))
Element type
(ElementQuery)
The element query
(boolean)
Check for opposite state
void
Check if the given element is enabled
(ElementQuery)
The element query
(boolean)
Check for opposite state
void
Check if the given element exists in the DOM one or more times
(ElementsQuery)
The elements query
(boolean)
Check for opposite state
(number?)
Check if the element exists exactly this number of times
void
Check if the given element has the focus
(ElementQuery)
The element query
(boolean)
Check for opposite state
void
Check the offset of the given element
"x"
| "y"
)): void(ElementQuery)
The element query
(boolean)
Check for opposite state
(number)
The position to check against
(("x"
| "y"
))
The axis to check on
void
Check the given property of the given element
(boolean)
Whether to check for a CSS property or an attribute
(string)
The name of the attribute to check
(ElementQuery)
The element query
(boolean)
Check for opposite state
(string)
The value to match against
void
when getting something with a color or font-weight WebdriverIO returns a object but we want to assert against a string
Compare the contents of two elements with each other
(ElementQuery)
The element query for the first element
(boolean)
Check for opposite state
(ElementQuery)
The element query for the second element
void
Check the selected state of the given element
(ElementQuery)
The element query
(boolean)
Check for opposite state
void
Check the dimensions of the given element
"width"
| "height"
), element: ElementQuery, reverse: boolean, expectedSize: number): void(("width"
| "height"
))
Dimension to check
(ElementQuery)
The element query
(boolean)
Check for opposite state
(number)
Expected size
void
Check if the given elements text is the same as the given text
"element"
| "button"
), element: ElementQuery, reverse: boolean, expectedText: string): void(("element"
| "button"
))
Element type
(ElementQuery)
The element query
(boolean)
Check for opposite state
(string)
The text to validate against
void
Check if the given elements contains text
"element"
| "button"
), element: ElementQuery, reverse: boolean, expectedText: string): void(("element"
| "button"
))
Element type
(ElementQuery)
The element query
(boolean)
Check for opposite state
(string)
The text to check against
void
Check if the given element is displayed inside the current viewport
(ElementQuery)
The element query
(boolean)
Check for opposite state
void
Move to the given element with an optional offset on an X and Y position
(ElementQuery)
The element query
(number)
X coordinate to move to
(number)
Y coordinate to move to
void
Perform a key press
(string)
The key to press
void
Scroll the page to the given element
(ElementQuery)
The element query
void
Select an option of a select element
(Type)
Type of method to select by
(string)
Value to select by
(ElementQuery)
The element query
void
Select an option from a select element by it's index
(number)
The index of the option
(ElementQuery)
The element query
void
Set the value of the given input field to a new value
(ElementQuery)
The element query
(string)
The value to set the element to
void
When an exception has been thrown, this will ensure its message will be changed.
(function (): void)
A callback that might throw an exception
(string)
The message that should be set on the error object.
void
Turn the first character of the supplied string to upper-case.
(string)
The text to change
string
Remove the first word of the supplied string (including whitespace).
(string)
The text to change
string
Get the last element of a list
(Array<T>)
The list to use
T
Get the current url or path (if type !== 'url')
(("url"
| "path"
))
The type
string
Get the text of an element
(any)
The element
any
:
The element text depending on the specified text method.
Get the text or value of an element or button
(("element"
| "button"
))
Element type
(WebdriverIO.Element)
The element
string
:
The element value if type is not 'button', but the tagname is input, select or textarea. Otherwise the element text.
Conversion function for input values from .feature files
Conversion function for input values from .feature files, with possibility to use optional.
Extends ParamType
Conversion function for input values from .feature files, with possibility to use optional.
Extends ParamTypeWithOptional
The parameter is expected to be a string. If it matches trueValue
, true is returned, otherwise false.
(string)
ParamTypeWithOptional
The parameter is expected to be a string. If it matches falseValue
, false is returned, otherwise true.
(string)
ParamTypeWithOptional
Conversion function for input values from .feature files, with possibility to use optional.
Extends ParamTypeWithOptional
The parameter is expected to be a string. pattern
must contain '{{VALUE}}', which will be replaced by the parameter.
(string)
ParamTypeWithOptional
Helper to add an 'optional' method to the function to make a parameter optional.
(ParamType)
The function to add the 'optional' attribute to.
ParamTypeWithOptional
Built-in ParamTypes. Use .optional() instead if it is optional.
The parameter is expected to be a string
. No conversion done.
The parameter is expected to be an integer
. parseInt()
is applied.
The parameter is expected to be a float
. parseFloat()
is applied.
The parameter is expected to be a boolean
value. !!
is applied.
The parameter is expected to be a selector key. getSelector()
is applied.
The parameter is expected to be a selector key. elementQuery()
is applied.
The parameter is expected to be a selector key. elementsQuery()
is applied.
Close all tabs but the first one.
void
Close the last opened window
void
Check if a new window or tab is opened
(boolean?)
Check for opposite state
void
Check if the given URL or path was opened in a new window
(("url"
| "path"
))
The type to check
(string)
The expected value to match against
void
Check the title of the current browser window
void
Check the title of the current browser window contains expected text/title
void
Check if the current URL or path matches the given value
(("url"
| "path"
))
The type to check
(boolean)
Check for opposite state
(string)
The expected value to match against
void
Check if the given string is in the URL path
(("url"
| "path"
))
The type to check
(boolean)
Check for opposite state
(string)
The string to check for
void
Focus the last opened window
void
Open the given URL
(("url"
| "path"
))
Type of navigation
(string)
The URL or path to navigate to
void
Resize the browser window
(number)
The width of the window to resize to
(number)
The height of the window to resize to
void


Scott Golbourne: Ethan has huge potential
by Lewis CoxScott Golbourne believes Shrewsbury Town defensive team-mate Ethan Ebanks-Landell is beginning to deliver on his sky-high potential.
Left-sided defender Golbourne, 31, first came across Ebanks-Landell at Wolves when the latter was just 20 after coming through the ranks at Molineux.
They played a handful of games together in the Kenny Jackett-led side that stormed to the League One title in 2013/14 – with Sam Ricketts also in the back four – and then went into the second tier.
Golbourne feels Ebanks-Landell, who is 27 next month, has all the attributes to thrive and thinks settling down at Shrewsbury has been key.
“The guy has got huge potential,” Golbourne said of Ebanks-Landell. “I saw him as a younger professional coming through at Wolves.
“He’s got all the tools for your modern-day centre-half, he can do all of it.
“He’s still got the ability to win headers, he’s a real physical threat in the air. But he’s very good on the ground with his feet.
“The guy can move as well, he’s started to get a very good understanding of the game.
“He’s becoming a more experienced defender, you can see that in the way he’s playing, he’s a lot more efficient in what he’s doing. He’s starting to really show his quality. He did it at Sheffield United when he had a good run of games and showed his quality.
“No doubt it will be the same for him this season.”
A spell out with a hamstring injury aside, Ebanks-Landell has caught the eye as a regular under Ricketts since arriving from Wolves in the summer.
He had mixed reviews from two previous loans at MK Dons and Rochdale.
“I think he needed the fresh start. He needed a permanent base. It’s always difficult on loan when it’s not your main football residence,” Golbourne said.
“It’s good he’s come somewhere and committed to something, he can really crack on because he has huge potential and he’s starting to fulfil that and people are seeing it regularly.”


Register
Please fill in this form to create a student.
Firstname:
Lastname:
Birth year:
Academy:
Grades:
Register
Firstname
Lastname
Birth year
Academy
Grades


As with most of the form components, the only @Input
required of the input component is a FormControl
.
The FormControl can be passed in via the [control]
attribute on the <go-input> component.
All form components include an @Input() label: string;
that can be used to add a label to the input components.
In addition to displaying an HTML label, the text passed
in via the [label]
attribute is used to generate a unique ID to associate the
label with the input. If no label is passed in, a generic,
but still unique ID will be generated.
As stated above the label attribute is used to generate a
unique ID to associate the label with the input. As this might
not be desired, the @Input() key: string;
can be used to configure the ID attribute of the input directly.
Anything passed into the component via the [key]
attribute will be used to both assign the ID to the input and
associate the label with the input.
Notice in the below example output that the key
has been assigned
to both the id
attribute on
the input and the for
attribute
on the label.
Form hints exist to help give more information about the
inputs they are attached to. The @Input() key: Array<string>
can be used to pass in an array of hints to the input component.
FormControls all have a consistent way of setting errors
via the setErrors()
function.
All goponents use this API to display errors on our components, but the
data needs to be displayed in a specific structure.
By default the input type is set to "Error", however this can be overridden as shown below.
FormControls can be either created as disable or later disabled and re-enabled directly after they are created.
The input component's placeholder attribute can be set via
@Input() placeholder: string;
and the [placeholder]
attribute.
The input type can be set via the
@Input() inputType: string;
and the [inputType]
attribute.
By default this is set to text, but it should be changed to implement
other basic text based input types.
In the example below we show how to use [inputType]
to build a password input.
The maxlength and minlength properties of the input can be set via
@Input() maxlength: number;
and the @Input() minlength: number;
bindings.
By default the maxlength
is set to
524288
and the
minlength
is set to 0
.
Please note that the minlength
property would come into
effect when the corresponding form containing the input component would be submitted.


{% extends "layout.html" %} {% block title %}Page not found{% endblock %} {% block head%} {% endblock %} {% block body %} 404 Sorry! Nothing found at this location: Perhaps you could find what you're looking for if you try one of the following links: Home Labels Sitemap Search my site for "": Go {% endblock %}
Perhaps you could find what you're looking for if you try one of the following links:


Home
Dashboard
My commissions
Back to Commission
Please write model of unique part which you demand
Engine
Transmission
Tires
Body
Lights
Equipment
Brakes
Write brand of unique part
Write model of unique part
Send ask for part


org.bukkit.material
Interfaces
Attachable
Colorable
Directional
Openable
PressureSensor
Redstone
Classes
Banner
Bed
Button
Cake
Cauldron
Chest
Coal
CocoaPlant
Command
Comparator
Crops
DetectorRail
Diode
DirectionalContainer
Dirt
Dispenser
Door
DoublePlant
Dye
EnderChest
ExtendedRails
FlowerPot
Furnace
FurnaceAndDispenser
Gate
Hopper
Ladder
Leaves
Lever
LongGrass
MaterialData
MonsterEggs
Mushroom
NetherWarts
Observer
PistonBaseMaterial
PistonExtensionMaterial
PoweredRail
PressurePlate
Prismarine
Pumpkin
Rails
RedstoneTorch
RedstoneWire
Sand
Sandstone
Sapling
Sign
SimpleAttachableMaterialData
Skull
SmoothBrick
SpawnEgg
Sponge
Stairs
Step
Stone
TexturedMaterial
Torch
TrapDoor
Tree
Tripwire
TripwireHook
Vine
Wood
WoodenStep
Wool
Enums
CocoaPlant.CocoaPlantSize


#include <SDL2/SDL.h>
Go to the source code of this file.
◆ COLS_NBR
◆ DEF_DEST_RECT
| const SDL_Rect DEF_DEST_RECT {0, 0, 800, 600} |
◆ DEF_SRC_RECT
| const SDL_Rect DEF_SRC_RECT {0, 0, 800, 600} |
◆ DIFF
◆ FPS
◆ FULLSCREEN
| const bool FULLSCREEN = false |
◆ MAX_BOMB_CNT
| const int MAX_BOMB_CNT = 4 |
◆ MAX_BOMB_SIZE
| const int MAX_BOMB_SIZE = 4 |
◆ MAX_SPEED
◆ ROWS_NBR
◆ TEXT_SRC_RECT
| const SDL_Rect TEXT_SRC_RECT {0, 0, 800, 800} |
◆ TILE_DIM
◆ WINDOW_HEIGHT
| const int WINDOW_HEIGHT = 600 |
◆ WINDOW_WIDTH
| const int WINDOW_WIDTH = 800 |


Server: http://www.cis.syr.edu/~wedu/seed/Labs/VPN/files/simpletun.c
Client: https://github.com/rsmudge/Layer2-Pivoting-Client
Build instructions at the bottom
The layer-2 pivoting client and server combination don’t have encryption, hence it’s not correct to refer to them as VPN pivoting. They’re close enough to VPN pivoting to benefit this discussion though.
The VPN Server
The TAP driver makes this possible. According to its documentation, the TUN/TAP provides packet reception and transmission for user space programs. The TAP driver allows us to create a (virtual) network interface that we may interact with from our VPN server software.
To read a frame from a TAP:
int totalread = read(tap_fd, buffer, maxlength);
To write a frame to a TAP:
write(tap_fd, buffer, length);
simpletun.c is an example of using a network TAP. It’s ~300 lines of code that demonstrates how to send and receive frames over a TCP connection. This GPL(!) example accompanies Brini’s wonderful Tun/Tap Interface Tutorial. I recommend that you read it.
When simpletun.c sends a frame, it prefixes the frame with an unsigned short in big endian order. This 2-byte number, N, is the length of the frame in bytes. The next N bytes are the frame itself. simpletun.c expects to receive frames the same way.
To build simpletun:
gcc simpletun.c -o simpletun
Note: simpletun.c allocates a small buffer to hold frame data. Change BUFSIZE on line 42 to a higher value, like 8192. If you don’t do this, simpletun.c will eventually crash. You don’t want that.
To start simpletun as a server:
./simpletun -i [interface] -s -p [port] -a
The VPN Client
Now that we understand the VPN server, let’s discuss the VPN pivoting client. Cobalt Strike’s VPN pivoting client sniffs traffic on the target’s network. When it sees frames, it relays them to the VPN pivoting server, which writes them to the TAP interface. This causes the server’s operating system to process the frames as if they were read off of the wire.
Let’s build a layer-2 pivoting client that implements similar logic. To do this, we will use the Windows Packet Capture API. WinPcap is the Windows implementation of LibPCAP and RiverBed Technology maintains it.
First, we need to open up the target network device that we will pivot onto. We also need to put this device into promiscuous mode.
Next, we need to connect to the layer-2 pivoting server and start a loop that reads frames and sends them to our server. I do this in raw.c. Here’s the code to ask WinPcap to call a function when a frame is read:
The packet_handler function is my callback to respond to each frame read by WinPCAP. It writes frames to our layer-2 pivoting server. I define this function in tunnel.c.
I define client_send_frame in client.c. This function writes the frame’s length and data to our layer-2 pivoting server connection. If you want to implement a new channel or add encryption to make this a true VPN client, client.c is the place to explore this.
We now know how to read frames and send them to the layer-2 pivoting server.
Next, we need logic to read frames from the server and inject these onto the target network. In tunnel.c, I create a thread that calls client_recv_frame in a loop. The client_recv_frame function reads a frame from our connection to the layer-2 server. The pcap_sendpacket function injects a frame onto the wire.
This logic is the guts of our layer-2 pivoting client. The project is ~315 lines of code and this includes headers. Half of this code is in client.c which is an abstraction of the Windows Socket API. I hope you find it navigable.
To run the layer-2 pivoting client:
client.exe [server ip] [server port] [local ip]
Once the layer-2 client connects to the layer-2 server, use a DHCP client to request an IP address on your attack server’s network interface [or configure an IP address with ifconfig].
To try this Layer-2 client, you will need to install WinPcap on your target system. You can download WinPcap from RiverBed Technology. And, that’s it. I hope you’ve enjoyed this deep dive into VPN pivoting and how it works.
The layer-2 client is a stripped down version of Cobalt Strike’s Covert VPN feature. Covert VPN compiles as a reflective DLL. This allows Cobalt Strike to inject it into memory. The Covert VPN client and server encrypt the VPN traffic [hence, VPN pivoting]. Covert VPN will also silently drop a minimal WinPcap install and clean it up for you. And, Covert VPN supports multiple data channels. It’ll tunnel frames over TCP, UDP, HTTP, or through Meterpreter.


&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;
Dear Dry ,
Ever wonder what compels someone to completely change sides? What “clicks” inside
to transform someone into a pro-life feminist? Watch our Facebook page [http://r20.rs6.net/tn.jsp?e=001t06gqoyUa6iKnN4Mykg8Ar9lTkrZT-UA5fAFv8BqjCxXKAjWaYHt2KbcN86ogqqm9l9pC54SM3K2eMMfc2PtG4tvADa7SKlTmGQojh9QE4ffnUhCuRYnGOtzM6sQbiUiYUqpSm3bc5E=]
for Feminists for Life to reveal 12 very different journeys by women who became
pro-life feminists. Look forward to reading them at 11:20 am ET weekdays and help
us welcome more people to our movement by sharing these very different and inspiring
stories with your family and friends!
What to take another step? Membership counts. Women and children-and student activists-are
counting on us to stand up for them!
Get and give our NEW membership packet!
When people join Feminists for Life [http://r20.rs6.net/tn.jsp?e=001t06gqoyUa6iFwzlTjHM_6zkjoEXJAEvqTtsaSW-5Q0_L4x-MsvvPVigWEZp9MpkpbzMoOPH9uD4RSt3JXUnwCfIZqYzCrIZ7sgX3LvgPMMSy4z3HGgqAgD4pJp_G4CbuOtdqzdrh5wEO7CRo77HlLw==]
they often say, “I’m home!”
Feminists for Life welcomes new members and gift members (including student members)
and welcomes back home those whose support has lapsed.
Our Welcome Home Kit includes three essential brochures:
* Voices of Feminist Foremothers: filled with powerful pro-life quotes from early
American feminists.
* You Have Better Choices: lists NINE nonviolent choices and the resources and support
available to pregnant women. Also outlines a father’s rights and responsibilities
and how college activists can transform their campus using our model “tools for
schools.”
* FFL’s newest brochure answers the basic question, “Is abortion a woman’s right?
A fundamental freedom? Or a reflection that we have not met the needs of women?”
* We explain our pro-life feminist philosophy, identify who is at highest risk of
abortion, our record of achievements, and what we are doing to move forward with
woman-centered solutions.
And for a limited time, new, returning, and gift members will receive two issues
of The American Feminist on the most controversial and important issues of the
day: “Hard Cases, Exceptional Choices” (about pregnancy and rape, incest, life of
the mother, life of the child) and “Metamorphosis” (which explains what motivated
conversions to our movement).
* “Metamorphosis,” a 36-page issue of The American Feminist, gives insight into
why people become pro-life feminists-after being one or neither.
I explain why “individual evolutions can start peaceful revolutions” and provide
practical tools to help welcome more people to our peaceful, holistic, solution-oriented
movement. I also reveal the stunning truth you need to know and share about attorney
Sarah “Weddington’s Betrayal of Women” when she argued in support of Roe v. Wade
before the Supreme Court.
Stories from a dozen women will inform you about what triggered their conversions-including
FFL’s own Vice President Sally Winn and FFL Editor Jewels Green, who was pressured
into an abortion as a teen and subsequently worked in an abortion clinic for years
before her “A-ha” moment.
* A dozen Remarkable Pro-Life Women® who faced life’s toughest challenges share
their firsthand accounts in “Hard Cases, Exceptional Choices.” In addition, I’ll
share answers to the most controversial and important questions of our day, including
“What about rape-including statutory rape, incest and rape-disability, and life
of the mother?” It includes a new, thought-provoking ad in English and Spanish about
children with special needs and another of a woman conceived in rape.
You can be proud to support our revolutionary work. So you, or your gift recipient,
will also receive a Feminists for Life bumper sticker for your car or dorm room!
(Regular memberships including gift memberships are just $25 and $15 for students,
including student gift memberships.)
Join (or rejoin) FFL NOW [http://r20.rs6.net/tn.jsp?e=001t06gqoyUa6iFwzlTjHM_6zkjoEXJAEvqTtsaSW-5Q0_L4x-MsvvPVigWEZp9MpkpbzMoOPH9uD4RSt3JXUnwCfIZqYzCrIZ7sgX3LvgPMMSy4z3HGgqAgD4pJp_G4CbuOtdqzdrh5wEO7CRo77HlLw==]
to be equipped with the information you need to change the culture toward support
for the most vulnerable women and children.
If your membership, donations, or monthly pledge is current, I thank you and ask
you to consider a gift membership, or passing this invitation on to someone you
think would be interested in our revolutionary work.
Remember, membership counts because women and children are counting on us!
Because women deserve better,
Serrin M. Foster
President
P.S. If you are not sure if your membership or support is current, please contact
<EMAIL_ADDRESS><EMAIL_ADDRESS>Sorry, anonymous gift memberships are not accepted. All donations including membership
contributions are tax-deductible to the extent allowed by law. Thank you!
&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;
&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;
STAY CONNECTED
Like us on Facebook [http://r20.rs6.net/tn.jsp?e=001t06gqoyUa6juaEhUlz9k9n0vvPYRjXahRitH_Fok0Fmj7-0FxNscouwDw2DQy2p9gNUnHKcg2R42M7uQh6WgO6oHEpN_ozha9Fu0TGrqhBOfx9Cdwazqiqzc_bguLOw0vs-AN-pn46s=]
Follow us on Twitter [http://r20.rs6.net/tn.jsp?e=001t06gqoyUa6jTyrm8ryyzofcEemX-a7PICi70Bw_BivPh2b4vLRhdtxZtqKxcTw1o5eorOcjANDOGKO6wk5bSjK03djQvP-IbR0H99XTndtRKfKm4axSe2wv_rfisXb0Kek-zqkD3Lbo=]
&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;
&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;
Forward this email
<EMAIL_ADDRESS>This email was sent to<EMAIL_ADDRESS>by<EMAIL_ADDRESS>Update Profile/Email Address
http://visitor.constantcontact.com/do?p=oo&mse=001cWKZW7QY-wryAV00X_pJfnp8QMByjjKcvitCHwiZ1A0%3D&t=001c1w87w3UEEEeoU6tH33FOg%3D%3D&llr=pm47yidab
Instant removal with SafeUnsubscribe™
http://visitor.constantcontact.com/do?p=un&mse=001cWKZW7QY-wryAV00X_pJfnp8QMByjjKcvitCHwiZ1A0%3D&t=001c1w87w3UEEEeoU6tH33FOg%3D%3D&llr=pm47yidab
Privacy Policy:
http://ui.constantcontact.com/roving/CCPrivacyPolicy.jsp
Online Marketing by
Constant Contact®
www.constantcontact.com
Feminists for Life | P.O. Box 320667 | Alexandria | VA | 22320


Specifies one or more timestamping authority servers to use during signing. Specifying this is strongly recommended, because it allows signed files to be usable even after the original signing certificate has expired.
If you specify more than one server, then a random one will be used.
Tip: here are some public timestamping authorities that you can use:


DARK CITY (NEW LINE CINEMA) RUNNING TIME: 1 HOUR 40 MINUTES. STARRING RUFUS SEWELL, KIEFER SUTHERLAND, JENNIFER CONNELY AND WILLIAM HURT. DIRECTED BY ALEX PROYAS
The director of The Crow (1994) returns with this happy epic, set in a world where the sun is always shining and everyone is cheerful. Only kidding. As you could guess by the title, Dark City is a dark, depressive, but somewhat entertaining picture. Set sometime in the future, the film begins when we see John Murdoch (Sewell) wake up with no memory. He can't remember his wife Emma (Connely) or the murders that he has been framed for.  With the help of Dr. Scheriber (Sutherland) he tries to work out what the hell is going on. Hot on his tail on this time is world weary cop Inspector Frank Bumstead (Hurt.)
Despite the dark setting, and the depressive mood the picture has, Dark City is entertaining. The first thing that makes the film fun is the cast. Director Alex Proyas has managed to assemble a pretty good cast for what is essentially a very silly sci-fi movie. Rufus Sewell does a good job looking confused, and also does the action scenes all right aswell. Sutherland appears to be having fun as the doctor, even if he is overacting just a little. His delivery of his lines really started to annoy me, though. (He pauses every two words.)  Connelly fine in her role, although it dosen't require much. Her singing voice, by the way, is Anita Kelsey, so don't expect any Connelly hits in the chart's any time soon. William Hurt is not bad, even though he dosen't really appear to be trying. Also popping up is Ian Richardson and Richard O'Brian as two of The Strangers.
Like The Crow, the film is directed like a music video with a large budget. Proyas uses fast cuts, quick zooms and a dance soundtrack to great effect, as they manage (along with the acting) to drown out the poor dialogue (written by Lem Dobbs, David S. Goyer and Proyas himself.) The fast paced directing helps the movie bound along. The dialogue just slows it down.
The best thing about Dark City, however, is the look of the film. The city is impressive, it's look the place The Crow (and Deckard from Bladerunner, 1982) would live. The special effects are also impressive, especially the ones in the overblown finale. Dark City is a definite case of style of content. If you get bored of the movie, just sit back and enjoy the great scenery, the great directing, and the soundtrack. This things alone probably make Dark City worth watching. It may not be the best film of the year, but Dark City is worth watching, and is ultimately just good fun.
OVERALL RATING= *** OUT OF ***** REVIEW BY DAVID WILCOCK
DAVID WILCOCK<EMAIL_ADDRESS>Visit the Wilcock Movie Page! http://wilcockmovie.home.ml.org -OR- http://www.geocities.com/Hollywood/9061 Recieve Wilcock Movie Page Reviews via E-MAIL Send a blank E-MAIL to<EMAIL_ADDRESS>to join the mailing list!
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


A black hole is a region of spacetime exhibiting such strong gravitational effects that nothing not even particles and electromagnetic radiation such as light can escape from inside it.The theory of general relativity predicts that a sufficiently compact mass can deform spacetime to form a black hole.The boundary of the region from which no escape is possible is called the event horizon. Although the event horizon has an enormous effect on the fate and circumstances of an object crossing it, no locally detectable features appear to be observed.In many ways a black hole acts like an ideal black body, as it reflects no light


Comparison charts
When you need to compare your plans or competitors
For some cases that you might also need
When you need to compare your plans or competitors
There are many variations of passages of Lorem Ipsum available, but the randomised words which don’t look even slightly believable. If you are anything embarrassing hidden in the middle of text.
There are many variations of passages of Lorem Ipsum available, but the randomised words which don’t look even slightly believable. If you are anything embarrassing hidden in the middle of text.
There are many variations of passages of Lorem Ipsum available, but the randomised words which don’t look even slightly believable. If you are anything embarrassing hidden in the middle of text.
There are many variations of passages of Lorem Ipsum available, but the randomised words which don’t look even slightly believable. If you are anything embarrassing hidden in the middle of text.


|
Read this newsletter from your browser
[the cutting edge]
G'day Developers!
Aussie Azure – Winning on Visual Studio Online in Australia – I feel the speed
7 months ago, in October 2014, Scott Guthrie announced the long-awaited availability of
Microsoft Azure cloud services in Australia. Currently there are two data centers,
Sydney and Melbourne. Today, 11th May 2015, sees Visual Studio Online (also known by my
clients as VS Online or VSO or TFS Azure) come to our Australian Azure data centers.
This is great news as VSO is the daily backbone for most Microsoft developers who have
embraced the cloud. I work at SSW and VSO is one of the most important apps we use on a
daily basis. I already find VSO fast and we use it happily every day for 70% of our
customer projects. That said we have a fast connection at SSW. If you have a slow
connection at your work, you probably feel all the little browser lags and will be happy
with Microsoft's decision to put VSO on Azure in Australia.
When Brian Harry (Mr TFS – Team Foundation Server) told me Aussies would get VSO in
Australia I knew it was great news, but I also wondered if everyone would benefit, or
just developers on a dodgy connection.
I decided to test the speed. The developers that will experience the least benefit will
be those on a blazing connection. The gold standard in Australia is the 100/40 Mbps NBN
connection. So I have done these tests with Igor from our Brisbane office (using an NBN
connection).
Long story short, expect at least 2-3 times faster. My findings gave me improvements
of 260%, 170% and 200% on key scenarios... and that's on an NBN connection. If your
connection is slower than 100 Mbps (most of Australia), then you will get even
greater results. I will be interested to know what results you get.
Keep
reading to find out more about the tests I performed to reach these findings
-Adam Cogan, SSW
Got a comment for Adam?
Comment on Adam Cogan's blog
Tweet @adamcogan
Email Adam Cogan
|
New SSW TV video!
SSW User Group Special: Agile Olympics Sydney 2015
The Agile Dutchman Jesse Houwing, a Scrum.org Trainer, ALM Ranger, and Agile/ALM
Consultant, leads the fun with Scrum, using interactive games such as
- Ball point game
- Chair game
- The interactive sail boat
- Scrum Simulation with Lego Bricks
Watch as these guys play ball, do some mystifying things with chairs, and build a Lego
city – all in the name of learning. Through these fun exercises, Jesse illustrates
concepts like Technical Debt, Inspection and Adaption, Retrospectives, and
Self-management and self-organization.
Whether you already use Scrum and want to brush up on your skills, or you want to know
more about Scrum and how it works, this friendly, interactive session is for everyone.
There's tonnes of fun, hands-on learning, and absolutely no boring bits, so check it
out!
|
DevSuperPowers In Person
AngularJS and Visual Studio Training
Our DevSuperPowers webinars have helped us to train up 300 developers a month on the
latest technologies on the Microsoft Platform. Now we're taking the show on the road
with DevSuperPowers in Person!
DevSuperPowers in Person is a 2 hour training session run for workplaces with a team of 5
or more .NET developers. These sessions, valued at $1250, will be run by SSW's Chief
Architect and Microsoft Regional Director Adam Cogan, and Software Architect Duncan
Hunter.
Choose from 2 sessions – AngularJS or What's new in Visual Studio 2015 and ALM
2015
-
AngularJS
Attendees will be introduced to AngularJS in the .NET environment. The trainer is an
experienced .NET and AngularJS developer who has been using these technologies to
build enterprise applications.
-
What's new in Visual Studio 2015 and ALM 2015
Visual Studio 2015 is going to be a huge change for both windows and non-windows
developers. Thanks to a new/refreshing/cool/awesome change of attitude, Microsoft is
embracing the winning tools in the development space and is building them into the
next version of Visual Studio.
Only 6 sessions available - book now to avoid disappointment!
Sydney session dates:
Visual Studio
2nd - 3rd June 2015
Sydney, NSW, Australia
|
AngularJS
2nd - 12th June 2015
Sydney, NSW, Australia
|
|
Webinar: Dev Superpowers - ASP.NET Identity using vNext
Implement ASP.NET vNext User Membership using OWIN and Dependency
injection
Cost: No Charge
Previous versions of ASP.NET Membership have left a bad taste in many developers mouths,
and some are now dangerously out of date.
Watch Ben Cull take you through the latest, greatest and safest way to get your
membership system up and running using ASP.NET Identity,
OWIN and Dependency Injection.
Air dates:
USA
27th May 2015
4.00 PM - 5.00 PM DST
|
Europe
28th May 2015
11:00 AM - 12:00 PM CEST
|
Australia
28th May 2015
11.00am - 12.00pm AEST
|
|
Become a Full Stack Web Developer in just 9 weeks with FireBootCamp!
Special Intensive Course
Redmond, Sydney, Melbourne, Brisbane, San Francisco
The FireBootCamp program is an intensive, full-time, 9-week program. Participants learn,
work and code together for 10-12 hours per day, 5 days
a week. Apart from exercise and food breaks, the guys in the program are hands on
learning all day every day.
The program focuses on real world skills including Agile software development practices,
enterprise architecture, application life cycle,
end-to-end testing and user interface design. The technology stack covers .NET MVC,
AngularJS, TypeScript, jQuery, Windows Azure and uses Microsoft Visual Studio 2013.
Scheduled Boot Camps:
Redmond, WA, USA
13th Jul - 11th Sep 2015
|
Sydney, NSW, Australia
Xamarin Mobile Apps Special
19th Oct - 20th Nov 2015
|
Sydney, NSW, Australia
30th Nov 2015 - 5th Feb 2016
|
|
Xamarin Hack Days around the world
Learn and love Xamarin
Xamarin is a product that allows you to use .NET/C# to create native apps that will run
across Android, iOS, and Windows.
While there is always a learning curve when using a new product, Xamarin Hack Days make
it easy for anyone who wants to learn
cross-platform development in a supportive and friendly environment.
There will be something for everyone - experienced Xamarin developers can share ideas
with other experienced developers, and
if you're a beginner then there's plenty to learn on the day. Best of all, it's totally
free.
Upcoming Xamarin Hack Days:
Melbourne, VIC, Australia
30th May 2015
|
Beijing, China
30th May 2015
|
Ljubljana, Slovenia
13th Jun 2015
|
Sydney, NSW, Australia
1st Aug 2015
|
|
Sydney .NET User Group
The best place to learn .NET for free in Sydney
|
|
Sydney .NET User Group
Wednesday 20th May 2015
6:30pm - 8:30pm
Microsoft Sydney
1 Epping Rd
North Ryde NSW 2113
|
Note: location and time have changed. User group is now being held
at 6.30pm at Microsoft Sydney - 1 Epping Road, North Ryde.
"What's new in Visual Studio 2015 and ALM 2015 - part 2" - Adam Cogan
Back with part 2 of his outstanding "What's new…" series, this session will take a deeper
dive into the ASP.NET and Azure side of things.
Visual Studio 2015 is going to be a huge change for both windows and non-windows
developers. Thanks to a new/refreshing/cool/awesome change of attitude, Microsoft is
embracing the winning tools in the development space and is building them into the next
version of Visual Studio.
The open sourcing of .NET Core 5 and ASP.NET 5 along with the release of the free Visual
Studio Community Edition and the upcoming release of Windows 10 for all devices makes
for some very exciting times ahead.
Come see Adam give you a tour and expand your development horizons. This session is
guaranteed to make you even more productive and highlight why Visual Studio is still the
best IDE for developing software.
What's new in VS 2015 and ALM 2015
- All the best features from .NET versions
- The cool stuff in Application Insights
- New tracing and debugging features in VS2015 – Code Lens, Intellitrace, PerfTips
- Middle Tier testing - Smart Unit Tests
- Roslyn – the new C# compiler
- New C# Language features
- The big game changer – Windows 10
- Shared Projects vs Portable Class Libraries (PCLs)
- Mobile Development Tools – Hybrid (Cordova), Native and Cross Platform (Xamarin)
- Visual Studio Community and open source .NET 5 Core
- ASP.NET 5 (was vNext) – New architecture and tools (AngularJS, Bower, Grunt, NPM)
- The power of K
- Azure Deployment Slots - Continuous Integration, Testing in Production
- Front end testing frameworks for JavaScript
About the presenter:
|
|
Adam Cogan is the Chief Architect at SSW, a Microsoft Certified Gold Partner
specializing in custom .NET, SharePoint and CRM solutions (with a splash of
Business Intelligence). At SSW, Adam has been developing custom solutions
for businesses across a range of industries such as Government, engineering,
banking, insurance and manufacturing since 1990 for clients such as
Microsoft, Worley Parsons and Aurecon.
|
To see more details and RSVP, please visit
our Facebook
.NET Group,
our LinkedIn .NET Group
or our Meetup Group.
|
Can't make it to the Sydney .NET User Group?
Watch the Live stream!
|
|
Tune in from anywhere!
Sydney .NET User Group Live
20th May 2015
6:30PM AEST (UTC+10)
The team at SSW TV are now streaming our User Group sessions live. Each
session will also be published on the SSW TV site after the event so you can
review what was said in the sessions.
|
|
Then join us at the NerdDinner
Where nerds meet and eat
SSW and Octopus Deploy invite you to join us for pizza after the session. It's a fun and
delicious opportunity for networking with peers and sharing thoughts after the Sydney
.NET User Group presentation.
Sydney .NET User Group and NerdDinner proudly sponsored by:
|
Canberra .NET User Group
The best place to learn .NET for free in Canberra
|
|
Canberra
.NET User Group
Monday 18th May 2015
6:00pm - 8:00pm
Microsoft Canberra Branch
Level 4, 6 National Circuit,
Barton, Australia
|
"What's new in Visual Studio 2015 and ALM 2015 - part 2" - Adam Cogan
Back with part 2 of his outstanding "What's new…" series, this session will take a deeper
dive into the ASP.NET and Azure side of things.
Visual Studio 2015 is going to be a huge change for both windows and non-windows
developers. Thanks to a new/refreshing/cool/awesome change of attitude, Microsoft is
embracing the winning tools in the development space and is building them into the next
version of Visual Studio.
The open sourcing of .NET Core 5 and ASP.NET 5 along with the release of the free Visual
Studio Community Edition and the upcoming release of Windows 10 for all devices makes
for some very exciting times ahead.
Come see Adam give you a tour and expand your development horizons. This session is
guaranteed to make you even more productive and highlight why Visual Studio is still the
best IDE for developing software.
What's new in VS 2015 and ALM 2015
- All the best features from .NET versions
- The cool stuff in Application Insights
- New tracing and debugging features in VS2015 – Code Lens, Intellitrace, PerfTips
- Middle Tier testing - Smart Unit Tests
- Roslyn – the new C# compiler
- New C# Language features
- The big game changer – Windows 10
- Shared Projects vs Portable Class Libraries (PCLs)
- Mobile Development Tools – Hybrid (Cordova), Native and Cross Platform (Xamarin)
- Visual Studio Community and open source .NET 5 Core
- ASP.NET 5 (was vNext) – New architecture and tools (AngularJS, Bower, Grunt, NPM)
- The power of K
- Azure Deployment Slots - Continuous Integration, Testing in Production
- Front end testing frameworks for JavaScript
About the presenter:
|
|
Adam Cogan is the Chief Architect at SSW, a Microsoft Certified Gold Partner
specializing in custom .NET, SharePoint and CRM solutions (with a splash of
Business Intelligence). At SSW, Adam has been developing custom solutions
for businesses across a range of industries such as Government, engineering,
banking, insurance and manufacturing since 1990 for clients such as
Microsoft, Worley Parsons and Aurecon.
|
To see more details and RSVP, please visit
our Facebook
.NET Group,
our LinkedIn .NET Group or
our Meetup Group.
Canberra .NET User Group proudly sponsored by:
|
Advertise with SSW
If you would like to advertise your product or service with SSW or would like to
find out more about various advertising opportunities, please email your enquiry
to<EMAIL_ADDRESS>or call: +61
2 9953 3000.
|
|
May 2015
|
Employment
Senior SharePoint + Web Developer
Brisbane Office
SSW is looking for an experienced and talented SharePoint developer who is passionate
about implementing awesome SharePoint solutions. This role requires great communication
skills and solid experience delivering production-ready SharePoint solutions.
Requirements:
- Australian Citizenship or Permanent Residency
- Commercial SharePoint 2007, 2010, and/or 2013 experience
- ASP.NET MVC using Razor and C#
- An IT degree or equivalent experience
- A keen interest in the development community including technological trends, news,
people and innovations
Chief Architect
SSW Beijing
The chief architect will be in charge of the company's daily operations, including
implementing sales plans, developing marketing plans, and leading project teams.
Requirements:
- Must be a strong, fluent communicator in both English and Mandarin
- A background in software engineering
- Enjoy working with a team who has strong technical skills in Microsoft
technologies
- A bachelor's degree in Computer Science, Software Engineering or Business Management
- Strong influencing impact - the applicant should be able to engage on an executive
level
- Must be living in or willing to relocate to Beijing, China
More SSW jobs
|
|


Skillshare | Course | Canva
YouTube
Blog | Articles | WordPress
NFTs | Blockchain | Art | OpenSea
NFTs | Blockchain | Photography | OpenSea
United Nations | Research | Writing
United Nations | Editing | Proofreading
Photography | People | Animals | Indoor | Outdoor
Ruby On Rails | PostgreSQL
React.js | PostgreSQL
HTML | CSS | JavaScript
React.js | MongoDB
Python | WordCloud | Matplotlib
Python | Pandas | Matplotlib | Jupyter Notebook
Python | Bokeh
Tableau
Python | Beautiful Soup | Jupyter Notebook


| Package | com.pblabs.rendering2D |
| Interface | public interface IScene2D |
| Implementors | DisplayObjectScene |
See also
| Property | Defined by | ||
|---|---|---|---|
| layerCount : int [read-only]
Layers are assigned positive integers between 0 and N.
| IScene2D | ||
| position : Point
The location of the view onto the scene.
| IScene2D | ||
| rotation : Number
Rotation in degrees about the center point of the scene.
| IScene2D | ||
| sceneAlignment : SceneAlignment
How the scene is aligned relative to its position property.
| IScene2D | ||
| sceneView : IUITarget
The SceneView where the contents of this scene will be displayed.
| IScene2D | ||
| sceneViewBounds : Rectangle [read-only]
The region of the scene we are currently viewing.
| IScene2D | ||
| trackLimitRectangle : Rectangle
If set, this clamps the camera to scroll no further than its boundaries
| IScene2D | ||
| zoom : Number
Zoom/scale factor; 1 = no zoom, less than 1 = zoom out, greater than 1 = zoom in.
| IScene2D |
| Method | Defined by | ||
|---|---|---|---|
|
add(dor:DisplayObjectRenderer):void
Add a DisplayObjectRenderer to the scene; all you normally have to
do is set scene on DisplayObjectRenderer, not call this directly.
| IScene2D | ||
|
getLayer(index:int, allocateIfAbsent:Boolean = false):DisplayObjectSceneLayer
Get the layer at specified index.
| IScene2D | ||
|
getRenderersUnderPoint(screenPosition:Point, results:Array, mask:ObjectType = null):Boolean
Return a sorted list of the DisplayObjectRenderers under a given
screen position.
| IScene2D | ||
|
invalidate(dirtyRenderer:DisplayObjectRenderer):void
Indicates that a renderer has changed, and must be redrawn.
| IScene2D | ||
|
invalidateRectangle(dirty:Rectangle):void
Just like invalidate, but indicates a specific region in scene
coordinates.
| IScene2D | ||
|
remove(dor:DisplayObjectRenderer):void
Remove a DisplayObjectRenderer from the scene; all you normally have
to do is clear scene on DisplayObjectRenderer, or destroy its owning
entity, not call this directly.
| IScene2D | ||
|
screenPan(deltaX:int, deltaY:int):void
Pan-the view by (deltaX, deltaY) screen pixels.
| IScene2D | ||
|
setWorldCenter(position:Point):void
Center the view on a position in world space.
| IScene2D | ||
|
sortSpatials(array:Array):void
| IScene2D | ||
|
transformSceneToScreen(inPos:Point):Point
| IScene2D | ||
|
transformSceneToWorld(inPos:Point):Point
| IScene2D | ||
|
transformScreenToScene(inPos:Point):Point
| IScene2D | ||
|
transformScreenToWorld(inPos:Point):Point
| IScene2D | ||
|
transformWorldToScene(inPos:Point):Point
| IScene2D | ||
|
transformWorldToScreen(inPos:Point):Point
| IScene2D |
| layerCount | property |
layerCount:int
[read-only]Layers are assigned positive integers between 0 and N. This tells you what N is. This can be the same as how many layers there are, but you might only be using layers 2,3, and 7, in which case layerCount will be 8, but there will only be three layers.
layerCount is mostly useful in order to iterate over all the layers by calling getLayer.
Implementation public function get layerCount():int
See also
| position | property |
position:Point
[read-write]The location of the view onto the scene. This is affected by sceneAlignment.
Implementation public function get position():Point
public function set position(value:Point):void
| rotation | property |
rotation:Number
[read-write]Rotation in degrees about the center point of the scene.
Implementation public function get rotation():Number
public function set rotation(value:Number):void
| sceneAlignment | property |
sceneAlignment:SceneAlignment
[read-write]How the scene is aligned relative to its position property.
Implementation public function get sceneAlignment():SceneAlignment
public function set sceneAlignment(value:SceneAlignment):void
See also
| sceneView | property |
sceneView:IUITarget
[read-write]The SceneView where the contents of this scene will be displayed.
Implementation public function get sceneView():IUITarget
public function set sceneView(value:IUITarget):void
| sceneViewBounds | property |
sceneViewBounds:Rectangle
[read-only]The region of the scene we are currently viewing.
Implementation public function get sceneViewBounds():Rectangle
| trackLimitRectangle | property |
trackLimitRectangle:Rectangle
[read-write]If set, this clamps the camera to scroll no further than its boundaries
Implementation public function get trackLimitRectangle():Rectangle
public function set trackLimitRectangle(value:Rectangle):void
| zoom | property |
zoom:Number
[read-write]Zoom/scale factor; 1 = no zoom, less than 1 = zoom out, greater than 1 = zoom in.
Implementation public function get zoom():Number
public function set zoom(value:Number):void
| add | () | method |
public function add(dor:DisplayObjectRenderer):void
Add a DisplayObjectRenderer to the scene; all you normally have to do is set scene on DisplayObjectRenderer, not call this directly.
Parametersdor:DisplayObjectRenderer |
| getLayer | () | method |
public function getLayer(index:int, allocateIfAbsent:Boolean = false):DisplayObjectSceneLayer
Get the layer at specified index.
Parametersindex:int — Index of layer to return.
|
|
allocateIfAbsent:Boolean (default = false ) — False by default. If true, will allocate a
new layer if none is present.
|
DisplayObjectSceneLayer —
The requested layer.
|
| getRenderersUnderPoint | () | method |
public function getRenderersUnderPoint(screenPosition:Point, results:Array, mask:ObjectType = null):Boolean
Return a sorted list of the DisplayObjectRenderers under a given screen position.
ParametersscreenPosition:Point — Location on screen we are curious about.
|
|
results:Array — An array into which DisplayObjectRenderers are added based on what is under point.
|
|
mask:ObjectType (default = null ) — Only renderers with one or more of these bits set on their objectMask will be returned. Null uses all types.
|
Boolean — Found something under point or not.
|
| invalidate | () | method |
public function invalidate(dirtyRenderer:DisplayObjectRenderer):void
Indicates that a renderer has changed, and must be redrawn. Only necessary if you are using layers that implement ICachingLayer (you don't by default).
ParametersdirtyRenderer:DisplayObjectRenderer — The renderer that has changed.
|
| invalidateRectangle | () | method |
public function invalidateRectangle(dirty:Rectangle):void
Just like invalidate, but indicates a specific region in scene coordinates. All layers will have that region redrawn.
Parametersdirty:Rectangle — The region to redraw.
|
| remove | () | method |
public function remove(dor:DisplayObjectRenderer):void
Remove a DisplayObjectRenderer from the scene; all you normally have to do is clear scene on DisplayObjectRenderer, or destroy its owning entity, not call this directly.
Parametersdor:DisplayObjectRenderer |
| screenPan | () | method |
public function screenPan(deltaX:int, deltaY:int):void
Pan-the view by (deltaX, deltaY) screen pixels. This takes into account zoom.
ParametersdeltaX:int |
|
deltaY:int |
| setWorldCenter | () | method |
public function setWorldCenter(position:Point):void
Center the view on a position in world space.
Parametersposition:Point |
| sortSpatials | () | method |
public function sortSpatials(array:Array):void
Parameters
array:Array |
| transformSceneToScreen | () | method |
public function transformSceneToScreen(inPos:Point):Point
Parameters
inPos:Point |
Point |
| transformSceneToWorld | () | method |
public function transformSceneToWorld(inPos:Point):Point
Parameters
inPos:Point |
Point |
| transformScreenToScene | () | method |
public function transformScreenToScene(inPos:Point):Point
Parameters
inPos:Point |
Point |
| transformScreenToWorld | () | method |
public function transformScreenToWorld(inPos:Point):Point
Parameters
inPos:Point |
Point |
| transformWorldToScene | () | method |
public function transformWorldToScene(inPos:Point):Point
Parameters
inPos:Point |
Point |
| transformWorldToScreen | () | method |
public function transformWorldToScreen(inPos:Point):Point
Parameters
inPos:Point |
Point |


Nap: Privacy Policy
Effective date: April 21st, 2021
Versions: 2.3 and later
Nap Application
João Pedro da Cunha e Silva Martins Costa (Leao) created and develops Nap (the Application).
This page lists the policies regarding collection, use, and disclosure of information of users of the Application.
Information gathering and usage
Regarding collection, use, and disclosure of information, the Application:
- Does not have Internet access;
- Does not require, collect, or track any identifiable or personal information;
- Does not have ads;
- Uses Google Play Services to process purchases, backup Sensitive Data, and collect Error Data. These services may collect information used to identify the user. Make sure to review Google Privacy Policy.
Sensitive Data
The Application stores data of your notifications and applications installed in your device. This data is called Sensitive Data.
Sensitive Data is stored locally on your device. The Application supports Android's Auto Backup feature. Auto Backup may automatically back up Sensitive Data, by uploading it to your Google Drive, where it is protected by your Google Account credentials.
Before the Application can read any notifications, you must grant it access in Android's Notification Access page. You can revoke this access at any given time. Android's Notification Access settings are also accessible through the Application's settings page.
Error Data
The Application collects data for handled and unhandled errors (crashes). This data is called Error Data.
Handled errors are stored in a simple file only accessible by the Application.
Unhandled errors are collected by Google Play Services automatically. Their data may include information such as your device’s Internet Protocol address, name, and operating system version. Furthermore, it may include information about the Application and its usage, such as configuration and time and date of the error, among other statistics.
Security
Sensitive Data is stored locally on your device's internal storage and is accessible only to your application. The Android system implements this protection, and it is sufficient for most applications.
Google Play Services transfer data via Internet standard protocols and employ multiple layers of network devices and intrusion detection to protect their external attack surface.
Links to other websites
The Application may contain links that direct to third-party websites. Third-party websites are not operated by Leao and you should always review their Privacy Policy. Leao has no responsibility for the content, privacy policies, or practices of any third-party websites or services.
Changes to this Privacy Policy
This Privacy Policy might change in the future. All changes will be posted on this page and are effective immediately after they are posted. If substantial changes are made, you may receive a notification in the Application. Otherwise, if you want to be up to date on the way your information is handled, you should review leao.io/nap/privacy periodically.
Contact Leao
If you have any questions or suggestions about this Privacy Policy, do not hesitate to contact Leao at info@leao.io.


Toggle navigation
Please choose category:
All
Basket
{{ category.title }}
Sort by
none
by price in ascending order
by price in descending mode
Shopping basket
{{productById(item.id).title}}
{{ productById(item.id).price }}


Events
- Mzamomtsha School regularly hosts events not only for pupils but for the community at large
- The main aim of these events is to engage the community as well as to showcase the talents of students in order to bring awareness to their potential
- Events that are regularly held by the school include chess tournaments,Mandela day programmes and of the year functions such as farewell
Tournaments
Mandela Day
farewell


FemmeHacks 2017
February 24-25th
An all-women
*
collegiate hackathon in Philadelphia
*we realize "women" is a complicated term. FemmeHacks welcomes trans and cis women, as well as nonbinary and gender non-conforming folks :). Equality for all, y'all.
FemmeHacks 2017
and we back
Schedule
Sponsors
Pics or it didn't happen
FAQ
About Us
Register
Code of Conduct
Resources
Made with
♥
by the FemmeHacks team
Archive: FemmeHacks 2016 Site


module Surface:sig
..end
An application has a single rendering surface that
is specified by a Useri.Surface.t
value given to Useri.App.init
.
See also surface mode information
in the `Jsoo
backend.
typemode =
[ `Fullscreen | `Windowed ]
val mode : mode React.signal
mode
is the application's surface mode. The value of this
signal is defined by the ~mode
argument of the surface given
to Useri.App.init
, the occurences of the event specified by
Useri.Surface.set_mode_setter
and external events.val set_mode_setter : mode React.event -> unit
set_mode_setter me
uses occurences of me
to set, if possible,
the current surface's application mode and the value of Useri.Surface.mode
.val mode_flip : 'a React.event -> mode React.event
mode_flip e
is an event which occur whenever e
does
with the opposite mode of Useri.Surface.mode
's value.val pp_mode : Format.formatter -> mode -> unit
pp_mode ppf m
prints an unspecified representation of m
on ppf
.
See also surface specification information
inf the `Jsoo
backend.
module Gl:sig
..end
typehandle =
Useri_base.Surface.handle
typekind =
[ `Gl of Gl.t | `Other ]
type
t
val create : ?hidpi:bool ->
?pos:Gg.p2 ->
?size:Gg.size2 ->
?kind:kind ->
?handle:handle ->
?mode:mode -> unit -> t
create hidpi pos size kind anchor mode ()
is a surface specification
with:
hidpi
, if true
(default) tries to get a high-dpi surface.pos
, a hint to position the surface by using pos
as
the position of the top-left corner of the surface in its
backend dependent display container. The coordinates of the
top-left corner of the display container is (0,0)
and
coordinate increase in from top to bottom and left to
right.size
, the size of the surface in logical pixels. Consult
the individual backend documentation for the default value.kind
is the kind of surface.handle
is a backend dependent surface handle. In certain
backends allows to interface Useri
with pre-existing surfaces.mode
is the the surface mode.
Note. Currently the size
and pos
arguments are
specified The actual raster size of the surface is in the
Useri.Surface.raster_size
signal. Note that future versions of this library
will switch to physical dimensions (lack of backend support is
the problem at the moment).
See also information about surface
properties updates in the `Jsoo
backend.
Warning. These values and functions are defined
only after Useri.App.init
was called.
val pos : Gg.p2 React.signal
pos
is the position of the top-left corner of the surface
in the surface's backend dependent display container.val raster_size : Gg.size2 React.signal
raster_size
is the application's surface underlying raster
size.val size : Gg.size2 React.signal
size
is the application's surface logical size.val update : unit -> unit
update ()
updates the rendering surface. This has
to be called for your drawing commands to be taken into
account.val handle : unit -> Useri_base.Surface.handle
handle ()
is the application's surface backend dependent handle.
These events are for coordinating rendering in an energy
efficient manner. See Input, animation and rendering coordination for more information.
val refresh : float React.event
refresh
occurs whenever the surface needs to be redrawn with
the number of seconds since its last occurence or, for the
first occurence, the number of seconds since the application
start.
The exact occurence frequency is unspecified but generally it
should not exceed the hinted frequency of Useri.Surface.refresh_hz
hertz.
More precisely the following occurences are guaranteed:
Useri.Surface.size
signal changes value (including
the first time during Useri.App.init
).Useri.Surface.set_refresher
.Useri.Surface.request_refresh
.Useri.Time.count
or Useri.Time.unit
signal is created or updates.Useri
guarantees that this event doesn't occur simultaneously
with any of the events or signal it exposes.val request_refresh : unit -> unit
request_refresh ()
has the effect of making Useri.Surface.refresh
occur some time after it was called. This function call
is cheap and can be abused (can be called in a React
step).
Warning. This function may be removed from the API in
the future.
val set_refresher : 'a React.event -> unit
set_refresher r
uses sets r
to be used to generate
an occurence of Useri.Surface.refresh
some time after each occurence of r
.val steady_refresh : until:'a React.event -> unit
steady_refresh until
makes Useri.Surface.refresh
occur at the hinted
frequency of Useri.Surface.refresh_hz
hertz until until
occurs.val refresh_hz : int React.signal
refresh_hz
is the maximal hinted frequency in hertz for Useri.Surface.refresh
occurences. The initial value is 60
.val set_refresh_hz : int -> unit


Plugin Information |
|---|
No information for the plugin 'ncover' is available. It may have been removed from distribution. |
Archive and publish .NET code coverage HTML reports from NCover.
It is recommended to use instead the more flexible and robust HTML Publisher plugin, which was generalized from this plugin after its creation.
Screenshots
The post-build action when configuring a project:
The coverage project/build action which sends you to the archived HTML report:
Configuring the NCover Plugin
The NCover plug-in requires Hudson 1.312 or greater. If you are using an older version of Hudson, use its automatic upgrade feature first by visiting the "Manage Hudson" link on your Hudson dashboard and click the "Upgrade Automatically" button near the top.
- Install the NCover plugin (via Manage Hudson -> Manage Plugins -> Available, check "NCover", and click the "Install" button at the bottom)
- Configure your project's build script to generate NCover HTML reports (see below for an example with Gallio)
- Enable the "Publisher NCover HTML report" publisher
- Specify the HTML report directory which is generated by NCover, relative to the project workspace.
- Optionally change the report name to be displayed. Multiple reports can be specified separated by commas.
Generating NCover HTML reports
For generic help on this topic, see http://docs.ncover.com/how-to/create-ncover-reports/
When using Gallio, you can simply use the NCover runner. You'll need to pass two arguments to Gallio.Echo.exe. Make sure to replace the variables in caps with the actual path you want:
- /runner:ncover3
- /runner-property:NCoverArguments="//html HTML_DIR_NAME //at TRENDS_FILE"
- The "//at TRENDS_FILE" is optional but will keep track of coverage over time and include graphs in your HTML report
An example command might look like:
C:\Program Files\Gallio\bin\Gallio.Echo.exe "C:\path\to\your.dll" /runner:ncover3 /runner-property:NCoverArguments="//html artifacts\coverage-html //at ncover3.trend"
Version History
Version 0.3 (Mar 3, 2010)
- Update code for more recent Hudson
Version 0.2.6 (Jul 28, 2009)
- Improve compatibility with older Java versions including 1.4
- Remove debug logging that was ending up in the build log
Version 0.2.5 (Jul 16, 2009)
- Allow for a report page to be named index.html instead of stomping over it
- Add "Back to Hudson" link
- Drop the filename extension from the tab names
Version 0.2.0 (UNRELEASED)
- Allow specifying multiple HTML files to be shown by separating with commas, and show in tabs
Version 0.1.0 (UNRELEASED)
- Initial release, allowing for archiving and displaying of NCover HTML coverage report directories.
Attachments:
hudson_ncover_2.png (image/png)
Screenshot.png (image/png)
NCover.hpi (application/octet-stream)
hudson_ncover_config.png (image/png)


| DOSE: |
0.2 gal |
oral |
Alcohol |
(liquid) |
Well, after a rather rousing show at a local club, I went back to a friend's home and utilized a Fifth of Whiskey to an unexpected end. Over the course of about an hour, I consumed the entire fifth straight and proceeded to become very drunk. What must be understood is that I was doing this drinking only for the sake of being drunk. I had not intented, nor had I ever heard of Alcohol (besides in the Uncharist) used spiritually.
Well...I, needless to say, felt very groggy very quickly. I sat down in an overstuffed armchair with my feet up and instead of passing out, as would be typical, I felt myself 'slip' into a quasi-trance state. With my eyelids fluttering, I was still perfectly aware of my body; sensations were normal (I could feel the cool evening breeze flowing through an open window). But quickly, I had the sensation of moving OUT of my body, away and upwards through the top of my head (an odd one of a kind feeling). I only then, after realizing I was in fact FEELING this that I began to actually SEE myself below. Keep in mind this was like a division of consciousness here; I could still feel my body and feel myself away from it.
At this point I made the choice to concentrate on myself aloof from my body. Well, quickly I was flying away from my body, away from the house...like I was being pulled away instead of directing myself away. Well, I was pulled out into the sky, away from the city, away from the state away from the country until I was actually in space flying away from Earth and the Moon. I went through a few asteroid fields as I cleared the solar system and continued outwards with increasing speed. Moving away from the expasiveness of the galaxy, I watched it solidify into the spiral that characterizes it.
On the same tolken, I was soon far enough away that It was like a mere star and every other galaxy about was the same; reduced to single points of light. These too then began to coalesce until I was looking back at the universe at the point of the Big Bang; looking at the waves of energy that themselves created and formed into what appeared to be gyrating atoms. These atoms TOO solidify into matter...and this matter, as I removed myself away from it further and further...I realized was a hair on my head! I then gasped and sat straight up in my chair...laughing uncontrollably. The entire experience took me less than a couple of minutes (by looking at the clock).
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


| DOSE: |
repeated |
oral |
2C-E |
(powder / crystals) |
| |
repeated |
smoked |
2C-E |
(powder / crystals) |
| |
repeated |
insufflated |
2C-E |
(powder / crystals) |
[Erowid Note: A volume amount of one powder doesn't necessarily weigh the same as the same volume of another powder. For substances active as such a small dose, eyeballing is particularly unwise. See related article]
At the point I purchased the 2c-e from the Internet I had done a few other drugs due to the limited supply in my small town. I had smoked weed and done DXM, both of which I had problems with. Paranoia with the pot and insomnia with the DXM. I had stumbled across prescription amphetamines not long before I bought the 2c-e, and like many people I have talked to, my first go with the amphetamines was subliminal. I felt as Rob Zombie would put it 'more human than human.' The speed made everything better. As such I stayed the hell away from it knowing the incredible potential for addiction.
I had always been fascinated with psychedelics, but the only one I was able to get a hold of before the 2c-e was morning glory seeds. They were interesting but nothing visual.
I went into the 2C-E with little respect for the power of the chemical. As far as I could tell it was the closest thing I could get to a 'real psychedelic.'
The first time I tried the 2c-e I did it orally, but the only thing I noticed was were some tracers and the fact, which I was a bit antsy. So much so that the person I was with noticed it even though she didn't know me very well.
For god knows what reason, for the sake of simplicity we will call it carelessness I decided to insufflate it along with two friends.
I have had six friends try it and what we all agree on about snorting 2C-E is that the peak is intense fast and unpleasant. The 2C-E would come take affect and we would lose touch with reality for 15-30 minutes. The visuals and nausea were so intense that we would usually spend it over the toilet trying to figure out what was going on.
I believe this was because we were eyeballing lines of the stuff I would imagine our doses were too high and the part of the trip we were enjoying was the come down.
I later began using 2c-e in a binge manner at the same doses and this peak was the only part I noticed, after that it just felt as if the drug was done with its course.
After the peak the drug would mellow out. For me this meant a sort of bending of everything visually that made everything look like it was being viewed while underwater. Colors would shift around as I looked at them and art was phenomenal to look at. On the first fun insufflated me and my other two friends just walked around the town having amazing conversations. The drug seems to increase one's insight.
For me the method through which I gain insight on the drug is a sort of detachment from my emotions. When I get high on it makes me not feel my emotions but note them and analyze them.
Another affect of the drug was a sort of stimulation during the peak, the drug made me feel a little better about everything, and a little more energetic.
This stimulation combined with my ex-girlfriend leaving me caused me to start using the 2C-E everyday in a binge fashion.
I started by doing a line before school, then I became curious as to whether one could smoke it.
The first thing I realized about smoking 2C-E was that it increased the nausea significantly. While the smoke didn't bug me, I would always notice an extremely strong nausea as soon as I was through smoking it.
I began doing this every day then doing lines between my high school classes. Thatís a line every 50 minutes, and by about 30 minutes I would notice the drug starting to wear off.
While in normal use of this drug the main feature is its enhancement of everyday things like art and conversation, under binge use I was using it as a stimulant/anti-depressant. When I got high on it, it was like being ok emotionally. It would temporarily lift my depression through the detachment from my emotions, and give me the energy to function through its stimulant property.
The drug also made me unbelievably tired when I came down so that I was either high or sleeping due to the down.
I eventually had the sense to beg a friend from out of town to take the drug from me, she enjoyed it very much for the reasons I enjoyed it at first, without ever going through what I did.
I didn't notice any withdrawals besides sleeping too much for a day or two after it was gone.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


{% extends 'template.html' %} {% block title %}Responsibility {{ responsibility }} Discussion - {% block title_responsibility_discussion_phase %} Reconsider {% endblock %} - Site {{ site['_id'] }} journal {{ journal['index'] }} {% endblock %} {% block leftbar %}
{{evidence_user}} provided the following evidence in support of this journal containing the '{{responsibility}}' responsibility:
{{highlighted_text_evidence}}
Additional explanation:
{{additional_discussion_evidence}}


--- title: Workflow Automation ---
Many people place these tools in the primary theme folder of their site. However, it is often more useful to put them in the root of your repo, so that both custom modules and themes can share the same workflow, coding standards, and so forth.
Sometimes installing a few modules won't cut it, and you'll need to rely on additional tools to improve your theme's output. A theme is often the source of many images, scripts, and other things that slow the frontend down.
Using a consistent process to make sure all of your assets are always lean is a good way to control the page weight of a site.
With these tools you will be able to capture repetitive tasks and run them automatically whenever you need them. It might be as frequent as a file save, or only once per deploy. But either way, having an automated workflow is less error-prone and more reliable than manually remembering and executing the tasks.
Here is a list of tools we frequently use in our frontend workflow:


REPORT_EVENT\&.CONF
Section: LIBREPORT MANUAL (5)Updated: 06/28/2012
Index Return to Main Contents
NAME
report_event.conf - configuration file for libreport.DESCRIPTION
This configuration file specifies which programs should be run when the specified event occurs in problem directory lifetime.
It consists of directives and rules.
Directives start with a reserved word. Currently, there is only one directive, "include".
include FILE
- This directive causes files which match FILE to be read and parsed as if they are inserted textually where this directive occurs. FILE can use shell pattern metacharacters (*,?,etc) to specify multiple files. Relative paths are interpreted relative to current file.
Rule starts with a line with non-space leading character. All subsequent lines which start with space or tab form one rule. Note that separating newline is retained.
Rules may be commented out with #. One # is sufficient to comment out even a multi-line rule (no need to comment out every line).
Rules specify which programs to run on the problem directory. Each rule may have conditions to be checked before the program is run.
Conditions have form VAR=VAL or VAL~=REGEX, where VAR is either word "EVENT" or a name of problem directory element to be checked (for example, "executable", "package", hostname" etc).
If all conditions match, the remaining part of the rule (the "program" part) is run in the shell. All shell language constructs are valid. All stdout and stderr output is captured and passed to ABRT and possibly to ABRTcqs frontends and shown to the user.
If the program terminates with nonzero exit code, the event processing is considered unsuccessful and is stopped. Last captured output line, if any, is considered to be the error message indicating the reason of the failure, and may be used by abrt as such.
If the program terminates successfully, next rule is read and processed. This process is repeated until the end of this file.
EXAMPLES
EVENT=post-create analyzer=Python abrt-action-analyze-python
EVENT=post-create getent passwd "cat uid" | cut -d: -f1 >username
SEE ALSO
abrtd(8)
AUTHOR
Manual page written by Denys Vlasenko<EMAIL_ADDRESS>NOTES
- 1.
-
<EMAIL_ADDRESS>-<EMAIL_ADDRESS>Index
This document was created by man2html, using the manual pages.
Time: 05:34:00 GMT, December 24, 2015


Batch billing was designed to achieve rapid invoicing for multiple matters while giving users the ability to adjust in bulk. We observed that the service isn't meeting the goal to allow the user to adjust their bills adequately and is not accessible to new users, which is causing many support cases and product feedback requests to improve the feature.
How might we improve batch billing so that our customers are more successful? We will know we succeeded when we see increased usage of the feature and reduced call volume to the customer service team.
Users are not saving time by batch billing. The feature is lacking assumed functionality and because of the poor UI, they need constant guidance from our customer success team. New customers find the feature underwhelming and non-intuitive. The goal was to redesign batch billing to allow for expanded functionality and improve accessibility for both new and current users.
I worked closely with the front facing to understand the customer’s workflow and mindset to create a framework for the feature. I collected data from usability and discovery calls until I discovered patterns and stopped finding differing input. Working with the team, I created wireframes in Sketch and high-fidelity prototypes using InVision to test with customers.
I presented to the entire team once completed and was able to get valuable feedback about how to break such a disruptive redesign into smaller iterations that allow it to fit comfortably with the teams sprint cycle and the user’s workflow. Since there is no availability to assign this project to one team it will be used to satisfy “quick wins” over many sprint cycles. Applying credit to batched invoices was recently launched and has been a hit.
The batch billing feature provides a way to rapidly invoice many matters at a time. From the constant support cases and negative feedback, the current design falls short in allowing our users to batch bill and make adjustments with confidence, especially with new users. The goal is to improve batch billing so that our customers are more successful based on increased usage of the feature and reduced call volume to the customer service team.
We believe that creating an efficient billing system within Mycase’s product experience for users will achieve a higher rate of invoice creation and a reduction in call volume to CS. We will know this is true when we see an increase in product satisfaction, batch invoice creation, and a decrease in reported calls on the topic from CS.
I utilized multiple research projects on while in discovery and in parallel to the development of the feature. I employed usability tests with internal stakeholders, gathered competitive intelligence on how current competitors handled batch billing and prototyping sessions with pseudo-users. All while gathering intel and asking current users on their expectations and needs throughout. Researching the payment experience was a massive undertaking. We accumulated data from 128 connected calls with current payment users. I Conducted expert interviews with CS reps and other members of user-facing teams including payments, sales, and training/onboarding.
In order to quickly digest large sums of data I employed a checkbox into my spreadsheets that had a legend that expanded on each check box that a user conversation fell into. All detailed call notes were also recorded.
Data was tallied and broken down by practice area for more insights into the needs by more narrow user groupings. These results were then shown graphically to the team. From this data, I was able to see that our users were not using for a few reasons and that many of these reasons were rooted in their practice area.
Since this was a big overhaul both in look and functionality I got to imagine the possibility of what it could be. I began by understanding the user journey through research with customers. Using the Payment personas developed I was able to see what user type was hurting most from the current iteration and where they needed change to eliminate that pain. After I had mapped out what the current state was and what the future version could be I began wireframing ideas.
After I had an idea I tested it with customer experience representatives and other internal team members to test the usability of my idea and see what feedback I could generate. After I began to see trends in the feedback provided I felt confident in moving forward iterating further and sketch out several more mid-fidelity wireframes that illustrated more accurately the functionality the users needed. From there I began working with a product team to review and have them begin testing with me and talk about the feasibility of developing with their current product roadmap.
The Lean UX methodology helped heavily in how I tackled this project. Going in with a mindset willing to experiment helped in rapidly outputting mocks of ideas. Using the scientific method to help isolate specific user needs and make hypotheses to develop solutions for them. As we continue to build new features and expand on current ones I will remain lean and agile.
My first iteration was low-fidelity to test the functionality. My goal was to have testers not get caught on the design and focus on if they could intuitively complete the task at hand. I was building out the idea of a wizard to really make batch billing accessible to new users. Using modals allowed for the expansion of features and filters that users could apply, boosting the value of the overall service that was needed. Specifically the ability to apply credits and filter out what type of expenses to automatically populate on the invoices. This iteration, however, was not a fit for power users as it added too many steps if they had no need to apply additional filters and adjustments. Once I had hammered out the functionality and cut out many steps that should be unnecessary, I began mocking in higher fidelity using our style guide.
Overall this project was a success. One lesson I learned on this project was the importance of regular team syncs to ground me when I would show them Ideas that were not feasible to build. The value of iteration helped me run with better solutions and find the best aspects of failed iterations to get the best version without wasting resources. By the time this project was completed I had created a pile of sketches and wireframes. Moving forward I will rely more on internal feedback from the team to help keep my ideas grounded and feasible with our sprint cycles.


FlashAPI23(cameraManager: CameraManager, cameraId: String = "0")
Creates a camera flash manager.
cameraManager
- CameraManager instance from the System service.
cameraId
- (optional)the number of the camera that has flash. "0" is default.
Constructor
Creates a camera flash manager.