| Class | Selenium::SeleniumDriver |
| In: |
driver.rb
|
| Parent: | Object |
# File driver.rb, line 127 def initialize(server_host, server_port, browserStartCommand, browserURL, timeout=30000) @server_host = server_host @server_port = server_port @browserStartCommand = browserStartCommand @browserURL = browserURL @timeout = timeout end
Defines a new function for Selenium to locate elements on the page. For example, if you define the strategy "foo", and someone runs click("foo=blah"), we‘ll run your function, passing you the string "blah", and click on the element that your function returns, or throw an "Element not found" error if your function returns null.
We‘ll pass three arguments to your function:
The function must return null if the element can‘t be found.
‘strategyName’ is the name of the strategy to define; this should use only letters [a-zA-Z] with no spaces or other punctuation. ‘functionDefinition’ is a string defining the body of a function in JavaScript. For example: return inDocument.getElementById(locator);
# File driver.rb, line 1515 def add_location_strategy(strategyName,functionDefinition) do_command("addLocationStrategy", [strategyName,functionDefinition,]) end
Add a selection to the set of selected options in a multi-select element using an option locator.
@see doSelect for details of option locators
‘locator’ is an element locator identifying a multi-select box ‘optionLocator’ is an option locator (a label by default)
# File driver.rb, line 587 def add_selection(locator,optionLocator) do_command("addSelection", [locator,optionLocator,]) end
Specifies whether Selenium should use the native in-browser implementation of XPath (if any native version is available); if you pass "false" to this function, we will always use our pure-JavaScript xpath library. Using the pure-JS xpath library can improve the consistency of xpath element locators between different browser vendors, but the pure-JS version is much slower than the native implementations.
‘allow’ is boolean, true means we‘ll prefer to use native XPath; false means we‘ll only use JS XPath
# File driver.rb, line 1348 def allow_native_xpath(allow) do_command("allowNativeXpath", [allow,]) end
Temporarily sets the "id" attribute of the specified element, so you can locate it in the future using its ID rather than a slow/complicated XPath. This ID will disappear once the page is reloaded.
‘locator’ is an element locator pointing to an element ‘identifier’ is a string to be used as the ID of the specified element
# File driver.rb, line 1335 def assign_id(locator,identifier) do_command("assignId", [locator,identifier,]) end
Sets a file input (upload) field to the file listed in fileLocator
‘fieldLocator’ is an element locator ‘fileLocator’ is a URL pointing to the specified file. Before the file can be set in the input field (fieldLocator), Selenium RC may need to transfer the file to the local machine before attaching the file in a web page form. This is common in selenium grid configurations where the RC server driving the browser is not the same machine that started the test. Supported Browsers: Firefox ("*chrome") only.
# File driver.rb, line 1533 def attach_file(fieldLocator,fileLocator) do_command("attachFile", [fieldLocator,fileLocator,]) end
Captures a PNG screenshot to the specified file.
‘filename’ is the absolute path to the file to be written, e.g. "c:\blah\screenshot.png"
# File driver.rb, line 1541 def capture_screenshot(filename) do_command("captureScreenshot", [filename,]) end
Check a toggle-button (checkbox/radio)
‘locator’ is an element locator
# File driver.rb, line 525 def check(locator) do_command("check", [locator,]) end
By default, Selenium‘s overridden window.confirm() function will return true, as if the user had manually clicked OK; after running this command, the next call to confirm() will return false, as if the user had clicked Cancel. Selenium will then resume using the default behavior for future confirmations, automatically returning true (OK) unless/until you explicitly call this command for each confirmation.
# File driver.rb, line 749 def choose_cancel_on_next_confirmation() do_command("chooseCancelOnNextConfirmation", []) end
Undo the effect of calling chooseCancelOnNextConfirmation. Note that Selenium‘s overridden window.confirm() function will normally automatically return true, as if the user had manually clicked OK, so you shouldn‘t need to use this command unless for some reason you need to change your mind prior to the next confirmation. After any confirmation, Selenium will resume using the default behavior for future confirmations, automatically returning true (OK) unless/until you explicitly call chooseCancelOnNextConfirmation for each confirmation.
# File driver.rb, line 763 def choose_ok_on_next_confirmation() do_command("chooseOkOnNextConfirmation", []) end
Clicks on a link, button, checkbox or radio button. If the click action causes a new page to load (like a link usually does), call waitForPageToLoad.
‘locator’ is an element locator ‘coordString’ is specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
# File driver.rb, line 272 def click_at(locator,coordString) do_command("clickAt", [locator,coordString,]) end
Simulates opening the context menu for the specified element (as might happen if the user "right-clicked" on the element).
‘locator’ is an element locator
# File driver.rb, line 261 def context_menu(locator) do_command("contextMenu", [locator,]) end
Simulates opening the context menu for the specified element (as might happen if the user "right-clicked" on the element).
‘locator’ is an element locator ‘coordString’ is specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
# File driver.rb, line 292 def context_menu_at(locator,coordString) do_command("contextMenuAt", [locator,coordString,]) end
Release the control key.
# File driver.rb, line 375 def control_key_up() do_command("controlKeyUp", []) end
Create a new cookie whose path and domain are same with those of current page under test, unless you specified a path for this cookie explicitly.
‘nameValuePair’ is name and value of the cookie in a format "name=value" ‘optionsString’ is options for the cookie. Currently supported options include ‘path’, ‘max_age’ and ‘domain’. the optionsString‘s format is "path=/path/, max_age=60, domain=.foo.com". The order of options are irrelevant, the unit of the value of ‘max_age’ is second. Note that specifying a domain that isn‘t a subset of the current domain will usually fail.
# File driver.rb, line 1441 def create_cookie(nameValuePair,optionsString) do_command("createCookie", [nameValuePair,optionsString,]) end
Calls deleteCookie with recurse=true on all cookies visible to the current page. As noted on the documentation for deleteCookie, recurse=true can be much slower than simply deleting the cookies using a known domain/path.
# File driver.rb, line 1468 def delete_all_visible_cookies() do_command("deleteAllVisibleCookies", []) end
Delete a named cookie with specified path and domain. Be careful; to delete a cookie, you need to delete it using the exact same path and domain that were used to create the cookie. If the path is wrong, or the domain is wrong, the cookie simply won‘t be deleted. Also note that specifying a domain that isn‘t a subset of the current domain will usually fail.
Since there‘s no way to discover at runtime the original path and domain of a given cookie, we‘ve added an option called ‘recurse’ to try all sub-domains of the current domain with all paths that are a subset of the current path. Beware; this option can be slow. In big-O notation, it operates in O(n*m) time, where n is the number of dots in the domain name and m is the number of slashes in the path.
‘name’ is the name of the cookie to be deleted ‘optionsString’ is options for the cookie. Currently supported options include ‘path’, ‘domain’ and ‘recurse.’ The optionsString‘s format is "path=/path/, domain=.foo.com, recurse=true". The order of options are irrelevant. Note that specifying a domain that isn‘t a subset of the current domain will usually fail.
# File driver.rb, line 1459 def delete_cookie(name,optionsString) do_command("deleteCookie", [name,optionsString,]) end
# File driver.rb, line 149 def do_command(verb, args) timeout(@timeout) do http = Net::HTTP.new(@server_host, @server_port) command_string = '/selenium-server/driver/?cmd=' + CGI::escape(verb) args.length.times do |i| arg_num = (i+1).to_s command_string = command_string + "&" + arg_num + "=" + CGI::escape(args[i].to_s) end if @session_id != nil command_string = command_string + "&sessionId=" + @session_id.to_s end #print "Requesting --->" + command_string + "\n" response = http.get(command_string) #print "RESULT: " + response.body + "\n\n" if (response.body[0..1] != "OK") raise SeleniumCommandError, response.body end return response.body end end
Doubleclicks on a link, button, checkbox or radio button. If the action causes a new page to load (like a link usually does), call waitForPageToLoad.
‘locator’ is an element locator ‘coordString’ is specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
# File driver.rb, line 283 def double_click_at(locator,coordString) do_command("doubleClickAt", [locator,coordString,]) end
Drags an element a certain distance and then drops it
‘locator’ is an element locator ‘movementsString’ is offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"
# File driver.rb, line 1177 def drag_and_drop(locator,movementsString) do_command("dragAndDrop", [locator,movementsString,]) end
Drags an element and drops it on another element
‘locatorOfObjectToBeDragged’ is an element to be dragged ‘locatorOfDragDestinationObject’ is an element whose location (i.e., whose center-most pixel) will be the point where locatorOfObjectToBeDragged is dropped
# File driver.rb, line 1186 def drag_and_drop_to_object(locatorOfObjectToBeDragged,locatorOfDragDestinationObject) do_command("dragAndDropToObject", [locatorOfObjectToBeDragged,locatorOfDragDestinationObject,]) end
deprecated - use dragAndDrop instead
‘locator’ is an element locator ‘movementsString’ is offset in pixels from the current location to which the element should be moved, e.g., "+70,-300"
# File driver.rb, line 1147 def dragdrop(locator,movementsString) do_command("dragdrop", [locator,movementsString,]) end
Retrieves the message of a JavaScript alert generated during the previous action, or fail if there were no alerts.
Getting an alert has the same effect as manually clicking OK. If an alert is generated but you do not get/verify it, the next Selenium action will fail. NOTE: under Selenium, JavaScript alerts will NOT pop up a visible alert dialog. NOTE: Selenium does NOT support JavaScript alerts that are generated in a page‘s onload() event handler. In this case a visible dialog WILL be generated and Selenium will hang until someone manually clicks OK.
# File driver.rb, line 847 def get_alert() return get_string("getAlert", []) end
Returns the IDs of all buttons on the page.
If a given button has no ID, it will appear as "" in this array.
# File driver.rb, line 1110 def get_all_buttons() return get_string_array("getAllButtons", []) end
Returns the IDs of all input fields on the page.
If a given field has no ID, it will appear as "" in this array.
# File driver.rb, line 1130 def get_all_fields() return get_string_array("getAllFields", []) end
Returns the IDs of all links on the page.
If a given link has no ID, it will appear as "" in this array.
# File driver.rb, line 1120 def get_all_links() return get_string_array("getAllLinks", []) end
Returns the IDs of all windows that the browser knows about.
# File driver.rb, line 1207 def get_all_window_ids() return get_string_array("getAllWindowIds", []) end
Returns the names of all windows that the browser knows about.
# File driver.rb, line 1214 def get_all_window_names() return get_string_array("getAllWindowNames", []) end
Returns the titles of all windows that the browser knows about.
# File driver.rb, line 1221 def get_all_window_titles() return get_string_array("getAllWindowTitles", []) end
Gets the value of an element attribute.
‘attributeLocator’ is an element locator followed by an @ sign and then the name of the attribute, e.g. "foo@bar"
# File driver.rb, line 1063 def get_attribute(attributeLocator) return get_string("getAttribute", [attributeLocator,]) end
Returns every instance of some attribute from all known windows.
‘attributeName’ is name of an attribute on the windows
# File driver.rb, line 1138 def get_attribute_from_all_windows(attributeName) return get_string_array("getAttributeFromAllWindows", [attributeName,]) end
Gets the entire text of the page.
# File driver.rb, line 912 def get_body_text() return get_string("getBodyText", []) end
# File driver.rb, line 209 def get_boolean(verb, args) boolstr = get_string(verb, args) if ("true" == boolstr) return true end if ("false" == boolstr) return false end raise ValueError, "result is neither 'true' nor 'false': " + boolstr end
# File driver.rb, line 220 def get_boolean_array(verb, args) boolarr = get_string_array(verb, args) boolarr.length.times do |i| if ("true" == boolstr) boolarr[i] = true next end if ("false" == boolstr) boolarr[i] = false next end raise ValueError, "result is neither 'true' nor 'false': " + boolarr[i] end return boolarr end
Retrieves the message of a JavaScript confirmation dialog generated during the previous action.
By default, the confirm function will return true, having the same effect as manually clicking OK. This can be changed by prior execution of the chooseCancelOnNextConfirmation command. If an confirmation is generated but you do not get/verify it, the next Selenium action will fail.
NOTE: under Selenium, JavaScript confirmations will NOT pop up a visible dialog.
NOTE: Selenium does NOT support JavaScript confirmations that are generated in a page‘s onload() event handler. In this case a visible dialog WILL be generated and Selenium will hang until you manually click OK.
# File driver.rb, line 873 def get_confirmation() return get_string("getConfirmation", []) end
Return all cookies of the current page under test.
# File driver.rb, line 1415 def get_cookie() return get_string("getCookie", []) end
Returns the value of the cookie with the specified name, or throws an error if the cookie is not present.
‘name’ is the name of the cookie
# File driver.rb, line 1423 def get_cookie_by_name(name) return get_string("getCookieByName", [name,]) end
Retrieves the text cursor position in the given input element or textarea; beware, this may not work perfectly on all browsers.
Specifically, if the cursor/selection has been cleared by JavaScript, this command will tend to return the position of the last location of the cursor, even though the cursor is now gone from the page. This is filed as SEL-243.
This method will fail if the specified element isn‘t an input element or textarea, or there is no cursor in the element.
‘locator’ is an element locator pointing to an input element or textarea
# File driver.rb, line 1303 def get_cursor_position(locator) return get_number("getCursorPosition", [locator,]) end
Retrieves the height of an element
‘locator’ is an element locator pointing to an element
# File driver.rb, line 1290 def get_element_height(locator) return get_number("getElementHeight", [locator,]) end
Get the relative index of an element to its parent (starting from 0). The comment node and empty text node will be ignored.
‘locator’ is an element locator pointing to an element
# File driver.rb, line 1248 def get_element_index(locator) return get_number("getElementIndex", [locator,]) end
Retrieves the horizontal position of an element
‘locator’ is an element locator pointing to an element OR an element itself
# File driver.rb, line 1266 def get_element_position_left(locator) return get_number("getElementPositionLeft", [locator,]) end
Retrieves the vertical position of an element
‘locator’ is an element locator pointing to an element OR an element itself
# File driver.rb, line 1274 def get_element_position_top(locator) return get_number("getElementPositionTop", [locator,]) end
Retrieves the width of an element
‘locator’ is an element locator pointing to an element
# File driver.rb, line 1282 def get_element_width(locator) return get_number("getElementWidth", [locator,]) end
Gets the result of evaluating the specified JavaScript snippet. The snippet may have multiple lines, but only the result of the last line will be returned.
Note that, by default, the snippet will run in the context of the "selenium" object itself, so this will refer to the Selenium object. Use window to refer to the window of your application, e.g. window.document.getElementById(‘foo’) If you need to use a locator to refer to a single element in your application page, you can use this.browserbot.findElement("id=foo") where "id=foo" is your locator.
‘script’ is the JavaScript snippet to run
# File driver.rb, line 958 def get_eval(script) return get_string("getEval", [script,]) end
Returns the specified expression.
This is useful because of JavaScript preprocessing. It is used to generate commands like assertExpression and waitForExpression.
‘expression’ is the value to return
# File driver.rb, line 1315 def get_expression(expression) return get_string("getExpression", [expression,]) end
Returns the entire HTML source between the opening and closing "html" tags.
# File driver.rb, line 1229 def get_html_source() return get_string("getHtmlSource", []) end
Gets the absolute URL of the current page.
# File driver.rb, line 898 def get_location() return get_string("getLocation", []) end
Returns the number of pixels between "mousemove" events during dragAndDrop commands (default=10).
# File driver.rb, line 1168 def get_mouse_speed() return get_number("getMouseSpeed", []) end
# File driver.rb, line 199 def get_number(verb, args) # Is there something I need to do here? return get_string(verb, args) end
# File driver.rb, line 204 def get_number_array(verb, args) # Is there something I need to do here? return get_string_array(verb, args) end
Retrieves the message of a JavaScript question prompt dialog generated during the previous action.
Successful handling of the prompt requires prior execution of the answerOnNextPrompt command. If a prompt is generated but you do not get/verify it, the next Selenium action will fail. NOTE: under Selenium, JavaScript prompts will NOT pop up a visible dialog. NOTE: Selenium does NOT support JavaScript prompts that are generated in a page‘s onload() event handler. In this case a visible dialog WILL be generated and Selenium will hang until someone manually clicks OK.
# File driver.rb, line 891 def get_prompt() return get_string("getPrompt", []) end
Gets option index (option number, starting at 0) for selected option in the specified select element.
‘selectLocator’ is an element locator identifying a drop-down menu
# File driver.rb, line 1023 def get_selected_index(selectLocator) return get_string("getSelectedIndex", [selectLocator,]) end
Gets all option indexes (option number, starting at 0) for selected options in the specified select or multi-select element.
‘selectLocator’ is an element locator identifying a drop-down menu
# File driver.rb, line 1015 def get_selected_indexes(selectLocator) return get_string_array("getSelectedIndexes", [selectLocator,]) end
Gets all option labels (visible text) for selected options in the specified select or multi-select element.
‘selectLocator’ is an element locator identifying a drop-down menu
# File driver.rb, line 983 def get_selected_labels(selectLocator) return get_string_array("getSelectedLabels", [selectLocator,]) end
Gets all option values (value attributes) for selected options in the specified select or multi-select element.
‘selectLocator’ is an element locator identifying a drop-down menu
# File driver.rb, line 999 def get_selected_values(selectLocator) return get_string_array("getSelectedValues", [selectLocator,]) end
Get execution speed (i.e., get the millisecond length of the delay following each selenium operation). By default, there is no such delay, i.e., the delay is 0 milliseconds.
See also setSpeed.
# File driver.rb, line 517 def get_speed() do_command("getSpeed", []) end
# File driver.rb, line 170 def get_string(verb, args) result = do_command(verb, args) return result[3..result.length] end
# File driver.rb, line 175 def get_string_array(verb, args) csv = get_string(verb, args) token = "" tokens = [] escape = false csv.split(//).each do |letter| if escape token = token + letter escape = false next end if (letter == '\\') escape = true elsif (letter == ',') tokens.push(token) token = "" else token = token + letter end end tokens.push(token) return tokens end
Gets the text of an element. This works for any element that contains text. This command uses either the textContent (Mozilla-like browsers) or the innerText (IE-like browsers) of the element, which is the rendered text shown to the user.
‘locator’ is an element locator
# File driver.rb, line 933 def get_text(locator) return get_string("getText", [locator,]) end
Gets the title of the current page.
# File driver.rb, line 905 def get_title() return get_string("getTitle", []) end
Gets the (whitespace-trimmed) value of an input field (or anything else with a value parameter). For checkbox/radio elements, the value will be "on" or "off" depending on whether the element is checked or not.
‘locator’ is an element locator
# File driver.rb, line 922 def get_value(locator) return get_string("getValue", [locator,]) end
Determine whether current/locator identify the frame containing this running code.
This is useful in proxy injection mode, where this code runs in every browser frame and window, and sometimes the selenium server needs to identify the "current" frame. In this case, when the test calls selectFrame, this routine is called for each frame to figure out which one has been selected. The selected frame will return true, while all others will return false.
‘currentFrameString’ is starting frame ‘target’ is new frame (which might be relative to the current one)
# File driver.rb, line 711 def get_whether_this_frame_match_frame_expression(currentFrameString,target) return get_boolean("getWhetherThisFrameMatchFrameExpression", [currentFrameString,target,]) end
Determine whether currentWindowString plus target identify the window containing this running code.
This is useful in proxy injection mode, where this code runs in every browser frame and window, and sometimes the selenium server needs to identify the "current" window. In this case, when the test calls selectWindow, this routine is called for each window to figure out which one has been selected. The selected window will return true, while all others will return false.
‘currentWindowString’ is starting window ‘target’ is new window (which might be relative to the current one, e.g., "_parent")
# File driver.rb, line 727 def get_whether_this_window_match_window_expression(currentWindowString,target) return get_boolean("getWhetherThisWindowMatchWindowExpression", [currentWindowString,target,]) end
Returns the number of nodes that match the specified xpath, eg. "//table" would give the number of tables.
‘xpath’ is the xpath expression to evaluate. do NOT wrap this expression in a ‘count()’ function; we will do that for you.
# File driver.rb, line 1324 def get_xpath_count(xpath) return get_number("getXpathCount", [xpath,]) end
Simulates the user clicking the "back" button on their browser.
# File driver.rb, line 779 def go_back() do_command("goBack", []) end
Briefly changes the backgroundColor of the specified element yellow. Useful for debugging.
‘locator’ is an element locator
# File driver.rb, line 941 def highlight(locator) do_command("highlight", [locator,]) end
Has an alert occurred?
This function never throws an exception
# File driver.rb, line 806 def is_alert_present() return get_boolean("isAlertPresent", []) end
Gets whether a toggle-button (checkbox/radio) is checked. Fails if the specified element doesn‘t exist or isn‘t a toggle-button.
‘locator’ is an element locator pointing to a checkbox or radio button
# File driver.rb, line 966 def is_checked(locator) return get_boolean("isChecked", [locator,]) end
Has confirm() been called?
This function never throws an exception
# File driver.rb, line 830 def is_confirmation_present() return get_boolean("isConfirmationPresent", []) end
Returns true if a cookie with the specified name is present, or false otherwise.
‘name’ is the name of the cookie
# File driver.rb, line 1431 def is_cookie_present(name) return get_boolean("isCookiePresent", [name,]) end
Determines whether the specified input element is editable, ie hasn‘t been disabled. This method will fail if the specified element isn‘t an input element.
‘locator’ is an element locator
# File driver.rb, line 1100 def is_editable(locator) return get_boolean("isEditable", [locator,]) end
Verifies that the specified element is somewhere on the page.
‘locator’ is an element locator
# File driver.rb, line 1079 def is_element_present(locator) return get_boolean("isElementPresent", [locator,]) end
Check if these two elements have same parent and are ordered siblings in the DOM. Two same elements will not be considered ordered.
‘locator1’ is an element locator pointing to the first element ‘locator2’ is an element locator pointing to the second element
# File driver.rb, line 1258 def is_ordered(locator1,locator2) return get_boolean("isOrdered", [locator1,locator2,]) end
Has a prompt occurred?
This function never throws an exception
# File driver.rb, line 818 def is_prompt_present() return get_boolean("isPromptPresent", []) end
Determines whether some option in a drop-down menu is selected.
‘selectLocator’ is an element locator identifying a drop-down menu
# File driver.rb, line 1047 def is_something_selected(selectLocator) return get_boolean("isSomethingSelected", [selectLocator,]) end
Verifies that the specified text pattern appears somewhere on the rendered page shown to the user.
‘pattern’ is a pattern to match with the text of the page
# File driver.rb, line 1071 def is_text_present(pattern) return get_boolean("isTextPresent", [pattern,]) end
Determines if the specified element is visible. An element can be rendered invisible by setting the CSS "visibility" property to "hidden", or the "display" property to "none", either for the element itself or one if its ancestors. This method will fail if the element is not present.
‘locator’ is an element locator
# File driver.rb, line 1091 def is_visible(locator) return get_boolean("isVisible", [locator,]) end
Simulates a user pressing a key (without releasing it yet).
‘locator’ is an element locator ‘keySequence’ is Either be a string("\" followed by the numeric keycode of the key to be pressed, normally the ASCII value of that key), or a single character. For example: "w", "\119".
# File driver.rb, line 384 def key_down(locator,keySequence) do_command("keyDown", [locator,keySequence,]) end
Simulates a user pressing a key (without releasing it yet) by sending a native operating system keystroke. This function uses the java.awt.Robot class to send a keystroke; this more accurately simulates typing a key on the keyboard. It does not honor settings from the shiftKeyDown, controlKeyDown, altKeyDown and metaKeyDown commands, and does not target any particular HTML element. To send a keystroke to a particular element, focus on the element first before running this command.
‘keycode’ is an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes!
# File driver.rb, line 1563 def key_down_native(keycode) do_command("keyDownNative", [keycode,]) end
Simulates a user pressing and releasing a key.
‘locator’ is an element locator ‘keySequence’ is Either be a string("\" followed by the numeric keycode of the key to be pressed, normally the ASCII value of that key), or a single character. For example: "w", "\119".
# File driver.rb, line 319 def key_press(locator,keySequence) do_command("keyPress", [locator,keySequence,]) end
Simulates a user pressing and releasing a key by sending a native operating system keystroke. This function uses the java.awt.Robot class to send a keystroke; this more accurately simulates typing a key on the keyboard. It does not honor settings from the shiftKeyDown, controlKeyDown, altKeyDown and metaKeyDown commands, and does not target any particular HTML element. To send a keystroke to a particular element, focus on the element first before running this command.
‘keycode’ is an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes!
# File driver.rb, line 1587 def key_press_native(keycode) do_command("keyPressNative", [keycode,]) end
Simulates a user releasing a key.
‘locator’ is an element locator ‘keySequence’ is Either be a string("\" followed by the numeric keycode of the key to be pressed, normally the ASCII value of that key), or a single character. For example: "w", "\119".
# File driver.rb, line 393 def key_up(locator,keySequence) do_command("keyUp", [locator,keySequence,]) end
Simulates a user releasing a key by sending a native operating system keystroke. This function uses the java.awt.Robot class to send a keystroke; this more accurately simulates typing a key on the keyboard. It does not honor settings from the shiftKeyDown, controlKeyDown, altKeyDown and metaKeyDown commands, and does not target any particular HTML element. To send a keystroke to a particular element, focus on the element first before running this command.
‘keycode’ is an integer keycode number corresponding to a java.awt.event.KeyEvent; note that Java keycodes are NOT the same thing as JavaScript keycodes!
# File driver.rb, line 1575 def key_up_native(keycode) do_command("keyUpNative", [keycode,]) end
Simulates a user pressing the mouse button (without releasing it yet) on the specified element.
‘locator’ is an element locator
# File driver.rb, line 418 def mouse_down(locator) do_command("mouseDown", [locator,]) end
Simulates a user pressing the mouse button (without releasing it yet) at the specified location.
‘locator’ is an element locator ‘coordString’ is specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
# File driver.rb, line 428 def mouse_down_at(locator,coordString) do_command("mouseDownAt", [locator,coordString,]) end
Simulates a user pressing the mouse button (without releasing it yet) on the specified element.
‘locator’ is an element locator
# File driver.rb, line 456 def mouse_move(locator) do_command("mouseMove", [locator,]) end
Simulates a user pressing the mouse button (without releasing it yet) on the specified element.
‘locator’ is an element locator ‘coordString’ is specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
# File driver.rb, line 466 def mouse_move_at(locator,coordString) do_command("mouseMoveAt", [locator,coordString,]) end
Simulates a user moving the mouse pointer away from the specified element.
‘locator’ is an element locator
# File driver.rb, line 409 def mouse_out(locator) do_command("mouseOut", [locator,]) end
Simulates a user hovering a mouse over the specified element.
‘locator’ is an element locator
# File driver.rb, line 401 def mouse_over(locator) do_command("mouseOver", [locator,]) end
Simulates the event that occurs when the user releases the mouse button (i.e., stops holding the button down) on the specified element.
‘locator’ is an element locator
# File driver.rb, line 437 def mouse_up(locator) do_command("mouseUp", [locator,]) end
Simulates the event that occurs when the user releases the mouse button (i.e., stops holding the button down) at the specified location.
‘locator’ is an element locator ‘coordString’ is specifies the x,y position (i.e. - 10,20) of the mouse event relative to the element returned by the locator.
# File driver.rb, line 447 def mouse_up_at(locator,coordString) do_command("mouseUpAt", [locator,coordString,]) end
Opens an URL in the test frame. This accepts both relative and absolute URLs.
The "open" command waits for the page to load before proceeding, ie. the "AndWait" suffix is implicit.
Note: The URL must be on the same domain as the runner HTML due to security restrictions in the browser (Same Origin Policy). If you need to open an URL on another domain, use the Selenium Server to start a new browser session on that domain.
‘url’ is the URL to open; may be relative or absolute
# File driver.rb, line 632 def open(url) do_command("open", [url,]) end
Opens a popup window (if a window with that ID isn‘t already open). After opening the window, you‘ll need to select it using the selectWindow command.
This command can also be a useful workaround for bug SEL-339. In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example). In those cases, you can force Selenium to notice the open window‘s name by using the Selenium openWindow command, using an empty (blank) url, like this: openWindow("", "myFunnyWindow").
‘url’ is the URL to open, which can be blank ‘windowID’ is the JavaScript window ID of the window to select
# File driver.rb, line 648 def open_window(url,windowID) do_command("openWindow", [url,windowID,]) end
Simulates the user clicking the "Refresh" button on their browser.
# File driver.rb, line 786 def refresh() do_command("refresh", []) end
Remove a selection from the set of selected options in a multi-select element using an option locator.
@see doSelect for details of option locators
‘locator’ is an element locator identifying a multi-select box ‘optionLocator’ is an option locator (a label by default)
# File driver.rb, line 598 def remove_selection(locator,optionLocator) do_command("removeSelection", [locator,optionLocator,]) end
Creates a new "script" tag in the body of the current test window, and adds the specified text into the body of the command. Scripts run in this way can often be debugged more easily than scripts executed using Selenium‘s "getEval" command. Beware that JS exceptions thrown in these script tags aren‘t managed by Selenium, so you should probably wrap your script in try/catch blocks if there is any chance that the script will throw an exception.
‘script’ is the JavaScript snippet to run
# File driver.rb, line 1493 def run_script(script) do_command("runScript", [script,]) end
Select an option from a drop-down using an option locator.
Option locators provide different ways of specifying options of an HTML Select element (e.g. for selecting a specific option, or for asserting that the selected option satisfies a specification). There are several forms of Select Option Locator.
matches options based on their labels, i.e. the visible text. (This is the default.)
matches options based on their values.
matches options based on their ids.
matches an option based on its index (offset from zero).
If no option locator prefix is provided, the default behaviour is to match on label.
‘selectLocator’ is an element locator identifying a drop-down menu ‘optionLocator’ is an option locator (a label by default)
# File driver.rb, line 576 def select(selectLocator,optionLocator) do_command("select", [selectLocator,optionLocator,]) end
Selects a frame within the current window. (You may invoke this command multiple times to select nested frames.) To select the parent frame, use "relative=parent" as a locator; to select the top frame, use "relative=top". You can also select a frame by its 0-based index number; select the first frame with "index=0", or the third frame with "index=2".
You may also use a DOM expression to identify the frame you want directly, like this: dom=frames["main"].frames
‘locator’ is an element locator identifying a frame or iframe
# File driver.rb, line 695 def select_frame(locator) do_command("selectFrame", [locator,]) end
Selects a popup window; once a popup window has been selected, all commands go to that window. To select the main window again, use null as the target.
Note that there is a big difference between a window‘s internal JavaScript "name" property and the "title" of a given window‘s document (which is normally what you actually see, as an end user, in the title bar of the window). The "name" is normally invisible to the end-user; it‘s the second parameter "windowName" passed to the JavaScript method window.open(url, windowName, windowFeatures, replaceFlag) (which selenium intercepts). Selenium has several strategies for finding the window object referred to by the "windowID" parameter. 1.) if windowID is null, (or the string "null") then it is assumed the user is referring to the original window instantiated by the browser). 2.) if the value of the "windowID" parameter is a JavaScript variable name in the current application window, then it is assumed that this variable contains the return value from a call to the JavaScript window.open() method. 3.) Otherwise, selenium looks in a hash it maintains that maps string names to window "names". 4.) If that fails, we‘ll try looping over all of the known windows to try to find the appropriate "title". Since "title" is not necessarily unique, this may have unexpected behavior. If you‘re having trouble figuring out what is the name of a window that you want to manipulate, look at the selenium log messages which identify the names of windows created via window.open (and therefore intercepted by selenium). You will see messages like the following for each window as it is opened: debug: window.open call intercepted; window ID (which you can use with selectWindow()) is "myNewWindow" In some cases, Selenium will be unable to intercept a call to window.open (if the call occurs during or before the "onLoad" event, for example). (This is bug SEL-339.) In those cases, you can force Selenium to notice the open window‘s name by using the Selenium openWindow command, using an empty (blank) url, like this: openWindow("", "myFunnyWindow").
‘windowID’ is the JavaScript window ID of the window to select
# File driver.rb, line 679 def select_window(windowID) do_command("selectWindow", [windowID,]) end
Sets the threshold for browser-side logging messages; log messages beneath this threshold will be discarded. Valid logLevel strings are: "debug", "info", "warn", "error" or "off". To see the browser logs, you need to either show the log window in GUI mode, or enable browser-side logging in Selenium RC.
‘logLevel’ is one of the following: "debug", "info", "warn", "error" or "off"
# File driver.rb, line 1479 def set_browser_log_level(logLevel) do_command("setBrowserLogLevel", [logLevel,]) end
Writes a message to the status bar and adds a note to the browser-side log.
‘context’ is the message to be sent to the browser
# File driver.rb, line 1524 def set_context(context) do_command("setContext", [context,]) end
Moves the text cursor to the specified position in the given input element or textarea. This method will fail if the specified element isn‘t an input element or textarea.
‘locator’ is an element locator pointing to an input element or textarea ‘position’ is the numerical position of the cursor in the field; position should be 0 to move the position to the beginning of the field. You can also set the cursor to -1 to move it to the end of the field.
# File driver.rb, line 1239 def set_cursor_position(locator,position) do_command("setCursorPosition", [locator,position,]) end
Configure the number of pixels between "mousemove" events during dragAndDrop commands (default=10). Setting this value to 0 means that we‘ll send a "mousemove" event to every single pixel in between the start location and the end location; that can be very slow, and may cause some browsers to force the JavaScript to timeout. If the mouse speed is greater than the distance between the two dragged objects, we‘ll just send one "mousemove" at the start location and then one final one at the end location.
‘pixels’ is the number of pixels between "mousemove" events
# File driver.rb, line 1161 def set_mouse_speed(pixels) do_command("setMouseSpeed", [pixels,]) end
Set execution speed (i.e., set the millisecond length of a delay which will follow each selenium operation). By default, there is no such delay, i.e., the delay is 0 milliseconds.
‘value’ is the number of milliseconds to pause after operation
# File driver.rb, line 507 def set_speed(value) do_command("setSpeed", [value,]) end
Specifies the amount of time that Selenium will wait for actions to complete.
Actions that require waiting include "open" and the "waitFor*" actions.
The default timeout is 30 seconds.
‘timeout’ is a timeout in milliseconds, after which the action will return with an error
# File driver.rb, line 1377 def set_timeout(timeout) do_command("setTimeout", [timeout,]) end
Release the shift key.
# File driver.rb, line 333 def shift_key_up() do_command("shiftKeyUp", []) end
Kills the running Selenium Server and all browser sessions. After you run this command, you will no longer be able to send commands to the server; you can‘t remotely start the server once it has been stopped. Normally you should prefer to run the "stop" command, which terminates the current browser session, rather than shutting down the entire server.
# File driver.rb, line 1551 def shut_down_selenium_server() do_command("shutDownSeleniumServer", []) end
# File driver.rb, line 139 def start() result = get_string("getNewBrowserSession", [@browserStartCommand, @browserURL]) @session_id = result end
Sets the value of an input field, as though you typed it in.
Can also be used to set the value of combo boxes, check boxes, etc. In these cases, value should be the value of the option selected, not the visible text.
‘locator’ is an element locator ‘value’ is the value to type
# File driver.rb, line 479 def type(locator,value) do_command("type", [locator,value,]) end
Simulates keystroke events on the specified element, as though you typed the value key-by-key.
This is a convenience method for calling keyDown, keyUp, keyPress for every character in the specified string; this is useful for dynamic UI widgets (like auto-completing combo boxes) that require explicit key events. Unlike the simple "type" command, which forces the specified value into the page directly, this command may or may not have any visible effect, even in cases where typing keys would normally have a visible effect. For example, if you use "typeKeys" on a form element, you may or may not see the results of what you typed in the field. In some cases, you may need to use the simple "type" command to set the value of the field and then the "typeKeys" command to send the keystroke events corresponding to what you just typed.
‘locator’ is an element locator ‘value’ is the value to type
# File driver.rb, line 498 def type_keys(locator,value) do_command("typeKeys", [locator,value,]) end
Uncheck a toggle-button (checkbox/radio)
‘locator’ is an element locator
# File driver.rb, line 533 def uncheck(locator) do_command("uncheck", [locator,]) end
Runs the specified JavaScript snippet repeatedly until it evaluates to "true". The snippet may have multiple lines, but only the result of the last line will be considered.
Note that, by default, the snippet will be run in the runner‘s test window, not in the window of your application. To get the window of your application, you can use the JavaScript snippet selenium.browserbot.getCurrentWindow(), and then run your JavaScript in there
‘script’ is the JavaScript snippet to run ‘timeout’ is a timeout in milliseconds, after which this command will return with an error
# File driver.rb, line 1365 def wait_for_condition(script,timeout) do_command("waitForCondition", [script,timeout,]) end
Waits for a new frame to load.
Selenium constantly keeps track of new pages and frames loading, and sets a "newPageLoaded" flag when it first notices a page load.
See waitForPageToLoad for more information.
‘frameAddress’ is FrameAddress from the server side ‘timeout’ is a timeout in milliseconds, after which this command will return with an error
# File driver.rb, line 1408 def wait_for_frame_to_load(frameAddress,timeout) do_command("waitForFrameToLoad", [frameAddress,timeout,]) end
Waits for a new page to load.
You can use this command instead of the "AndWait" suffixes, "clickAndWait", "selectAndWait", "typeAndWait" etc. (which are only available in the JS API). Selenium constantly keeps track of new pages loading, and sets a "newPageLoaded" flag when it first notices a page load. Running any other Selenium command after turns the flag to false. Hence, if you want to wait for a page to load, you must wait immediately after a Selenium command that caused a page-load.
‘timeout’ is a timeout in milliseconds, after which this command will return with an error
# File driver.rb, line 1393 def wait_for_page_to_load(timeout) do_command("waitForPageToLoad", [timeout,]) end
Waits for a popup window to appear and load up.
‘windowID’ is the JavaScript window ID of the window that will appear ‘timeout’ is a timeout in milliseconds, after which the action will return with an error
# File driver.rb, line 736 def wait_for_pop_up(windowID,timeout) do_command("waitForPopUp", [windowID,timeout,]) end


The most complex icon pack on the web, here for you. 1409 icons. If you're looking for even more icons the FontAwesome 5 Pro Version offers over 4000 icons.
StickyMobile
Made with by Enabled
Powered by the best Mobile Website Developer on the Envato Marketplaces. Elite Quality. Elite Products.
Copyright © Enabled 2017. All Rights Reserved.


StereoWidener → Tone.MidSideEffect
Applies a width factor to the mid/side seperation.
0 is all mid and 1 is all side.
Algorithm found in kvraudio forums.
Mid = 2(1-width)
Side = 2width
new
Tone.StereoWidener
([width])
width
{NormalRange|Object}
The stereo width. A width of 0 is mono and 1 is stereo. 0.5 is no change.
default values
width:0.5
members
.wet
~
{NormalRange}
The wet control is how much of the effected will pass through to the output. 1 = 100% effected signal, 0 = 100% dry signal.
methods


Home
{{brokerName}}
Queues
No Queue available
{{q.name}}
DLX
DLK
Queue Messages:
No Queue is selected
Queue is empty
Message {{$index + 1}}
Envelope:
Properties:
Checksum:
{{m.checksum}}
Body:
{{ renderBody(m) }}
Move
Delete


Hi! I’m Ashling McNeill I’m a college student at Arizona State University currently working on my Bachelors Degree in Interdisciplinary Studies. My two concentrations are in Digital Culture and Digital Audiences. I plan to graduate by May 2021 and work with digital marketing/advertising, graphic design, and web development.
• Assisted with streamlining company social media accounts
• Scheduling and coordinating a monthly brainstorming meeting with Nikao staff to develop content for the month ahead, and to plan for a monthly social media, editorial, marketing, and blogging calendar
• Use the company’s HootSuite account to create lists of followers and to schedule content so that they are continuously pushed out
• Understanding and monitoring social media analytics
• Work with Nikao staff/contractors on MailChimp to create and send one or more email broadcast per month
GPA: 3.95
GPA: 3.52
I love to draw and paint in my free time. I'm a creative mind so I like to keep my activity up with crafting or reading.
I also love to travel whenever possible. The world is too big not to see so I plan on making the most of it.


haloperidol Figure OpenUrl RIX treatment mice effects lines strains strain CrossRef genetic behavioral rowley measures data phenotypes chronic using drug model VCMs effect haloperidol-induced field Collaborative activity changes distance inbred mouse significant treated vertical Genetics movements open strain-by-treatment test treatment. used CC-RIX Science Web body chewing inclined order placebo time Abstract FREE Open Text change models pre-treatment random screen ADRs animals extrapyramidal highly movement observed series study (a) (b) Cross OFA. Table activity, antipsychotic centroid design dyskinesia effects. measured raw strong tardive Download Genome days exhibited extreme haloperidol, new pellet phenotype phenotypes, results sensitivity stereotypy (c) Mice generate human including individual mice. patients phenotyping predictions recombinant showed tests traveled ADRs. EPS EPS, OFA View analysis associated association batch battery data-hide-link-title=""> data-icon-position="" diverse diversity figure genetically haloperidol-treated heritability included jaw number performed phenotype, plasma plots tab therapeutic visualized Crowley, EPS. Further, Haloperidol Institute Psychiatry Research Schizophrenia University VCMs. Vertical available basis correspond day development differential displayed distribution estimates exposure females level line lines, mapping mixed orofacial p-values parental placebo-treated previously response rows schizophrenia. shown shows strains, tested vacuous variation (EPS) (beam (d) (for Aylor Chronic Cross. Distance Figures Genetic Mouse Quackenbush SAS Using VCM according achieve additive antipsychotic-induced antipsychotics blood breaks) complex correlation demonstrated derived develop distributions effects, genes haloperidol- humans implantation), implanted increased interactions intervals likely linear males mating maximum measure minutes multiple organized pellets phenotype. phenotypes. pipeline. placebo- population post-treatment pre-drug prediction quasi-loop receptor sample samples, single study, substantial susceptibility symptoms use video weeks weight


Limerick's Paul Browne retires from inter-county hurling
by By John FogartyLimerick hurler Paul Browne has retired from inter-county hurling.
Bruff man Browne made the announcement via the county board website this evening.
Browne, 30, was a senior player for 11 years, making his League and Championship debuts in 2009. He was on the Munster SHC winning team of 2013 and was vice-captain last year although was unable to play due to a cruciate knee injury.
"I have decided that the time is right for me to step away form the Limerick Senior Hurling Panel after 11 seasons involved," Browne said.
"I leave with nothing but wonderful memories and pride from my 11 years playing with Limerick.
To have shared the dressing room with all my past team-mates and this incredible panel of players now has been the greatest honour of my life.


|
|||||||
SAP Java Connector 3.0 |
|||||||
|
Thank you for using the SAP Java Connector (JCo). Please read the license terms, installation instructions and release notes carefully. |
|||||||
|
This product is property of SAP SE. You are granted usage of this product in your development
environment. Deploying this product with your application in a production environment is only
valid with the sufficient amount of SAP Software Licenses according to the terms and conditions
of the respective SAP Solution or SAP Component Software License Agreement. Any copying,
reproduction, or redistribution of SAP Software not in accordance with the License Agreement is
expressly prohibited. You must not modify, decompile, or reverse engineer any SAP Software, except
to the extent expressly permitted by applicable law.
 SAP SE further does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP SE shall not be liable for any special, indirect, incidental or consequential damages, including without limitation, lost revenues or lost profits, which may result from the use of these materials. The information in this software is subject to change without notice and does not represent a commitment on the part of SAP SE in the future. |
|||||||
|
|
|||||||
| Copyright © 2008-2016 SAP SE. All Rights Reserved. |


My First Website
Welcome to my website! Here are some things I enjoy.
Web Development
Chess
Driving
Trecking
Swimming
Learning
Favourite Quotes
Here is a favourite quote of mine
... and another


Core_CSS
Core_CSS Documentation
2017 © Sergey Pimenov
Requirements
Quick start
Customize
Typography
Colors
Icons
Components
Accordion
Bottom navigation
Bottom sheets
Buttons
Cards
Chips
Data tables
Date picker
Date select
Dialogs
Donuts
Floating action button
Grids
Header
Lists
Menus
Panels
Progress & activity
Range
Sidebar
Steppers
Switches
Tabs
Text fields
Time picker
Time select
Toasts
Utils
Easing functions
Gravatar
Locales
Ripple
Template engine
Touch & Swipe
Scroll events
Storage engine
Hash functions
Services classes
Utils functions


Oliver Twist
by Charles Dickens
Chapter 29: Has an Introductory Account of the Inmates of the House, To Which Oliver Resorted.
Additional Information
- Year Published: 1838
- Language: English
- Country of Origin: England
- Source: Dickens, C. (1838). Oliver Twist.London, England; Bentley's Miscellany.
-
Readability:
- Flesch–Kincaid Level: 8.1
- Word Count: 1,473
- Genre: Realism
- Keywords: 19th century literature, british literature, charles dickens, oliver twist
- ✎ Cite This
Downloads
In a handsome room: though its furniture had rather the air of old-fashioned comfort, than of modern elegance: there sat two ladies at a well-spread breakfast-table. Mr. Giles, dressed with scrupulous care in a full suit of black, was in attendance upon them. He had taken his station some half-way between the side-board and the breakfast-table; and, with his body drawn up to its full height, his head thrown back, and inclined the merest trifle on one side, his left leg advanced, and his right hand thrust into his waist-coat, while his left hung down by his side, grasping a waiter, looked like one who laboured under a very agreeable sense of his own merits and importance.
Of the two ladies, one was well advanced in years; but the high-backed oaken chair in which she sat, was not more upright than she. Dressed with the utmost nicety and precision, in a quaint mixture of by-gone costume, with some slight concessions to the prevailing taste, which rather served to point the old style pleasantly than to impair its effect, she sat, in a stately manner, with her hands folded on the table before her. Her eyes (and age had dimmed but little of their brightness) were attentively upon her young companion.
The younger lady was in the lovely bloom and spring-time of womanhood; at that age, when, if ever angels be for God’s good purposes enthroned in mortal forms, they may be, without impiety, supposed to abide in such as hers.
She was not past seventeen. Cast in so slight and exquisite a mould; so mild and gentle; so pure and beautiful; that earth seemed not her element, nor its rough creatures her fit companions. The very intelligence that shone in her deep blue eye, and was stamped upon her noble head, seemed scarcely of her age, or of the world; and yet the changing expression of sweetness and good humour, the thousand lights that played about the face, and left no shadow there; above all, the smile, the cheerful, happy smile, were made for Home, and fireside peace and happiness.
She was busily engaged in the little offices of the table.
‘And Brittles has been gone upwards of an hour, has he?’ asked the old lady, after a pause.
‘An hour and twelve minutes, ma’am,’ replied Mr. Giles, referring to a silver watch, which he drew forth by a black ribbon.
‘He is always slow,’ remarked the old lady.
‘Brittles always was a slow boy, ma’am,’ replied the attendant.
‘He gets worse instead of better, I think,’ said the elder lady.
‘It is very inexcusable in him if he stops to play with any other boys,’ said the young lady, smiling.
Mr. Giles was apparently considering the propriety of indulging in a respectful smile himself, when a gig drove up to the garden-gate: out of which there jumped a fat gentleman, who ran straight up to the door: and who, getting quickly into the house by some mysterious process, burst into the room, and nearly overturned Mr. Giles and the breakfast-table together.
‘I never heard of such a thing!’ exclaimed the fat gentleman. ‘My dear Mrs. Maylie—bless my soul—in the silence of the night, too—I never heard of such a thing!’
With these expressions of condolence, the fat gentleman shook hands with both ladies, and drawing up a chair, inquired how they found themselves.
 ‘Why didn’t you send? Bless me, my man should have come in a minute; and so would I; and my assistant would have been delighted; or anybody, I’m sure, under such circumstances. Dear, dear! So unexpected! In the silence of the night, too!’
The doctor seemed expecially troubled by the fact of the robbery having been unexpected, and attempted in the night-time; as if it were the established custom of gentlemen in the housebreaking way to transact business at noon, and to make an appointment, by post, a day or two previous.
‘And you, Miss Rose,’ said the doctor, turning to the young lady, ‘I—’
‘Oh! very much so, indeed,’ said Rose, interrupting him; ‘but there is a poor creature upstairs, whom aunt wishes you to see.’
‘Ah! to be sure,’ replied the doctor, ‘so there is. That was your handiwork, Giles, I understand.’
Mr. Giles, who had been feverishly putting the tea-cups to rights, blushed very red, and said that he had had that honour.
‘Honour, eh?’ said the doctor; ‘well, I don’t know; perhaps it’s as honourable to hit a thief in a back kitchen, as to hit your man at twelve paces. Fancy that he fired in the air, and you’ve fought a duel, Giles.’
Mr. Giles, who thought this light treatment of the matter an unjust attempt at diminishing his glory, answered respectfully, that it was not for the like of him to judge about that; but he rather thought it was no joke to the opposite party.
‘Gad, that’s true!’ said the doctor. ‘Where is he? Show me the way. I’ll look in again, as I come down, Mrs. Maylie. That’s the little window that he got in at, eh? Well, I couldn’t have believed it!’
Talking all the way, he followed Mr. Giles upstairs; and while he is going upstairs, the reader may be informed, that Mr. Losberne, a surgeon in the neighbourhood, known through a circuit of ten miles round as ‘the doctor,’ had grown fat, more from good-humour than from good living: and was as kind and hearty, and withal as eccentric an old bachelor, as will be found in five times that space, by any explorer alive.
The doctor was absent, much longer than either he or the ladies had anticipated. A large flat box was fetched out of the gig; and a bedroom bell was rung very often; and the servants ran up and down stairs perpetually; from which tokens it was justly concluded that something important was going on above. At length he returned; and in reply to an anxious inquiry after his patient; looked very mysterious, and closed the door, carefully.
‘This is a very extraordinary thing, Mrs. Maylie,’ said the doctor, standing with his back to the door, as if to keep it shut.
‘He is not in danger, I hope?’ said the old lady.
‘Why, that would not be an extraordinary thing, under the circumstances,’ replied the doctor; ‘though I don’t think he is. Have you seen the thief?’
‘No,’ rejoined the old lady.
‘Nor heard anything about him?’
‘No.’
‘I beg your pardon, ma’am, interposed Mr. Giles; ‘but I was going to tell you about him when Doctor Losberne came in.’
The fact was, that Mr. Giles had not, at first, been able to bring his mind to the avowal, that he had only shot a boy. Such commendations had been bestowed upon his bravery, that he could not, for the life of him, help postponing the explanation for a few delicious minutes; during which he had flourished, in the very zenith of a brief reputation for undaunted courage.
‘Rose wished to see the man,’ said Mrs. Maylie, ‘but I wouldn’t hear of it.’
‘Humph!’ rejoined the doctor. ‘There is nothing very alarming in his appearance. Have you any objection to see him in my presence?’
‘If it be necessary,’ replied the old lady, ‘certainly not.’
‘Then I think it is necessary,’ said the doctor; ‘at all events, I am quite sure that you would deeply regret not having done so, if you postponed it. He is perfectly quiet and comfortable now. Allow me—Miss Rose, will you permit me? Not the slightest fear, I pledge you my honour!’


In addition to the -XX
options, many other command-line options can provide troubleshooting information. This section describes a few of these options.
This option is useful in diagnosing problems with applications that use the Java Native Interface (JNI). Sometimes bugs in the native code can cause the HotSpot VM to crash or behave incorrectly.
The -Xcheck:jni
option is added to the command line that starts the application, as in the following example:
java -Xcheck:jni MyApp
The -Xcheck:jni
option causes the VM to do additional validation on the arguments passed to JNI functions. Note: The option is not guaranteed to find all invalid arguments or diagnose logic bugs in the application code, but it can help diagnose a large number of such problems.
When an invalid argument is detected, the VM prints a message to the application console or to standard output, prints the stack trace of the offending thread, and aborts the VM.
Example D-3 shows a null
value was incorrectly passed to a JNI function that does not allow a null
value.
Example D-3 Null Value Passed to JNI Function
FATAL ERROR in native method: Null object passed to JNI at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:343) - locked <0x450b9f70> (a java.net.PlainSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:439) at java.net.ServerSocket.accept(ServerSocket.java:410) at org.apache.tomcat.service.PoolTcpEndpoint.acceptSocket (PoolTcpEndpoint.java:286) at org.apache.tomcat.service.TcpWorkerThread.runIt (PoolTcpEndpoint.java:402) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run (ThreadPool.java:498) at java.lang.Thread.run(Thread.java:536)
Example D-4 shows an incorrect argument was provided to a JNI function that expects a jfieldID
argument.
Example D-4 Incorrect Argument Provided to a JNI Function
FATAL ERROR in native method: Instance field not found in JNI get/set field operations at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359) - locked <0xf082f290> (a java.net.PlainSocketImpl) at java.net.ServerSocket.bind(ServerSocket.java:318) at java.net.ServerSocket.<init>(ServerSocket.java:185) at jvm003a.<init>(jvm003.java:190) at jvm003a.<init>(jvm003.java:151) at jvm003.run(jvm003.java:51) at jvm003.main(jvm003.java:30)
The following list presents examples of other problems that the -Xcheck:jni
option can help diagnose:
Cases where the JNI environment for the wrong thread is used
Cases where an invalid JNI reference is used
Cases where a reference to a non-array type is provided to a function that requires an array type
Cases where a non-static field ID is provided to a function that expects a static field ID
Cases where a JNI call is made with an exception pending
In general, all errors detected by the -Xcheck:jni
option are fatal errors (that is, the error is printed and the VM is aborted). There is one exception to this behavior, when a JNI call is made within a JNI critical region. In this case, the following non-fatal warning message is printed, as shown in Example D-5.
Example D-5 Non-Fatal Warning Message
Warning: Calling other JNI functions in the scope of Get/ReleasePrimitiveArrayCritical or Get/ReleaseStringCritical
A JNI critical region is created when native code uses the JNI functions GetPrimitiveArrayCritical
or GetStringCritical
to obtain a reference to an array or string in the Java heap. The reference is held until the native code calls the corresponding release function. The code between the get and release is called a JNI critical section and during that time the HotSpot VM cannot bring the VM to a state that allows garbage collection to occur. The general recommendation is not to use other JNI functions within a JNI critical section, and in particular any JNI function that could potentially cause a deadlock. The warning printed above by the -Xcheck:jni
option is thus an indication of a potential issue; it does not always indicate an application bug.
For more information on JNI, see the Java Native Interface documentation.
This option enables logging of garbage collection (GC) information. It can be combined with other HotSpot VM specific options such as -XX:+PrintGCDetails
and -XX:+PrintGCTimeStamps
to get further information about GC. The information output includes the size of the generations before and after each GC, total size of the heap, the size of objects promoted, and the time taken.
More information about these options, along with detailed information about GC analysis and tuning are described in the GC Portal article.
The -verbose:gc
option can be dynamically enabled at runtime using the management API or JVM TI. For more information on these APIs, see Custom Diagnostic Tools.
The JConsole monitoring and management tool can also enable or disable the option when the tool is attached to a management VM. For more information see JConsole.
This option enables logging of JNI. When a JNI or native method is resolved, the HotSpot VM prints a trace message to the application console (standard output). It also prints a trace message when a native method is registered using the JNI RegisterNative
function. The -verbose:jni
option can be useful in diagnosing issues with applications that use native libraries.


'Actigraphy' is a cost-effective and convenient tool for activity-based monitoring. 'ActisoftR' was designed for parsing 'actigraphy' outputs and to summarise scored data across user-defined intervals. It consists of several functions for importing, generating reports and statistics, and for data visualization.
| Version: | 0.0.2 |
| Depends: | R (≥ 3.1.0) |
| Imports: | ggplot2, dplyr, scales, tibble, lubridate, data.table, magrittr, methods, RColorBrewer, tidyr |
| Suggests: | DT, Rcpp, rmarkdown, roxygen2, knitr, testthat, readr, plotly, devtools |
| Published: | 2018-10-16 |
| Author: | Edgar Santos-Fernandez [aut], Lora Wu [aut, cre], Margo van den Berg [aut] |
| Maintainer: | Lora Wu <L.Wu at massey.ac.nz> |
| License: | GPL-2 | GPL-3 |
| URL: | https://github.com/SWRC/ActisoftR |
| NeedsCompilation: | no |
| CRAN checks: | ActisoftR results |
| Reference manual: | ActisoftR.pdf |
| Vignettes: |
Vignette Title |
| Package source: | ActisoftR_0.0.2.tar.gz |
| Windows binaries: | r-devel: ActisoftR_0.0.2.zip, r-release: ActisoftR_0.0.2.zip, r-oldrel: ActisoftR_0.0.2.zip |
| OS X binaries: | r-release: ActisoftR_0.0.2.tgz, r-oldrel: ActisoftR_0.0.2.tgz |
| Old sources: | ActisoftR archive |
Please use the canonical form https://CRAN.R-project.org/package=ActisoftR to link to this page.


Miyagizao Fox Park.
Mindy: The plan was to stop by Alex's dorms after class to drop off my textbooks and school supplies and compile our things for the weekend before heading out with Kevin to Shinjuku Station for our bus departure at 2:40. However, the day started out a lot rougher than we had expected. After running in circles asking the random passerby, policeman, and business person for directions to the Willer Express bus stop, we finally made it to the Sumitomo Building just as the bus was pulling out of the parking lot. Alex and I were both salty and dejected, but I was convinced on going to Sendai that day because our friend, Kevin told me that I could hold a baby fox for 300 yen. We headed over to Tokyo Station to buy our Shinkansen tickets [my wallet cries to this day] and head up to Sendai.
Our Airbnb host picked us up from the station after our dinner and also drove us to the Fox Park the next day. I hadn't realized how beautiful the sights were around Sendai until then with the beach and the mountains all around. We arrived right before the park's opening hour at 9 a.m., the fox park itself was a hidden gem that even our host didn't hear about until a previous guest asked to be taken there. It's split up into three sections. There's the souvenir shop which is also the entrance gate, a small petting zoo type area with foxes, sheep, horses, rabbits and other animals, and the main open park area where something around 200 foxes roam and interact with guests.
Inside the petting zoo type area, there were two foxes, Nori and Goro that you could pet but not hold. But since hearing that you could actually get to hold a fox, we were eager to try it. After waiting for the staff to finish their morning duties, we were able to hold Kanta! The three of us were able to snuggle him for about three minutes each. Alex and Kevin also wanted to hold the rabbits they had. Though the price was cheaper, the park staff didn't mind letting the guests hold the rabbits for longer than the advertised two minutes.
In the park area, we wandered along the pathways and were able to get surprisingly close to the foxes! It was exciting how close they let us get but I suppose by now humans are just annoying shutter sounds. I actually left my bag down for a bit to take photos of Alex tossing food for the foxes but one got really curious and started nosing the duffle right by my feet! It was cute though, so I can't say I minded much. And though the foxes had so much space, a large majority were lazing about and napping. I can see why there are so many stories about foxes in Japanese history with their expressive faces, adorableness, and sneaky antics.
Another cute thing with sneaky antics is Alex though.
By 1 p.m. we were done with the fox park and took a taxi to the station just before Sendai where we got a super delicious lunch and took the subway to Sendai where we wandered around the city for a few hours. We were able to catch our second half of the round trip bus ticket we bought though! By the time we arrived back to Shinjuku, it was late enough to catch the first trains.


--- layout: post title: Adding new sample users to IBM Connections via Domino Administrator date: 2014-01-02 00:19:29.000000000 +00:00 type: post published: true status: publish categories: - Productivity tags: - domino - ibm connections - linux - ssh - x11 forwarding meta: _edit_last: '1' _syntaxhighlighter_encoded: '1' _oembed_d05665c5d5f7259123cd9ca239602f9e: _oembed_f73e804de016e19adb202d73e0231883: tmac_last_id: '618797330616070144' _oembed_a3ebfd269be2b02dbd7cc9d78785ae5a: _oembed_ce8d62289cd0ec9ff33ddea7bf54cf32: _oembed_03f338cd7d0010cd250789a3a29a7644: _oembed_81977462b7396bbf73ccb242b851d22d: _oembed_a10da1c5be23d0fe7d57a43bd7fdc634: _oembed_b02365cff105eed35b01d543162fc9c9: author: David Simpson excerpt_separator: ---
Some time back I was installing a demo IBM Connections 4.0 system using the instructions at Tutorial - Installing IBM Connections 4.0 on a Linux RHEL 6.3 64 bit system.
At a certain point, I realised that I needed to add some extra users to the system. This blog post shows how to add a new user to Domino and then populate IBM Connections with the new user. This is an example for test purposes only.
This procedure runs through "Task 3: Prepare for use with LDAP" (step 2) in "LESSON 7: Installing a Domino LDAP Directory" and "Task 4: Populate the Profiles Database" in "LESSON 8: Intermediate Steps"
http://www.youtube.com/watch?v=iaenM8U5qZs
In case you didn't realise, "Task 3: Prepare for use with LDAP" requires a separate Windows system running Domino Administrator. Before you can continue, you must get the software and install it on a Windows system.
Carrying out this procedure using Domino Administrator and the Profiles Population Wizard is quite a challenge for the unfamiliar, so I created a video in case I needed to repeat the steps. As an aside, the process is almost identical for IBM Connections 4.5
To break this down a little, here are the basic steps:
On a Windows machine with Domino Administrator installed, add users in the usual manner...
This is quite a long video that someone else did, but is very useful:
http://www.youtube.com/watch?v=ty9DyJ8Bi1Y
On the IBM Connections server:
sudo bash
cd /opt/installs/Wizards
./populationWizard.sh
This will bring up a graphical wizard for you to step through that looks similar to this:
Click through the wizard, it should remember all the settings except passwords from the last time is was run.
If however you have no GUI access to the IBM Connections server, read on...
Add to /etc/ssh/sshd_config:
XForwarding yes
Edit or create ~/.ssh/config and add X11Forwarding:
Host connections.example.com
ForwardX11 yes
Then connect to the remote Linux server via ssh & run the X11 program:
ssh -X<EMAIL_ADDRESS>sudo su -
su - david -c 'xauth list' | \
grep `echo $DISPLAY | \
cut -d ':' -f 2 | \
cut -d '.' -f 1 | \
sed -e s/^/:/` | \
xargs -n 3 xauth add
cd /opt/install/Wizards
./populationWizard.sh
This will result in X11 forwarding from your remote Linux server to your Mac:


Toggle navigation
Angular Spotify Demo
SpotifyApp
Angular
BocaJS
Intellipoint Corp
Spotify
Login
Creating SPA Apps
Let's make some music and make some noise!
GitHub Here


We're sorry but hello-world doesn't work properly without JavaScript enabled. Please enable it to continue.


Hash tables are one of the most frequently used data structures. You’ll use them in your code a lot, so knowing how
and when to use hash tables is important.
Knowing how hash tables work will give you a deeper understanding of why hash tables are used and what they’re good
for. Hash tables are also often used in the solution to interview questions.
Uses of Hashing:
Authentication - Cryptographic hash functions let you log in to a system without storing your password anywhere
vulnerable.
Search - Hashing is useful for indexing large storage spaces, so that you can look things up in them without
reading their entire contents every time. Developers usually do the indexing of big data sets to reduce the time
of processing operations over them.
Programming languages - Hash tables are a convenient way to implement the mechanism that connects a variable’s
name to its memory location. (quora.com)
Objectives
Understand basic hashing algorithms
Know the runtime of hash table operations
Be able to identify problems where hash tables could be used
Be able to write code that uses hash tables to solve problems
Understand how hash tables are implemented and how this implementation leads to the runtime properties
Specific Things to Learn
A hash table is used to store key-value pairs or tuples.
Why is this called a hash table? The hash of the key determines where the value is stored.
All objects in JavaScript are hash tables.
Look-up in a hash table is on average O(1). Worst case look-up is O(n).
Using different hashing algorithms on the keys will affect the hash table’s performance.
The another link for what hash tables are and how to implement them is Basics
of Hash Tables. It contains the code for how different types of hashing can be done by
coding in JS. The apprentices should be able to code different type of hashtables like linear probing,
quadratic probing etc. They can start tutorial where coding begins provided that they know the basics of hashing.
Independent Practice
Coding questions that use hash tables
A person is represented in a JSON string, and the person’s name is specified. Say hello to this
person.
Implement a hash table
Basics: set(), get(), print() Challenge 1: Handle collisions with chaining Challenge 2: Make the table larger when
enough items are added to the table
Challenge
Compare implementations of bucket collisions with a peer. Brainstorm different data structures one can use for
implementing buckets. Code review others’ hash table implementations: Are clear parameter and method names used? Is
the code DRY? Compare hashing algorithm choices with a peer.
Check for Understanding
Explain how a hash table uses hashing.
What is a real-world use case for a hash table? What are the advantages?


/
44.25%
Statements
300/678
21.93%
Branches
50/228
32.09%
Functions
43/134
44.29%
Lines
295/666
File
Statements
Branches
Functions
Lines
lib/
44.25%
300/678
21.93%
50/228
32.09%
43/134
44.29%
295/666


Jeremy Corbyn and Piers Morgan agree on something - you have to register to vote
Millions of young people are still missing from the electoral register - and everyone from Jeremy Corbyn to Piers Morgan is demanding you sign up before the midnight deadline on Tuesday 26 November
by Jason Beattie, https://www.facebook.com/Jason-Beattie-148163672552769/Millions could miss out on the chance to shape the country’s future unless they register to vote – and the majority are young people with 33% of them not signed up.
These young voters could prove key to deciding the outcome of the election.
As many as nine million people in all have yet to register or are registered at the wrong address, the elections watchdog has warned.
Regardless of party loyalty, politicians, TV stars and celebrities called for people to make sure they are on the electoral roll before the November 26 deadline.
Labour leader Jeremy Corbyn said ahead of today’s National Voter Registration Day: “Register to vote. And if you are registered get your friends and family registered too.”
Since the election was called more than two million people have applied for a vote. But the Electoral Commission says between 8.3million and 9.4million people – 17% of the electorate – have not registered or are not registered at their current address.
TV presenter Piers Morgan said: “It is vitally important everyone exercises their right to vote.
X Factor and Love Island’s No Love Lost added: “It’s so important to make your voice heard for the future.”
Comedian Jason Manford said: “This is a great campaign by the Mirror. Register to vote, you only have until November 26. Do it today.”
Operation Black Vote said one in four black and minority ethnic people are not registered – four times higher than the national average. Only 74% of those aged 25-34 are correctly registered, falling to 68% among those aged 20-24 and 66% among those aged 18-19.
By contrast 94% of the over 65s have registered.
Operation Black Vote co-founder, Ashok Viswanathan said: “If we want our politicians to look like us and talk like us, we need to use our voice.”
Craig Westwood of the Electoral Commission said: “It only takes five minutes to register to vote online – time that you might otherwise spend waiting for the kettle to boil or for a gym class to start.”
Electoral Commission figures also reveal that 91% of home owners are registered to vote compared with 58% of people in rental accommodation.
A study by the BBC found non-voters could have changed the result in 551 of the 650 Westminster constituencies if they had taken part in the 2017 election.
This includes Prime Minister Boris Johnson ’s Uxbridge seat where the number of non-voters, 22,798, was more than four times his majority of 5,034.
Darren Hughes of the Electoral Reform Society said the missing millions of voters “makes our democracy unfair and we need to put that right through moving to universal voter registration.”
- Register online at www.gov.uk/register-to-vote.


Joker(12$)
Toy Story 4(9$)
Parasite(17$)
The Lion King(5$)
You have selected
0
seats for a price of
0$


SliceWrapper¶
-
class
fannypack.utils.
SliceWrapper
(data: WrappedType)¶ A thin wrapper class for creating a unified interface for…
Lists
Tuples
Torch tensors
Numpy arrays
Dictionaries containing a same-length group of any of the above
This is primarily to make it easier to read, slice, and index into aligned blocks of time-series data organized as dictionaries, but we also expose an interface for calling
append
andextend
on wrapped lists.-
append
(other: Any) → None¶ Append to the end of our data object.
Only supported for wrapped lists and dictionaries containing lists.
For wrapped lists, this is equivalent to
data.append(other)
.For dictionaries,
other
should be a dictionary. Behavior example…# Data before append {"a": [1, 2, 3, 4], "b": [5, 6, 7, 8]} # Value of other {"a": 5, "b": 3} # Data after append {"a": [1, 2, 3, 4, 5], "b": [5, 6, 7, 8, 3]}
- Parameters
other (Any) – Object to append.
-
data
: WrappedType = None¶ Wrapped data.
- Type
list, tuple, torch.Tensor, np.ndarray, or dict
-
extend
(other: WrappedType) → None¶ Extend to the end of our data object.
Only supported for wrapped lists and dictionaries containing lists.
For wrapped lists, this is equivalent to
data.extend(other)
.For dictionaries,
other
should be a dictionary. Behavior example…# Data before extend {"a": [1, 2, 3, 4], "b": [5, 6, 7, 8]} # Value of other {"a": [5], "b": [3]} # Data after extend {"a": [1, 2, 3, 4, 5], "b": [5, 6, 7, 8, 3]}
- Parameters
other (dict or list) – Object to append.
-
map
(function: Callable[[Any], MapOutputType]) → Union[MapOutputType, Dict[Any, MapOutputType]]¶ Apply a function to all iterables within our wrapped data object.
For iterables that are directly wrapped (eg lists), this is equivalent to evaluating:
slice_wrapper: SliceWrapper[List] function(slice_wrapper.data)
For dictionaries,
function
is applied value-wise. Thus, an input of…SliceWrapper({ "a": [1, 2, 3], "b": [2, 4, 5], })
would return…
{ "a": function([1, 2, 3]), "b": function([2, 4, 5]), }
- Parameters
function (Callable) – Function to map.
-
property
shape
¶ Unified interface for polling the shape of our wrapped object.
For lists and tuples, this evaluates to
(len(data),)
.For Numpy arrays and torch tensors, we get
data.shape
.For dictionaries, we return a tuple containing all shared dimensions between our wrapped values, starting from the leftmost dimension.
Args:
- Returns
Tuple[int, …]


K-CAP'2003: Organizing Committee
Conference Co-Chairs
John Gennari, University of Washington
Bruce Porter, University of Texas at Austin
General Chair
Yolanda Gil, USC/Information Sciences Institute
Treasurer
Peter Clark, Boeing
Local Arrangements
Jeff Bradshaw, University of West Florida
Registration Chair
Rob Kremer, University of Calgary
Workshop Chair
John Domingue, Open University
Steering Committee
Mark Musen, Stanford University
Derek Sleeman, University of Aberdeen
Jude Shavlik, University of Wisconsin at Madison
Ken Forbus, Northwestern University
Program Committee
Ken Barker, University of Texas
Larry Birnbaum, Northwestern University
Jim Blythe, USC/ISI
B. Chandrasekaran, Ohio State University
Vinay Chaudhri , SRI, International
Paul Compton, The University of New South Wales
Marie desJardins, University of Maryland, Baltimore County
Rose Dieng-Kuntz, Inria, France
Adam Farquhar, Schlumberger
George Ferguson, University of Rochester
Richard Fikes, Stanford University
Udo Hahn, Universitat Freiburg
Rob Holte, University of Alberta
Eric Horvitz, Microsoft Research
Anthony Jameson, International University, Germany
Henry Kautz , University of Washington
Wendy Lehnert, University of Mass
Daniel Marcu, USC/ISI
Vibhu Mittall, Google
Enrico Motta, The Open University
Tom Murray, Hampshire College
Karen Myers, SRI, International
Natasha Noy, Stanford University
Mike Pazzani, National Science Foundation
Alan Rector, University of Manchester
Ellen Riloff, University of Utah
Guus Schreiber, University of Amsterdam
Nigel Shadbolt, University of Southampton
Richard Sproat, AT&T Labs
Rudy Studer, University of Karlsruhe
Christopher Welty, IBM Research
Qiang Yang, Hong Kong University


>
Things Mozillians do
- Firefox, the web browser!
- A bunch of building machines (in the cloud and bare metal), signing servers, testing servers, ...
- Encrypted storage of user's history, passwords, etc. via Firefox Accounts.
- Thimble, Internet Health Report, Rust, Servo, WebVR, add-ons, it goes on and on.
- Most things we do are open, public, and we invite everyone to participate. Even for security!
- 1200-300 people world-wide, remote and in offices
- ~50 security engineers in different teams
- Product Security, Services Security, Enterprise Information Security (that's us!), ...
Different security teams
- Product security (they write, review Firefox code)
- Service security (they secure specific web services)
- Enterprise Information Security (we do incident response, risk analysis, pen-tests, ...)
- Security is also everyone's job
What does a security incident look like?
>
- Most common: credential leaks ("oops published this online"), phishing
- Most dangerous: data leaked/modified through compromise
_
Incident *Response*
- Powerful tooling
- We write tools that capture program execution
- We write tools that let us query system state ("did you see this IP address?") simultaneously
- We look at network packets
- We automatically log, alert, and make data available ("big data")
- Speed and agility
- Plan ahead!
- Stay informed
Challenges in day to day work
- Security is a process
- Assess risk, re-assess risk...
- Integrate checks in the life-cycle
- You're never done
- Risk perception does not come naturally
- Are you afraid to travel in a plane?
- It's about how bad it can get, when it'll happen (not if)
_
Some security principles
- Be curious!
- Keep it simple ... safe ("KISS")
- Always think in terms of: data in, data out
- Compartimentalize data, etc. and only grant access on a need-to-know basis
_
Our career path
Michal
- I'm also an entrepreneur! (Founded Nuclear Security)
- Help build a datacenter
- Did kernel development for security products
- More of an operations person than a coder
Guillaume
- Studied electronics, then later computer sciences
- Started with a security job in France
- Did kernel development for security products
- More of a coder than an operation person
- Resume!


Simple Interest Calculator
Amount
Interest Rate
No. of Years
Compute Interest
© Everyone Can Get Rich


--- layout: post title: Athletic Footwear and Running Injuries date: 2008-10-16 17:15:28.000000000 +01:00 tags: - links - shoes - article - research type: post published: true ---
A good article on the correlation of running injuries and the super-dooper high tech shoes on the market.
Athletic Footwear and Running Injuries
Everything you and I always believed about running shoes and running injuries may be wrong! Here's the scoop: The modern running shoe itself may be the major cause of running injuries! Stated another way, the modern running shoe, presently thought of a protective device, should be reclassified as a "health hazard".
It's a couple of years old, but still some useful and valid information here.


About Geo-search
Geo-search is the Capstone Project for #DevCTrainingWithAndela. It is an app that allows user to use basic feature on a Map such as search for the location of a place, view the Weather condition of a place and convert temperature between Celcius and Fahrenheit measurement. Users will be able to share these information on facebook.


_g.crop is a javascript script built to render an image cropping tool and return the necessary values for a server or image library to create a cropped version of the image. the script was originally designed for Graphene and therefore uses the conventions for related _g scripts.
the first step in setting up the crop tool is to include the library in the html file. the source file can be downloaded here and put on a cdn or use the following script tag to include it directly from phene.co:

the second step in setting up the crop tool is creating an element for the tool to be housed in. whatever element you pass to the tool will be treated as the base of the tool, being filled with all the necessary elements to render the interface. here's a basic example:

_g.crop is a class included in the Graphene
or _g
object.
it can be accessed with either _g.crop
or _g.x
.
in all instances _g
can be replaced with Graphene
for improved readability.
calling the script is done in the following form:
var element = document.getElementById('crop'),
image = "http://example.com/image.png",
kind = 'cut',
options = {},
crop = new _g.crop(element, image, kind, options);
currently, there are two kinds of crop tools able to be rendered: cut and frame. cut allows the user to specify a region of the image to be cropped to. here is an example of the cut kind:
frame defines a frame to crop down to and the user moves the image around within it. when creating a frame, you must define the size of the frame:
var options = {
frame : {
width : 500,
height : 500
}
}
it is recommended that either the force_width
or force_height
options be used with frames.
force_width
resizes the image to be with width of the set frame, only allowing the user to adjust the image vertically.
force_height
does the same with height, only allowing horizontal movement.
here is an example of force_width
:
the cut kind was originally developed for use as a way to crop images for user avatars. as such, many of its options are centered around usability in this situation. they are not limited to this, however. here is a list of all the built-in options for the cut kind:
| option: | value: | description: |
| extra_handles | boolean | toggle cardinal handles (no effect when square:true) |
| handle_width | number | width of resize handles |
| handle_color | string | color of resize handles |
| handle_border | boolean | toggles borders on resize handles |
| handle_border_width | number | width of borders on resize handles |
| handle_border_color | string | color of borders on resize handles |
| minimum | number | minimum width and/or height of crop |
| shade | string | color of unselected area |
| square | boolean | toggles square selection |
| preset | object | an object containing preset values {left,top,width,height} to crop when the tool is loaded |
the majority of the options are regarding the style of the tool.
this is to provide the most customizability possible to allow the crop tool to fit in seamlessly with any desgin.
the size of the cut tool will be that of the loaded image by default, but this can be adjusted with css on the target element (this must be done in the form of XXpx
for the script to pick up on it).
here is an example of creating a square crop utilizing several of the available options:
var options = {
handle_color : "rgba(0,0,0,0)",
handle_border : true,
handle_border_width : 1,
handle_border_color : "#555",
shade : "rgba(255,255,255,0.7)",
square : true,
preset : {
left : 200,
width : 110,
top : 110,
height : 110
}
}
these options will produce a tool like this one:
the goal of this cropping script is not to create new cropped version of images.
it is a light-weight script whose main purpose is to render an interface, however, the developer can easily access the properties of the cropping.
how the data is used is purely left up to the developer.
there are three ways to access the information of the crop tool: the getValues()
function, directly reading the object, or with events (which will be covered later).
it is recommended that the getValues()
function be used to access the tool's data.
there are various reasons for this, most importantly being the ease of access.
here is an example of the return from this function:
crop.getValues() == {
left : 200,
width : 110,
top : 110,
height : 110
}
the crop tool itself can be accessed to get these values.
this is tyically not recommended as it may mislead the developer to believe the tool can be altered by altering this object.
nontheless, the same object returned by getValues()
can be found by the values
property of the tool's object.
these are updated differently and may at some points return differing values, however, this should not be the case when the tool is in a standby state.
when the tool is rendered, several event listeners are added to the page that assume the existence of the tool. if the developer chooses to remove the tool without reloading the page, this would cause errors to be thrown constantly which could lag the web page. as such, there is a built in function to stop these listeners:
crop.stop()
the cut kind was also written to be especially useful in instances of active content, the stop()
being the first example of this.
the other significant function that shows this is the cropTo()
function, which allows the developer to manipulate the tool without reloading it.
this function will return false if the argument is not a single object of values such as those that getValues()
returns.
crop.cropTo({
left : 200,
width : 110,
top : 110,
height : 110
});
events are fired using the custom event api in javascript, and therefore may not be compatible with internet explorer (though edge should be fine). they are fired on the crop tool's element, so listeners should be added to that. here is a list of these events:
| event: | fired when: |
| crop | a crop action is finished |
| set | a new crop selection is set |
| resize | a crop selection is resized |
| move | a crop selection is moved |
each event returns the same generic information, which can be gathered as data from the tool. along with a reference to the tool object, the left, width, top, and height values are returned for convenience. an example usage of these events would be to have one tool crop an image in the same way as another tool does. this could be done as such:
crop1.elem.addEventListener('crop',function(e){
crop2.cropTo(e.detail);
});
crop2.elem.addEventListener('crop',function(e){
crop1.cropTo(e.detail);
});
assuming crop1
and crop1
are both crop tools, this should turn out like this:
there is currently no event that is fired during the movement of cutting of a crop. this may be added in the future, but may be costly when it comes to efficiency.
the frame kind was developed for editing cover photos, something for which the user would be given an already defined frame that the image would be moved around within. as the focus of the script was the cut kind originaly, there are not as many options available for the frame as the cut kind.
| option: | value: | description: |
| frame | object | the size of the frame to crop the image in; {width,height} |
| bleed | boolean | toggles showing bled image |
| bleed_width | number | max width of bleed (infinite when not set) |
| bleed_opacity | number | opacity of bled image |
| force_width | boolean | resizes the image to the width of the frame |
| force_height | boolean | resizes the image to the height of the frame; overridden if force_width is true |
as there are no handles or shades to render, there are significantly fewer design options for the frame kind. the bleed option, however, is considered a design option. this option toggles the visibility of a bled image, that is, being able to see more of the image than what is within the frame. here are some sample options for the frame kind:
var options = {
frame : {
width : 300,
height : 300
},
bleed : true,
bleed_width : 100
}
these options would produce a tool such as this:
scripts . phene.co


This part wont move..come what may!!!!
Drag me to Next level...
And, Next level is where you drag me


Remko van der Lugt
"The relevant functions of sketching found in theory are: 1) supporting
a re-interpretive cycle in the individual thinking process, 2) supporting re-
interpretation of each other’s ideas in group activity, and 3) enhancing
access to earlier ideas."
"Design thinking researchers regard this activity of
sketching as a means to spur creative thought."
"The interaction that designers have with their sketches is seen as essential to creativity in
design activity"
"In his book ‘Engineering and the mind’s eye’, Ferguson (1992) identifies
three kinds of sketches, which may be useful for identifying the role of
sketches in creative design groups: the
thinking sketch,
the
talking
sketch,
and the
prescriptive sketch
...Thinking sketchesrefer to the
designers making use of the drawing surface in support of their
individual thinking processes...‘to focus and guide nonverbal thinking’ (p. 97).Talking sketchesrefer to designers making use of the (shared) drawing surface in
support of the group discussion." [my emphasis]
"We will refer to this category of
sketches as ‘
storing sketches
’: Storing sketches refer to the designers
using the drawing surface to archive design ideas for their own future
reference.
Storing sketches
have much in common with
prescriptive
sketches
. They both freeze, rather than develop, design ideas. However,
the purpose of these two types of sketches is quite different. The storing
sketch is intended for retaining information, whereas the prescriptive
sketch is intended for communicating information."
"Various researchers propose...cyclical models of re-interpretation, each with a slightly different connotation, ranging
from a dialectic type of argumentation between seeing-as and seeing-that
(Goldschmidt, 1991), interactive conversations with the paper on which
the designer draws (Schon and Wiggins, 1992) and movement from
description to depiction (Fish and Scrivener, 1990). In order to provide
a general understanding of this re-interpretative process, these various
perspectives will be described briefly"


| Name: |
{{order?.address.name}} |
| C/O: |
{{order?.address.co}} |
| House, Flat, Building Name /No: |
{{order?.address.house_no}} |
| Address Line 2: |
{{order?.address.line2}} |
| Locality / Village: |
{{order?.address.locality}} |
| City/Town/ Village: |
{{order?.address.city}} |
| District: |
{{order?.address.district}} |
| State: |
{{order?.address.state}} |
| Landmark: |
{{order?.address.landmark}} |
| Pin Code: |
{{order?.address.pin}} |
| Nearest Post Office: |
{{order?.address.post_office}} |
| Contact No. : |
{{order?.address.contact_no}} |
| Alternative No. : |
{{order?.address.alternate_no}} |


Lirycs
Dashboard
Play a Game
Store
Leaderboards
Logout
Buy Dad Joke
Buy Dad Joke! - 100 credits
<%= dadJoke %>


Register
First Name:
Last Name:
Male
Female
Other
Email
Password
Birthday:
Month
January
February
March
April
May
June
July
August
September
October
November
December
Day
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
10th
11th
12th
13th
14th
15th
16th
17th
18th
19th
20th
21st
22nd
23rd
24th
25th
26th
27th
28th
29th
30th
31st
Year
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
I agree to the terms and conditions
Submit