XDOTOOL(1) XDOTOOL(1) NAME xdotool - command-line X11 automation tool SYNOPSIS xdotool cmd args... Notation: Some documentation uses [window] to denote an optional window argument. This case means that the argument, if not present, will default to "%1". See "WINDOW STACK" for what "%1" means. DESCRIPTION xdotool lets you programatically (or manually) simulate keyboard input and mouse activity, move and resize windows, etc. It does this using X11's XTEST extension and other Xlib functions. There is some support for Extended Window Manager Hints (aka EWMH or NetWM). See the "EXTENDED WINDOW MANAGER HINTS" section for more information. KEYBOARD COMMANDS key [options] keystroke [keystroke ...] Options: --window window Send keystrokes to a specific window id. You can use "WINDOW STACK" references like "%1" and "%@" here. If there is a window stack, then "%1" is the default, otherwise the current window is used. See also: "SENDEVENT NOTES" and "WINDOW STACK" --clearmodifiers Clear modifiers before sending keystrokes. See CLEARMODIFIERS below. --delay milliseconds Delay between keystrokes. Default is 12ms. Type a given keystroke. Examples being "alt+r", "Control_L+J", "ctrl+alt+n", "BackSpace". Generally, any valid X Keysym string will work. Multiple keys are separated by '+'. Aliases exist for "alt", "ctrl", "shift", "super", and "meta" which all map to Foo_L, such as Alt_L and Control_L, etc. In cases where your keyboard doesn't actually have the key you want to type, xdotool will automatically find an unused keycode and use that to type the key. With respect to "COMMAND CHAINING", this command consumes the remainder of the arguments or until a new xdotool command is seen, because no xdotool commands are valid keystrokes. Example: Send the keystroke "F2" xdotool key F2 Example: Send 'a' with an accent over it (not on english keyboards, but still works with xdotool) xdotool key Aacute Example: Send ctrl+l and then BackSpace as separate keystrokes: xdotool key ctrl+l BackSpace Example: Send ctrl+c to all windows matching title 'gdb' (See "COMMAND CHAINING") xdotool search --name gdb key ctrl+c keydown [options] keystroke Same as above, except only keydown (press) events are sent. keyup keystroke Same as above, except only keyup (release) events are sent. type [options] something to type Options: --window windowid Send keystrokes to a specific window id. See "SENDEVENT NOTES" below. The default, if no window is given, depends on the window stack. If the window stack is empty the current window is typed at using XTEST. Otherwise, the default is "%1" (see "WINDOW STACK"). --delay milliseconds Delay between keystrokes. Default is 12ms. --clearmodifiers Clear modifiers before sending keystrokes. See CLEARMODIFIERS below. Types as if you had typed it. Supports newlines and tabs (ASCII newline and tab). Each keystroke is separated by a delay given by the --delay option. With respect to "COMMAND CHAINING", this command consumes the remainder of the arguments and types them. That is, no commands can chain after 'type'. Example: to type 'Hello world!' you would do: xdotool type 'Hello world!' MOUSE COMMANDS mousemove [options] x y OR 'restore' Move the mouse to the specific X and Y coordinates on the screen. You can move the mouse to the previous location if you specify 'restore' instead of an X and Y coordinate. Restoring only works if you have moved previously in this same command invocation. Further, it does not work with the --window option. For example, to click the top-left corner of the screen and move the mouse to the original position before you moved it, use this: xdotool mousemove 0 0 click 1 mousemove restore --window WINDOW Specify a window to move relative to. Coordinates 0,0 are at the top left of the window you choose. "WINDOW STACK" references are valid here, such as %1 and<EMAIL_ADDRESS>Though, using %@ probably doesn't make sense. --screen SCREEN Move the mouse to the specified screen to move to. This is only useful if you have multiple screens and ARE NOT using Xinerama. The default is the current screen. If you specify --window, the --screen flag is ignored. --polar Use polar coordinates. This makes 'x' an angle (in degrees, 0-360, etc) and 'y' the distance. Rotation starts at 'up' (0 degrees) and rotates clockwise: 90 = right, 180 = down, 270 = left. The origin defaults to the center of the current screen. If you specify a --window, then the origin is the center of that window. --clearmodifiers See CLEARMODIFIERS --sync After sending the mouse move request, wait until the mouse is actually moved. If no movement is necessary, we will not wait. This is useful for scripts that depend on actions being completed before moving on. Note: We wait until the mouse moves at all, not necessarily that it actually reaches your intended destination. Some applications lock the mouse cursor to certain regions of the screen, so waiting for any movement is better in the general case than waiting for a specific target. mousemove_relative [options] x y Move the mouse x,y pixels relative to the current position of the mouse cursor. --polar Use polar coordinates. This makes 'x' an angle (in degrees, 0-360, etc) and 'y' the distance. Rotation starts at 'up' (0 degrees) and rotates clockwise: 90 = right, 180 = down, 270 = left. --sync After sending the mouse move request, wait until the mouse is actually moved. If no movement is necessary, we will not wait. This is useful for scripts that depend on actions being completed before moving on. Note that we wait until the mouse moves at all, not necessarily that it actually reaches your intended destination. Some applications lock the mouse cursor to certain regions of the screen, so waiting for any movement is better in the general case than waiting for a specific target. --clearmodifiers See CLEARMODIFIERS click [options] button Send a click, that is, a mousedown followed by mouseup for the given button with a short delay between the two (currently 12ms). Buttons generally map this way: Left mouse is 1, middle is 2, right is 3, wheel up is 4, wheel down is 5. --clearmodifiers Clear modifiers before clicking. See CLEARMODIFIERS below. --repeat REPEAT Specify how many times to click. Default is 1. For a double- click, use '--repeat 2' --delay MILLISECONDS Specify how long, in milliseconds, to delay between clicks. This option is not used if the --repeat flag is set to 1 (default). --window WINDOW Specify a window to send a click to. See "SENDEVENT NOTES" below for caveats. Uses the current mouse position when generating the event. The default, if no window is given, depends on the window stack. If the window stack is empty the current window is typed at using XTEST. Otherwise, the default is "%1" (see "WINDOW STACK"). mousedown [options] button Same as click, except only a mouse down is sent. mouseup [options] button Same as click, except only a mouse up is sent. getmouselocation [--shell] Outputs the x, y, screen, and window id of the mouse cursor. Screen numbers will be nonzero if you have multiple monitors and are not using Xinerama. --shell This makes getmouselocation output shell data you can eval. Example: % xdotool getmouselocation --shell X=880 Y=443 SCREEN=0 WINDOW=16777250 % eval $(xdotool getmouselocation --shell) % echo $X,$Y 714,324 behave_screen_edge [options] where command ... Bind an action to events when the mouse hits the screen edge or corner. Options are: --delay MILLISECONDS Delay in milliseconds before running the command. This allows you to require a given edge or corner to be held for a short period before your command will run. If you leave the edge or corner before the delay expires then the time will reset. --quiesce MILLISECONDS Delay in milliseconds before the next command will run. This helps prevent accidentally running your command extra times; especially useful if you have a very short --delay (like the default of 0). Event timeline * Mouse hits an edge or corner. * If delay is nonzero, the mouse must stay in this edge or corner until delay time expires. * If still in the edge/corner, trigger. * If quiesce is nonzero, then there is a cool-down period where the next trigger cannot occur Valid 'where' values are: left top-left top top-right right bottom-left bottom bottom-right Examples: # Activate google-chrome when you move the mouse to the bottom-left corner: xdotool behave_screen_edge bottom-left \ search --class google-chrome windowactivate # Go to the next workspace (right). Known to work in GNOME (metacity and compiz) xdotool behave_screen_edge --delay 500 bottom-right key XF86Forward # Activate firefox and do a web search in a new tab for text in your clipboard xdotool behave_screen_edge --delay 1000 top-left \ search --classname Navigator \ windowactivate --sync key --delay 250 ctrl+t ctrl+k ctrl+v Return WINDOW COMMANDS search [options] pattern Search for windows with titles, names, or classes with a regular expression pattern. The output is line-delimited list of X window identifiers. If you are using "COMMAND CHAINING", the search command will only write window ids to stdout if it is the last (or only) command in the chain; otherwise, it is silent. The result is saved to the window stack for future chained commands. See "WINDOW STACK" and "COMMAND CHAINING" for details. The default options are "--name --class --classname" (unless you specify one one or more of --name --class or --classname). The options available are: --class Match against the window class. --classname Match against the window classname. --maxdepth N Set recursion/child search depth. Default is -1, meaning infinite. 0 means no depth, only root windows will be searched. If you only want toplevel windows, set maxdepth of 1 (or 2, depending on how your window manager does decorations). --name Match against the window name. This is the same string that is displayed in the window titlebar. --onlyvisible Show only visible windows in the results. This means ones with map state IsViewable. --pid PID Match windows that belong to a specific process id. This may not work for some X applications that do not set this metadata on its windows. --screen N Select windows only on a specific screen. Default is to search all screens. Only meaningful if you have multiple displays and are not using Xinerama. --desktop N Only match windows on a certain desktop. 'N' is a number. The default is to search all desktops. --limit N Stop searching after finding N matching windows. Specifying a limit will help speed up your search if you only want a few results. The default is no search limit (which is equivalent to '--limit 0') --title DEPRECATED. See --name. --all Require that all conditions be met. For example: xdotool search --all --pid 1424 --name "Hello World" This will match only windows that have "Hello World" as a name and are owned by pid 1424. --any Match windows that match any condition (logically, 'or'). This is on by default. For example: xdotool search --any --pid 1424 --name "Hello World" This will match any windows owned by pid 1424 or windows with name "Hello World" --sync Block until there are results. This is useful when you are launching an application want want to wait until the application window is visible. For example: google-chrome & xdotool search --sync --onlyvisible --class "google-chrome" selectwindow Get the window id (for a client) by clicking on it. Useful for having scripts query you humans for what window to act on. For example, killing a window by clicking on it: xdotool selectwindow windowkill behave window action command ... Bind an action to an event on a window. This lets you run additional xdotool commands whenever a matched event occurs. The command run as a result of the behavior is run with %1 being the window that was acted upon. Examples follow after the event list. The following are valid events: mouse-enter Fires when the mouse enters a window. This is similar to 'mouse over' events in javascript, if that helps. mouse-leave Fires when the mouse leaves a window. This is the opposite of 'mouse-enter' mouse-click Fires when the mouse is clicked. Specifically, when the mouse button is released. focus Fires when the window gets input focus. blur Fires when the window loses focus. Examples: # Print the cursor location whenever the mouse enters a currently-visible # window: xdotool search --onlyvisible . behave %@ mouse-enter getmouselocation # Print the window title and pid whenever an xterm gets focus xdotool search --class xterm behave %@ focus getwindowname getwindowpid # Emulate focus-follows-mouse xdotool search . behave %@ mouse-enter windowfocus getwindowpid [window] Output the PID owning a given window. This requires effort from the application owning a window and may not work for all windows. This uses _NET_WM_PID property of the window. See "EXTENDED WINDOW MANAGER HINTS" below for more information. If no window is given, the default is '%1'. If no windows are on the stack, then this is an error. See "WINDOW STACK" for more details. Example: Find the PID for all xterms: xdotool search --class xterm getwindowpid %@ getwindowname [window] Output the name of a given window, also known as the title. This is the text displayed in the window's titlebar by your window manager. If no window is given, the default is '%1'. If no windows are on the stack, then this is an error. See "WINDOW STACK" for more details. getwindowgeometry [options] [window] Output the geometry (location and position) of a window. The values include: x, y, width, height, and screen number. --shell Output values suitable for 'eval' in a shell. getwindowfocus [-f] Prints the window id of the currently focused window. Saves the result to the window stack. See "WINDOW STACK" for more details. If the current window has no WM_CLASS property, we assume it is not a normal top-level window and traverse up the parents until we find a window with a WM_CLASS set and return that window id. If you really want the window currently having focus and don't care if it has a WM_CLASS setting, then use 'getwindowfocus -f' windowsize [options] [window] width height Set the window size of the given window. If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. Percentages are valid for width and height. They are relative to the geometry of the screen the window is on. For example, to make a window the full width of the screen, but half height: xdotool windowsize I<window> 100% 50% Percentages are valid with --usehints and still mean pixel-width relative to the screen size. The options available are: --usehints Use window sizing hints (when available) to set width and height. This is useful on terminals for setting the size based on row/column of text rather than pixels. --sync After sending the window size request, wait until the window is actually resized. If no change is necessary, we will not wait. This is useful for scripts that depend on actions being completed before moving on. Note: Because many window managers may ignore or alter the original resize request, we will wait until the size changes from its original size, not necessary to the requested size. Example: To set a terminal to be 80x24 characters, you would use: xdotool windowsize --usehints some_windowid 80 24 windowmove [options] [window] x y Move the window to the given position. If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. If the given x coordinate is literally 'x', then the window's current x position will be unchanged. The same applies for 'y'. Examples: xdotool getactivewindow windowmove 100 100 # Moves to 100,100 xdotool getactivewindow windowmove x 100 # Moves to x,100 xdotool getactivewindow windowmove 100 y # Moves to 100,y xdotool getactivewindow windowmove 100 y # Moves to 100,y --sync After sending the window move request, wait until the window is actually moved. If no movement is necessary, we will not wait. This is useful for scripts that depend on actions being completed before moving on. --relative Make movement relative to the current window position. windowfocus [options] [window] Focus a window. If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. Uses XSetInputFocus which may be ignored by some window managers or programs. --sync After sending the window focus request, wait until the window is actually focused. This is useful for scripts that depend on actions being completed before moving on. windowmap [options] [window] Map a window. In X11 terminology, mapping a window means making it visible on the screen. If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. --sync After requesting the window map, wait until the window is actually mapped (visible). This is useful for scripts that depend on actions being completed before moving on. windowminimize [options] [window] Minimize a window. In X11 terminology, this is called 'iconify.' If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. --sync After requesting the window minimize, wait until the window is actually minimized. This is useful for scripts that depend on actions being completed before moving on. windowraise [window_id=%1] Raise the window to the top of the stack. This may not work on all window managers. If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. windowreparent [source_window] destination_window Reparent a window. This moves the source_window to be a child window of destination_window. If no source is given, %1 is the default. "WINDOW STACK" window references (like %1) are valid for both source_window and destination_window See "WINDOW STACK" and "COMMAND CHAINING" for more details. windowkill [window] Kill a window.  If no window is given, %1 is the default. See WINDOW STACK and "COMMAND CHAINING" for more details. windowunmap [options] [window_id=%1] Unmap a window, making it no longer appear on your screen. If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. --sync After requesting the window unmap, wait until the window is actually unmapped (hidden). This is useful for scripts that depend on actions being completed before moving on. set_window [options] [windowid=%1] Set properties about a window. If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. Options: --name newname Set window WM_NAME (the window title, usually) --icon-name newiconname Set window WM_ICON_NAME (the window title when minimized, usually) --role newrole Set window WM_WINDOW_ROLE --classname newclassname Set window class name (not to be confused with window class) --class newclass Set window class (not to be confused with window class name) --overrideredirect value Set window's override_redirect value. This value is a hint to the window manager for whether or not it should be managed. If the redirect value is 0, then the window manager will draw borders and treat this window normally. If the value is 1, the window manager will ignore this window. If you change this value, your window manager may not notice the change until the window is mapped again, so you may want to issue 'windowunmap' and 'windowmap' to make the window manager take note. DESKTOP AND WINDOW COMMANDS These commands follow the EWMH standard. See the section "EXTENDED WINDOW MANAGER HINTS" for more information. windowactivate [options] [window] Activate the window. This command is different from windowfocus: if the window is on another desktop, we will switch to that desktop. It also uses a different method for bringing the window up. I recommend trying this command before using windowfocus, as it will work on more window managers. If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. --sync After sending the window activation, wait until the window is actually activated. This is useful for scripts that depend on actions being completed before moving on. getactivewindow Output the current active window. This command is often more reliable than getwindowfocus. The result is saved to the window stack. See "WINDOW STACK" for more details. set_num_desktops number Changes the number of desktops or workspaces. get_num_desktops Output the current number of desktops. get_desktop_viewport [--shell] Report the current viewport's position. If --shell is given, the output is friendly to shell eval. Viewports are sometimes used instead of 'virtual desktops' on some window managers. A viewport is simply a view on a very large desktop area. set_desktop_viewport x y Move the viewport to the given position. Not all requests will be obeyed - some windowmangers only obey requests that align to workspace boundaries, such as the screen size. For example, if your screen is 1280x800, you can move to the 2nd workspace by doing: xdotool set_desktop_viewport 1280 0 set_desktop [options] desktop_number Change the current view to the specified desktop. --relative Use relative movements instead of absolute. This lets you move relative to the current desktop. get_desktop Output the current desktop in view. set_desktop_for_window [window] desktop_number Move a window to a different desktop. If no window is given, %1 is the default. See "WINDOW STACK" and "COMMAND CHAINING" for more details. get_desktop_for_window [window] Output the desktop currently containing the given window. Move a window to a different desktop. If no window is given, %1 is the default. See WINDOW STACK and "COMMAND CHAINING" for more details. MISCELLANEOUS COMMANDS exec [options] command [...] Execute a program. This is often useful when combined with behave_screen_edge to do things like locking your screen. Options: --sync Block until the child process exits. The child process exit status is then passed to the parent process (xdotool) which copies it. Examples: # Lock the screen when the mouse sits in the top-right corner xdotool behave_screen_edge --delay 1000 top-right \ exec gnome-screensaver-command --lock # Substitute 'xscreensaver-command -lock' if you use that program. # The following will fail to move the mouse because we use '--sync' and # /bin/false exits nonzero: xdotool exec --sync /bin/false mousemove 0 0 # This succeeds, though, since we do not use --sync on the exec command. xdotool exec /bin/false mousemove 0 0 sleep seconds Sleep for a specified period. Fractions of seconds (like 1.3, or 0.4) are valid, here. SCRIPTS xdotool can read a list of commands via stdin or a file if you want. A script will fail when any command fails. Truthfully, 'script' mode isn't fully fleshed out and may fall below your expectations. If you have suggestions, please email the list or file a bug (See CONTACT). Scripts can use positional arguments (Represented by $1, $2, ...) and environment variables (like $HOME or $WINDOWID). Quoting arguments should work as expected. Scripts are processed for parameter and environment variable expansion and then run as if you had invoked xdotool with the entire script on one line (using COMMAND CHAINING). · Read commands from a file: xdotool filename · Read commands from stdin: xdotool - · Read commands from a redirected file xdotool - < myfile You can also write scripts that only execute xdotool. Example: #!/usr/local/bin/xdotool search --onlyvisible --classname $1 windowsize %@ $2 $3 windowraise %@ windowmove %1 0 0 windowmove %2 $2 0 windowmove %3 0 $3 windowmove %4 $2 $3 This script will take all windows matched by the classname query given by arg1 ($1) and sizes/moves them into a 2x2 grid with windows sized by the 2nd and 3rd parameters. Here's an example usage: % ./myscript xterm 600 400 Running it like this will take 4 visible xterms, raise them, and move them into a 2x2 tile grid with each window 600x400 pixels in size. CLEARMODIFIERS Any command taking the --clearmodifiers flag will attempt to clear any active input modifiers during the command and restore them afterwards. For example, if you were to run this command: xdotool key a The result would be 'a' or 'A' depending on whether or not you were holding the shift key on your keyboard. Often it is undesirable to have any modifiers active, so you can tell xdotool to clear any active modifiers. The order of operations if you hold shift while running 'xdotool key --clearmodifiers a' is this: 1. Query for all active modifiers (finds shift, in this case) 2. Try to clear shift by sending 'key up' for the shift key 3. Runs normal 'xdotool key a' 4. Restore shift key by sending 'key down' for shift The --clearmodifiers flag can currently clear of the following: · any key in your active keymap that has a modifier associated with it. (See xmodmap(1)'s 'xmodmap -pm' output) · mouse buttons (1, 2, 3, 4, and 5) · caps lock SENDEVENT NOTES If you are trying to send key input to a specific window, and it does not appear to be working, then it's likely your application is ignoring the events xdotool is generating. This is fairly common. Sending keystrokes to a specific window uses a different API than simply typing to the active window. If you specify 'xdotool type --window 12345 hello' xdotool will generate key events and send them directly to window 12345. However, X11 servers will set a special flag on all events generated in this way (see XEvent.xany.send_event in X11's manual). Many programs observe this flag and reject these events. It is important to note that for key and mouse events, we only use XSendEvent when a specific window is targeted. Otherwise, we use XTEST. Some programs can be configured to accept events even if they are generated by xdotool. Seek the documentation of your application for help. Specific application notes (from the author's testing): * Firefox 3 seems to ignore all input when it does not have focus. * xterm can be configured while running with ctrl+leftclick, 'Allow SendEvents' * gnome- terminal appears to accept generated input by default. WINDOW STACK Certain commands (search, getactivewindow, getwindowfocus) will find windows for you. These results generally printed to stdout, but they are also saved to memory for future use during the lifetime of the xdotool process. See "COMMAND CHAINING" for more information. The only modifications support for the window stack are to replace it. That is, two of two sequential searches, only the last one's results will be the window stack. COMMAND CHAINING xdotool supports running multiple commands on a single invocation. Generally, you'll start with a search command (see "WINDOW STACK") and then perform a set of actions on those results. To query the window stack, you can use special notation "%N" where N is a number or the '@' symbol. If %N is given, the Nth window will be selected from the window stack. Generally you will only want the first window or all windows. Note that the order of windows in the window stack corresponds to the window stacking order, i.e. the bottom-most window will be reported first (see XQueryTree(3)). Thus the order of the windows in the window stack may not be consistent across invocations. The notation described above is used as the "window" argument for any given command. For example, to resize all xterms to 80x24: xdotool search --class xterm -- windowsize --usehints %@ 80 24 Resize move the current window: xdotool getactivewindow windowmove 0 0 In all cases, the default window argument, if omitted, will default to "%1". It is obviously an error if you omit the window argument and the window stack is empty. If you try to use the window stack and it is empty, it is also an error. To activate the first firefox window found: xdotool search --class firefox windowactivate These would error: xdotool windowactivate xdotool windowactivate %1 xdotool windowactivate %@ When xdotool exits, the current window stack is lost. Additinally, commands that modify the "WINDOW STACK" will not print the results if they are not the last command. For example: # Output the active window: % xdotool getactivewindow 20971533 # Output the pid of the active window, but not the active window id: % xdotool getactivewindow getwindowpid 4686 EXTENDED WINDOW MANAGER HINTS The following pieces of the EWMH standard are supported: _NET_SUPPORTED Asks the window manager what is supported _NET_CURRENT_DESKTOP Query and set the current desktop. Support for this enables these commands: "set_desktop", "get_desktop". _NET_WM_DESKTOP Query and set what desktop a window is living in. Support for this enables these commands: "set_desktop_for_window", "get_desktop_for_window". _NET_ACTIVE_WINDOW Allows you to query and set the active window by asking the window manager to bring it forward. Support for this enables these commands: "windowactivate", "getactivewindow". _NET_WM_PID This feature is application dependent, not window-manager dependent. Query the PID owning a given window. Support for this enables these commands: "getwindowpid". SUPPORTED FEATURES xdotool (and libxdo) will try to function under all circumstances. However, there may be some cases where functionality is not provided by your X server or by your window manager. In these cases, xdotool will try to detect and tell you if an action requires a feature not currently supported by your system. For window-manager specific features, see "EXTENDED WINDOW MANAGER HINTS". XTEST If your X server does not support XTEST, then some typing and mouse movement features may not work. Specifically, typing and mouse actions that act on the "current window" (window 0 in libxdo) are unlikely to work. In most cases, XTEST is a feature you can enable on your X server if it is not enabled by default. You can see the list of supported X extensions by typing 'xdpyinfo' and looking the text 'number of extensions: ...' SEE ALSO xprop(1), xwininfo(1), Project site: <http://www.semicomplete.com/projects/xdotool> Google Code: <http://semicomplete.googlecode.com/> EWMH specification: http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html <http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html> CONTACT Please send questions to<EMAIL_ADDRESS>File bugs and feature requests at the following URL: <http://code.google.com/p/semicomplete/issues/list> Alternately, if you prefer email, feel free to file bugs by emailing the list. What works for you :) AUTHOR xdotool was written by Jordan Sissel. This manual page was written originally by Daniel Kahn Gillmor<EMAIL_ADDRESS>for the Debian project (but may be used by others). It is maintained by Jordan Sissel. Patches, ideas, and other contributions by many, nice folks. See the CHANGELIST file for who provided what. 2011-05-31 XDOTOOL(1)


{% extends "archiver/base.html" %} {% block title %}Help{% endblock %} {% load widget_tweaks %} {% block content %}
The Machine Folk Session is a community website, inspired by The Session, dedicated to the “folk music” generated by machines, or co-created with them.
If you need any help that is not in the Q&A, please let us know.
Contributions should be constructive and polite, not mean-spirited or contributed with the intention of causing trouble.
Foul language or aggressive behaviour will not be tolerated. While machine folk may be experimental in nature, the community norms we require are no different to those at The Session. Try to remember these kinds of online communities consist of people of all ages and cultural backgrounds.
Please keep your contributions relevant to music generated by, or co-created with, machines.
Please don’t submit the same thing more than once.
As a member you will be able to post tune settings, comments, and build tunebooks.
Just go here and provide an email address, username and choose a password. You'll then be sent an activation link via email.
You can then use your email address and password to log in to The Machine Folk Session. You can change your name, email and password at any time.beta - edit account coming soon!
Sure. Just log in and go to your member profile. You will see options there for changing any of your details. (beta - coming soon!)
To have a password reset link sent to you, go to the log-in page and click on the forgotten your password? link. Enter the email address you used to sign up with. (beta - coming soon!)
Yes. Your email address will NOT be displayed anywhere on The Machine Folk Session, and will NOT be given or sold to any third party.
Log in and click 'submit' from the menu across the top of each page. Then follow the on-screen instructions. You’ll need to submit the tune in ABC notation.
ABC is a great way of passing on tunes by writing the notes out in plain text.
It's very straightforward and easy to learn. You can find out more on the ABC notation site.
Yes. Log in. Go to the tune and click on the “Add a setting” button.
The Machine Folk Session allows you to collect tunes and add them to a virtual tunebook. It provides an easy way to recall the tunes you like.
The tunebook is really just a list of tunes that you have selected. You can download the entire tunebook as a single ABC file.
To add or remove a tune to your tunebook, log in, go to the tune in question and tick or untick the “In your tunebook” checkbox.


Item 6.
If you turn bold on by using enter with f, b, then n for on, you can write your text that you want to be in bold font. If you never turn this off, the entire document will be in bold text. Turn the font off when you no longer want text to be in bold. To turn bold off, press enter with f, b, then the letter f for off.


This is the name that Ameol uses to store all files relating to a CIX forum topic. The name consists of the first two characters of the topic name followed by a four digit number (it will be different for every user of Ameol); you can find out the topic root name for any topic using the Ameol TopicInf addon.


Review: Jackie Brown By Luke Buckmaster
Quentin Tarantino has a remarkable talent. Not only is he able to director cinematic masterpiece and write potent screenplays and stories, but he also achieves something that goes beyond experience or credits - he creates a stir.
Tarantino's knowledge of film came from his experience as a video clerk, and because he was never a film school graduate he didn't develop an identical style for all his films. Reservoir Dogs, Pulp Fiction and Jackie Brown are all strikingly different. This is not to say that they don't bear the same extraordinary scents - the dialogues in his films are so delightfully original that it is hard to label them as anything else except "Tarantino."
Jackie Brown, his third directing attempt, has a much more adult feel to it than Quentin's other films.
Jackie Brown (Pam Grier) is a flight hostess who works for a bottom rate airline, supplementing her miniscule income by smuggling money into the US for gun dealer Ordell Robbie (Samuel L. Jackson). However, after one flight she is caught out by an ATF agent (Michael Keaton) and an LA cop (Michael Bowman). They offer her a simple deal: go to prison or rat on Ordell. Either way, piles of money is involved. Ordell has around half a million dollars tucked away in Mexico, and becomes desperate to obtain it before it's too late.
We are introduced to the eccentric life of Ordell, his dim-witted partner Louis Gara (Robert DeNiro) and one of his girlfriends, the happy-and-high Melanie (Bridget Fonda). Sympathetic bail bondsman Max Cherry (Robert Forster) is thrown in the midst of Jackie's situation when Ordell pays him to release her from jail.
So let's examine what we have here: there are seven people and half a million in cash. Each has their own plan, each has their own desires - but the real question is: who is playing who?
Obviously, whatever Quentin Tarantino comes up with is going to be compared to the mosaic masterpiece that was Pulp Fiction. But as Quentin himself states: "Pulp Fiction is an Opera, this is a chamber." Although Jackie Brown is much more straightforward than Pulp, it is in many ways a better picture. Tarantino shows some camera aspects that are so original it is hard to believe that anyone would dare attempt them - one time the cinema screen splits in half (showing us two parts of the story), anther time an entire scene is shot in almost complete darkness.
It is with a strong passion for effective film making that Tarantino makes Jackie Brown, a wonderfully acted and shrewdly put together film delicatessen. It is a stylish, and very cool, middle aged film.
4 and a half stars out of 5 Maybe not Pulp Fictionbut theirs plenty of cult friction
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Install it from npm
npm install importabular
Instanciate it on a dom node
import Importabular from 'importabular'
const sheet=new Importabular({
node:document.getElementById('editorNode'),
})
Get the current data as a 2D array
sheet.getData()
Destroy it to remove event listeners
sheet.destroy()
I've created this lib because I was tired of having to remove 90% of the features offered by the very few open source libs for web spreadsheets.
Some common use cases have options, for the rest you should just read the source and subclass it, or fix the code.
So for this reinventing the wheel to make sense, I should not add any extra features to this core.
The lib is fresh and not battle tested, probably has some bugs. The API is not stable yet. Feel free to create an issue if you find a bug.
This is the most minimal way to embed the editor
Makes even rows slightly darker
Changing the content of one editor should modify the content of the second too
For specific changes to the editor, you can subclass the non minified file
Uses validation and custom columns


HTML IDE
HTML
CSS
Save
Html Code
Css/Java Code
yo
HTML IDE Made Html
About Us
Bhavartha Khawale<EMAIL_ADDRESS>Bhooyas A Kapadia<EMAIL_ADDRESS>Suggestions:-


Environment Variables
There are a number of undocumented environment
variables that change the behavior of the system. These are a few of them:
- COPYFROMFLOPPY=1 - You have replaced one or more of the files on the
installation floppies, and you have successfully booted the installer in
spite of your strange hardware. The installation proceeds, but it pulls
in replacements to what you just replaced from either the later compressed
diskettes, or from the CD. When the first phase of installation completes
and the system reboots from the hard drive, you find that you no longer
are using the replacement drivers. If you add this line to the CONFIG.SYS
on install diskette 1 (before Warp 4.0) or on install diskette 2 (Warp 4.0
or later), then the installer will reload the replacement files from the
early floppies before rebooting.
- KILLFEATUREENABLED=ON - This enables the display of the full process
list from WarpCenter by clicking on the task list button while pressing
the Control key. Selecting a program from the list pops up a message box
to confirm the killing of the process.
- MENUSFOLLOWPOINTER=ON - This makes the WarpCenter menus (but no others)
behave more like the Start menu of Windows, in that once you open the menu,
the menu selection will follow the mouse without your needing to keep the
mouse button pressed down. Submenus will automatically open as you move
the mouse pointer over them. This function only works on Warp 4.0 with
fixpack 5 or later.
- SCCANBENUKED=ON - Allows the WarpCenter to have a Delete option on its
context menu.
- SCFINDUTILITY=c:\os2\apps\pmseek.exe - This changes the function of
the Find button on the WarpCenter to use PMSEEK instead of the limited-function
default file finder.
- SCKILLCONFIRMDISABLED=ON - ??
- SCKILLFEATUREENABLED=ON - This is the same as KILLFEATUREENABLED=ON.
- SCPRETTYCLOCK=1 - This changes the appearance of the WarpCenter clock,
giving it a fancier border, a black background and green numbers.
- SHELLHANDLESINC= - This environment variable increments the number of
file handles available to the Shell process (protshell). Users who need
more file handles can add this statement to CONFIG.SYS. The maximum file
handles will be incremented by the amount specified in the statement. The
system defaults to 20 file handles in the Shell process. Therefore, if
the statement specifies a 10, then the total would be incremented to 30.
[Back: WinHSwitchFromHapp]


Wei Dai
Wei Dai, or 戴维, is an open source software developer who is widely credited with some of the original ideas that led up to Bitcoin. Wei Dai published a digital monetary system proposal similar to the Bitcoin concept called b-money, and he published the well known C++ cryptographic library Crypto++.
Wei Dai holds a bachelors degree in Computer Science from University of Washington, and worked for Microsoft in Redmond Washington on cryptography research projects.
As part of his cryptographic research, Wei Dai has published major security vulnerabilities in SSH2 and against SSL/TLS, prompting quick fixes.
Wei Dai's 1998 concept for b-money proposed a system quite similar to the later Bitcoin scheme. Proof of work was used by a miner who updated a shared ledger of transactions secured through cryptographic signatures, much the same as in Satoshi Nakamoto's later system.
In 2008 Satoshi Nakamoto privately contacted Adam Back with his draft proposal, before publishing it to the cryptography mailing list. Adam related in a forum post that he pushed Satoshi to contact Wei Dai and credit b-money in the Bitcoin white paper. Wei Dai mentioned that the monetary concepts were similar and Satoshi determined he had realized an implementation of b-money, however Wei stated that the ideas were originated in parallel.
- Website: http://www.weidai.com/


Palacina Pizza
Home
About Us
Contact Us
Pizza Creation
Size of Pizza
Kids' Size @500/=
Medium @700/=
Large @900/=
FamilySize @1100/=
Type of Crust
Thin crust @100/=
Thick crust @200/=
Deep crust @300/=
Stuffed crust @400/=
Toppings
Anchovies @Kes.80
Smoked Oysters @Kes.200
Sardines @Kes.100
Tuna @Kes.80
Mushrooms @Kes.70
Sun-dried Tomatoes @Kes.30
Black Olives @Kes.100
Bacon slices @Kes.80
Ground beef @Kes.50
Sausage rings @Kes.50
Ham slices @Kes.80
Pepperoni rings @Kes.70
Chicken chunks @Kes.50
Shrimp @Kes.100
Basil @Kes.50
Grilled Egg-plant @Kes.50
Roasted Green Pepper @Kes.30
Number of Pizzas
Place Your Order
Pizza Cart
Size
Crust
Toppings
Price
The total charge is
0
/=
Would you like a delivery at 500/= ?
Pick-Up
Delivery
Checkout


Fun Almanac
Home
Events
Let Us Know
Contact Us
Login/Register
Fun Almanac
Search our selection of Events
Events
Search
Search by Name
Filter By Categories
Theme Parks
Play Venue
Parent & Baby/Toddler Group
Council Playpark/Event
Funfair/Carnival/Parade
Arts/Crafts
Educational/Class/Lectures/Tutorial
Charity Event
School Fete
Theatre/Drama
Dance/Performing Arts
Music Concert/Event/Festival
Film/Cinema/Filmogrophy
Outdoor Activity/Play/Entertainment
Sporting Activity/Sporting Clubs/Training
Museum
Filter By Occurence
Regular
Permanent
Weekly
Monthly
Annual
Bi-annual
One-off
City/Town/Village
Select City/Town/Village
With options
County
Select County
With options
Country
Select Country
With options
Max Price (£)
Pirate park
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec iaculis mauris.
Bedford Town
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec iaculis mauris.
Bibury trout farm
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec iaculis mauris.
Pirate park
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec iaculis mauris.
Bedford Town
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec iaculis mauris.
Bibury trout farm
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nec iaculis mauris.
Previous
Next page
1
…
45
46
47
…
86
Login
Login with your email or username
Email or Username
Password
Login
Register
Cancel


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Origin International Inc.
Mailing Address:
72 Baynards LaneRICHMOND HILL, Ontario
L4C 9B8
Location Address:
72 Baynards LaneRICHMOND HILL, Ontario
L4C 9B8
Tel.:<PHONE_NUMBER>
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Logo
Company Profile
Origin International Inc. develops and supports the CheckMate
suite of Dimensional Measurement Software. Planning, Measurement, Analysis, and Reporting.
Full profile
Full profile
Contact information
Company description
Product / Service / Licensing
aspect of CheckMate maximizes CMM throughput and minimizes
inspection turnaround by having programs ready to run when the
machine is available. Simulation, collision detection/avoidance
and probe path optimization ensure programs run as expected.
Compatible with all modern CMMs it is ideal for environments
with machines from multiple vendors and/or where machine
availability is at a premium. The CMM programmer oriented user
interface and functionally rich command set makes it easy to
learn and very productive. With CheckMate programming you can
quickly generate programs for geometric feature-based parts and
complex free-form surfaces
representation of measured results that overcome the
difficulties associated with interpreting extensive tabular
reports. This enables users to not only identify problems
quickly, it provides the ability to communicate them in a form
easily understood by others. Adaptable to any application, all
formats (including whisker diagrams, statistical scatter plots,
target plots and geometric labels) can be customized to match
your requirements.
CheckMate can publish reports in web formats for viewing with
common tools such as Internet browsers. CheckMate also works
with uncompensated data from any source to quickly verify
surfaces as well as prismatic features using CAD data.
technology. SoftFit adds "what if" analysis to CheckMate
Reporting and treats measured data as a resource for
mathematical analysis. It calculates bonus tolerances across
multiple features simultaneously. You can quickly remove
anomalies in results data caused by poor alignments or determine
root cause of process related manufacturing problems.
Feature based algorithms overcome the inadequacies of
traditional point to point "best-fit" methods. The return on
investment associated with this technology produces a
significant benefit.
technology. SoftOrient enables fast, accurate orientation of
machines to free-form surfaces, or to less than perfect features
on prismatic parts. Using Origin's SoftFit eliminates the need
for precision holding fixtures, eliminates machine iterations
and reduces the alignment time from hours to minutes. Origins
SoftFit sits right on your CMM.
of its MLB2DMIS product. The MLB2DMIS product is a translator
intended for use by companies to convert legacy CMM programs
coded in Sheffields native MLB Basic language to the DMIS
standard.
The Sheffield MLB Basic language is a capable, sometimes complex
coding environment. Customers typically adopt coding practices
or styles that take advantage of specific CMM language features.
The resulting program code can be a barrier to entry for the
standard DMIS language.
The Origin MLB2DMIS translator is designed to overcome the
barriers to porting code. MLB2DMIS is software configured to
recognize customer specific MLB language use and then
effectively convert that code to DMIS.
MLB2DMIS is available as a standalone system or site license.
When combined with the Origin CheckMate suite of CAD based CMM
Programming, Reporting and SoftFit Analysis companies can
dramatically improve the productivity of their CAD<>CMM
technology.
Implementation and support services are available. Additional
conversion project services are also available.
(SPC) for two distinct disciplines.
1. Cloud data to CAD compare with color gradient mapping.
2. Inspection Reporting.
Lets clarify what cloud data is. To CheckMate Cloud Data is defined as data typically collected from
scanning in either of two formats:
1. Point data XYZ and optionally a vector)
2. STL data (stereo lithography)
Processing of the data consists of;
1. Performing surface comparisons of the cloud data to the CAD model and creating color
deviation maps for single part studies and Average deviation, 6 sigma spread, Range, Cp and Cpk
for multiple part studies.
2. To extract substitute features to perform soft gaging operations and produce dimensional
inspection reports.
3. Facilitate generation of inspection features by measuring a feature.
Generic Procedure
-The Color Gradient tool bar is provided to walk the user through the process.
-Default screens to adjust Color Gradient Scale and set Color Gradient Properties
-Cloud data is automatically aligned to the CAD
-Deviations are calculated to generate color gradient maps.
-Color Gradient Maps are created
When required CheckMate Soft gages have been developed -substitute features are created and
CheckMate reporting entities produced for further processing of CheckMate inspection reports.
Refining Color Map Plots
CheckMate can create a number of different color map plots with each polygon colored from:
1. Deviations from actual
2. If multiple samples then Average Deviation from selected samples
3. 6σ spread calculated from the deviation of the samples.
4. Range of the sample's deviation
5. Cp for the selected samples.
6. Cpk for the selected samples.
Technology profile
supplier of CADCMM Integration Software. One product line, the
CheckMate suite, with over a decade of continuous improvements,
based on real application, in-field performance.
CheckMate is a modular, seamlessly integrated software suite
that runs on Windows NT. It works offline to maximize your CMM
productivity and to speed up your inspection process. You can
create, edit and simulate CMM inspection programs directly from
the 3D CAD model, even before your part is available. This
leaves your CMM free to inspect, and your program ready to run
when the part arrives.
CheckMate provides unlimited alignment capabilities including
sculptured surface datuming, with or without fixturing. This
eliminates the need for costly precision holding fixtures.
CheckMate offers powerful "what if" analysis capabilities,
combined with clear pictorial communication, enabling you to
quickly visualize any amount of data. You can fully understand
the root cause of problems and the effects of implementing
various scenarios of corrective action. You can make informed
decisions quickly and minimize rework on non-conforming parts
and processes.
Market profile
Alliances:
- Sales/Marketing
Strategic alliances:
Origin has "programs" that srategic relationshipsbetween Origin and its affiliates.
Industry sector market interests:
- Manufacturing
- Aerospace
- Defence
- Automotive
- Plastics and Rubber Products
- Primary and Fabricated Metal
Geographic markets:
Export experience:
- Australia
- Brazil
- Italy
- Japan
- Mexico
- United Kingdom
- United States
Actively pursuing:
- American Samoa
- Germany
- Indonesia
- Korea, Republic of
- Malaysia
- Mauritania
- New Caledonia
- New Zealand
- Papua New Guinea
- Philippines
- Singapore
- Solomon Islands
- Taiwan
- Thailand
- Tonga
Sector information
Unique applications:
see www.originintl.comKey / Major clients:
BasintekDaimler-Chrysler
Endicott Precision Inc.
Flex-N-Gate Bradford
General Motors
Greenville Tool & Die
Hewlett Packard
Honda
Howmet
Lexmark
Lockheed Martin
Magna International
Messier Dowty
Metform LLC-Maclean Fogg Co.
Pilkington North America
Pridgeon & Clay
Primus International
Pro-Fab Inc.
Pyper Tool & Engineering
Rolls Royce Aeroengines
Rollstamp Manufacturing
Solidiform Incorporated
Triumph Aerostructures
UCT Sieger Engineering Inc.
Vehma International
Success stories:
see www.originintl.comTestimonial:
see www.originintl.comThird-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
Products, services and licensing
Product / Service / Licensing
aspect of CheckMate maximizes CMM throughput and minimizes
inspection turnaround by having programs ready to run when the
machine is available. Simulation, collision detection/avoidance
and probe path optimization ensure programs run as expected.
Compatible with all modern CMMs it is ideal for environments
with machines from multiple vendors and/or where machine
availability is at a premium. The CMM programmer oriented user
interface and functionally rich command set makes it easy to
learn and very productive. With CheckMate programming you can
quickly generate programs for geometric feature-based parts and
complex free-form surfaces
representation of measured results that overcome the
difficulties associated with interpreting extensive tabular
reports. This enables users to not only identify problems
quickly, it provides the ability to communicate them in a form
easily understood by others. Adaptable to any application, all
formats (including whisker diagrams, statistical scatter plots,
target plots and geometric labels) can be customized to match
your requirements.
CheckMate can publish reports in web formats for viewing with
common tools such as Internet browsers. CheckMate also works
with uncompensated data from any source to quickly verify
surfaces as well as prismatic features using CAD data.
technology. SoftFit adds "what if" analysis to CheckMate
Reporting and treats measured data as a resource for
mathematical analysis. It calculates bonus tolerances across
multiple features simultaneously. You can quickly remove
anomalies in results data caused by poor alignments or determine
root cause of process related manufacturing problems.
Feature based algorithms overcome the inadequacies of
traditional point to point "best-fit" methods. The return on
investment associated with this technology produces a
significant benefit.
technology. SoftOrient enables fast, accurate orientation of
machines to free-form surfaces, or to less than perfect features
on prismatic parts. Using Origin's SoftFit eliminates the need
for precision holding fixtures, eliminates machine iterations
and reduces the alignment time from hours to minutes. Origins
SoftFit sits right on your CMM.
of its MLB2DMIS product. The MLB2DMIS product is a translator
intended for use by companies to convert legacy CMM programs
coded in Sheffields native MLB Basic language to the DMIS
standard.
The Sheffield MLB Basic language is a capable, sometimes complex
coding environment. Customers typically adopt coding practices
or styles that take advantage of specific CMM language features.
The resulting program code can be a barrier to entry for the
standard DMIS language.
The Origin MLB2DMIS translator is designed to overcome the
barriers to porting code. MLB2DMIS is software configured to
recognize customer specific MLB language use and then
effectively convert that code to DMIS.
MLB2DMIS is available as a standalone system or site license.
When combined with the Origin CheckMate suite of CAD based CMM
Programming, Reporting and SoftFit Analysis companies can
dramatically improve the productivity of their CAD<>CMM
technology.
Implementation and support services are available. Additional
conversion project services are also available.
(SPC) for two distinct disciplines.
1. Cloud data to CAD compare with color gradient mapping.
2. Inspection Reporting.
Lets clarify what cloud data is. To CheckMate Cloud Data is defined as data typically collected from
scanning in either of two formats:
1. Point data XYZ and optionally a vector)
2. STL data (stereo lithography)
Processing of the data consists of;
1. Performing surface comparisons of the cloud data to the CAD model and creating color
deviation maps for single part studies and Average deviation, 6 sigma spread, Range, Cp and Cpk
for multiple part studies.
2. To extract substitute features to perform soft gaging operations and produce dimensional
inspection reports.
3. Facilitate generation of inspection features by measuring a feature.
Generic Procedure
-The Color Gradient tool bar is provided to walk the user through the process.
-Default screens to adjust Color Gradient Scale and set Color Gradient Properties
-Cloud data is automatically aligned to the CAD
-Deviations are calculated to generate color gradient maps.
-Color Gradient Maps are created
When required CheckMate Soft gages have been developed -substitute features are created and
CheckMate reporting entities produced for further processing of CheckMate inspection reports.
Refining Color Map Plots
CheckMate can create a number of different color map plots with each polygon colored from:
1. Deviations from actual
2. If multiple samples then Average Deviation from selected samples
3. 6σ spread calculated from the deviation of the samples.
4. Range of the sample's deviation
5. Cp for the selected samples.
6. Cpk for the selected samples.
Technology
Technology profile
supplier of CADCMM Integration Software. One product line, the
CheckMate suite, with over a decade of continuous improvements,
based on real application, in-field performance.
CheckMate is a modular, seamlessly integrated software suite
that runs on Windows NT. It works offline to maximize your CMM
productivity and to speed up your inspection process. You can
create, edit and simulate CMM inspection programs directly from
the 3D CAD model, even before your part is available. This
leaves your CMM free to inspect, and your program ready to run
when the part arrives.
CheckMate provides unlimited alignment capabilities including
sculptured surface datuming, with or without fixturing. This
eliminates the need for costly precision holding fixtures.
CheckMate offers powerful "what if" analysis capabilities,
combined with clear pictorial communication, enabling you to
quickly visualize any amount of data. You can fully understand
the root cause of problems and the effects of implementing
various scenarios of corrective action. You can make informed
decisions quickly and minimize rework on non-conforming parts
and processes.
Market
Market profile
Alliances:
- Sales/Marketing
Strategic alliances:
Origin has "programs" that srategic relationshipsbetween Origin and its affiliates.
Industry sector market interests:
- Manufacturing
- Aerospace
- Defence
- Automotive
- Plastics and Rubber Products
- Primary and Fabricated Metal
Geographic markets:
Export experience:
- Australia
- Brazil
- Italy
- Japan
- Mexico
- United Kingdom
- United States
Actively pursuing:
- American Samoa
- Germany
- Indonesia
- Korea, Republic of
- Malaysia
- Mauritania
- New Caledonia
- New Zealand
- Papua New Guinea
- Philippines
- Singapore
- Solomon Islands
- Taiwan
- Thailand
- Tonga
Sector
Sector information
Unique applications:
see www.originintl.comKey / Major clients:
BasintekDaimler-Chrysler
Endicott Precision Inc.
Flex-N-Gate Bradford
General Motors
Greenville Tool & Die
Hewlett Packard
Honda
Howmet
Lexmark
Lockheed Martin
Magna International
Messier Dowty
Metform LLC-Maclean Fogg Co.
Pilkington North America
Pridgeon & Clay
Primus International
Pro-Fab Inc.
Pyper Tool & Engineering
Rolls Royce Aeroengines
Rollstamp Manufacturing
Solidiform Incorporated
Triumph Aerostructures
UCT Sieger Engineering Inc.
Vehma International


Barcelona player ratings in 3-1 defeat by Levante
Only Messi and Semedo got a six, everybody else was worse
by Sport.esTer Stegen 5 - Beaten three times in seven minutes, couldn’t be the hero
Sergi Roberto 5 - Back at right-back, did OK at the back but didn’t offer anything going forward
Gerard Pique 3 - After a decent first half he collapsed in the second half, imprecise and badly positioned
Clement Lenglet 3 - Nervous and weak during the 90 mins, at fault for the third
Nelson Semedo 6 - One of the few who did OK, earning the penalty for the opener
Frenkie de Jong 5 - Could not take control of the game, this time featuring in Busquets’ role
Arthur Melo 4 - Was not involved in the game and could even have been sent off in the first half
Arturo Vidal 4 - The Chilean is a coin flip and this time it didn’t work - played without order
Leo Messi 6 - Scored the first and then added another but it was ruled out because of Griezmann’s offside
Luis Suarez 5 - Quiet until he was taken off injured
Antoine Griezmann 4 - Tried hard but should offer more when it comes to determining the game
SUBS
Carlos Perez 5
Sergio Busquets 4
Ansu Fati 5


Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
IN THE HIGH COURT OF JUDICATURE AT PATNA Criminal Miscellaneous No.43817 of 2018 Arising Out of PS.Case No. -116 Year- 2018 Thana -BARUN District- AURANGABAD ====================================================== 1. Sanjay Singh @ Sanjay Kumar Singh S/o Surajdeo Singh R/o Village- Satuahi Karma, P.S. Jamhor, District- Auragabab (Bihar). .... .... Petitioner/s Versus 1. The State of Bihar, Through The Principal Secretary Cum Commissioner Department of Mines And Geology Government of Bihar, Patna .... .... Opposite Party/s ====================================================== Appearance : For the Petitioner/s : Mr. Ravindra Kumar For the Opposite Party/s : Mr. Naresh Dikshit ====================================================== CORAM: HONOURABLE MR. JUSTICE VINOD KUMAR SINHA ORAL ORDER
2 20-07-2018 Heard the parties.
The petitioner is apprehending his arrest in connection with Barun P.S. Case No. 116 of 2018, registered for the offences punishable under Sections 379, 411 and 420/34 of the Indian Penal Code and Section 4/40 of Bihar Mines and Minerals concession Rules, 1972 and Section 15 Prevention of Pollution Act, 1986.
Allegation is that the accused persons including the petitioner were carrying sand loaded on the tractor without proper challan and seeing the police party they fled away.
Submission on behalf of the learned counsel for the petitioner is that having proper challan they could not produce challan at the time when the tractors were intercepted. The petitioner has got no criminal antecedent. Patna High Court Cr.M isc. No.43817 of 2018 (2) dt.20-07-2018 2/2
Heard learned A.P.P. also.
Having heard both sides and in view of the facts and circumstances, as stated above, let the petitioner, above named, in the event of his arrest or surrender before the court below within a period of six weeks from today, be released on bail on furnishing bail bond of Rs.25,000/- (Rupees twenty five thousand) with two sureties of the like amount each to the satisfaction of the learned Chief Judicial Magistrate, Aurangabad, in Barun P.S. Case No.116 of 2018, subject to conditions as laid down under section 438 (2) of the Code of Criminal Procedure and further conditions are that one of the bailors shall be a local person having sufficient immoveable properties within the jurisdiction of court concerned and further condition is that he has to co-operate in the investigation of the case and make himself available as and when required by the police, otherwise the prosecution is free to move for cancellation of his bail bond.
With the aforesaid observation, this application is allowed.
(Vinod Kumar Sinha, J) AnilKrSinha/-
U


ANNE FRANK REMEMBERED A film review by Edwin Jahiel Copyright 1996 Edwin Jahiel
ANNE FRANK REMEMBERED (UK, 1995)**** Written, produced and directed by Jon Blair. Photography, Barry Ackroyd. Editing, Karen Steininger. Music, Carl Davis. Cast: Kenneth Branagh (Narrator), Glenn Close (reading excerpts from "The Diary of Anne Frank"), Miep Gies,Hanneli Goslar and Peter Pfeffer. A Sony Pictures Classics release.122 minutes. Rated PG.
Awards: Oscar winner in 1996; Jury Prize at the 1995 Hamptons Festival; Gold Plaque at Chicago International Film Festival; Audience Award at the International Documentary Festival, Amsterdam.
I have just finished watching this long documentary, on tape. I am stunned, shaken up and grateful that I can write on it rather than discuss it verbally.
In the classic "Hiroshima, mon Amour," a French woman, an extra in a "Ban the Bomb" movie being shot, and a local Japanese architect, have a touching brief encounter. She tells him of her visits to the martyr city: "I have seen everything in Hiroshima." He replies: "No, you saw nothing in Hiroshima."
Some of us may think that they've read or seen everything about the Holocaust and Anne Frank, This film proves we have seen nothing. The story is a neverending one. Something new discovered every day. As one of the participants in the documentary says of the long, nightmarish train journey to a concentration camp: "You refuse reality. After a while imagination stops."
"Anne Frank Remembered" was made principally by the man who was given the 1994 British Academy award for his documentary "Schindler." Jon Blair has done a terrific job in combining war and remembrance, the portrait of Anne and the horrors of the Nazis, old and sadly familiar archival footage and much that was unfamiliar or newly found. He and his staff interweave with superb skill and balance past and present, interviews with surviving friends of the Frank family.
The film even transcends personal tragedy and unspeakable mass crimes during World War II. It stands for all types of man's inhumanity to man fostered by prejudice, racial, ethnic, religious discrimination.
At the center of this work is 80-plus Miep Gies, a gentle, gentile lady who in the 1940s worked for Otto Frank. (Anne's father had a small pectin-making business in Amsterdam). While the Franks were in hiding, she was their contact with the outside, their purveyor of food, necessities and news. Miep is a marvelous woman whom one would never call "an old lady."  Miep is also the person who found and saved for years the diary of Anne Frank.
The movie does not push the pedal on pathos or sentiment. It doesn't have to. Places, events and people speak for themselves. Miep is not the only witness. She shares the screen with other, equally unrhetorical yet quite sophisticated friends of Anne and her folks.
They take up a big chunk of time, yet they're always effective as they speak calmly, go to the end of what they're saying and do not produce sound bites.
You never have the impression of watching "talking heads." This is reinforced by the interviewer, present, unseen and unobtrusive. Exceptionally he is heard asking a question, always brief and to the point. He never controls or manipulates his subjects, never puts words in their mouth.
The film does start with background information that the average person does not know perhaps, especially when we refer to the Franks as Dutch Jews. The Franks were an old, distinguished family of Germans who, like countless others, happened to be Jewish, cultured, totally assimilated, patriotic, with relatives who had fought for Germany in WWI. Their children, first Margot then Anna (as they called her) were born in Frankfurt.
Unlike many other Germans, Otto Frank saw the handwriting on the wall. With his wife and children he left Germany for Holland in 1933, as soon as Hitler was given dictatorial powers. They were later joined by more Jews, many of them erstywhile personalities in Germany, like a former Minister for the Press.
Emigrating very early, Mr. Frank was wise. But later, when one was sure of the defeat of Germany and optimism set in, it was not so smart to hide instead of fleeing, assuming this were possible. This is perhaps the only miscalculation by Otto Frank, who was a superb, sensitive, devoted husband and father, an all-around superior human being, and the sole survivor of the four Franks.
There was, of course, the trust that Jews put in the Dutch, a justified confidence. While, after the occupation of Holland, some Dutch Nazi groups sprouted up, the great majority of the population were protective of "their" Jews -- witness the steady help to the Franks. Only one other country can claim the same massive, heartfelt assistance to Jews: Denmark.
Anne is not sentimentalized or idealized. We hear that she was a naughty, even impertinent child. The mother of a friend used to say "God knows everything...Anne knows everything better". In hiding, she was not always easy to be with. She wrote of her contempt for her mother and her dislike of 54-year old dentist Fritz Pfeffer. (He was the eight person to go to the hideout, after Otto's associate Hermann van Pels, his wife and son).
"Anne Frank" is a succession of gripping moments, scenes and sequences, done with restraint and taste (including Branagh's narration), which make it all the more devastating. A must-see film, above all for those young and youngish who, in this information age, know so pathetically little of history.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


OPENFAM MULTI-THREADED & CONTEXT MODEL
OpenFAM 2.0 provides a basic threading and context framework for invoking the data path APIs. All the data path APIs use a single communication context there by restricting the grouping of I/O operation to a single context group. Hence fam_quiet invoked by the application will enforce completion of all the operations invoked from the fam object. Though application may be multi-threaded and share the fam object across multiple threads, it is the applications responsibility to serialize all the OpenFAM APIs from different threads. This thread model does not allow application to optimally utilize cpu and network resources available on the compute node. In order to address these issues to an extent, a concept of user-specific thread model has been added in OpenFAM 3.0.Now OpenFAM supports following threading models:
- Program may be multi-threaded
- No concurrent invocation of OpenFAM APIs by multiple threads
- Quiet will enforce completion of all the operations invoked from all the threads.
- Program may be multi-threaded
- Any thread may invoke OpenFAM APIs
- Quiet will enforce completion of all the operations invoked from all thread.
To open and close of user specific contexts two new API’s - fam_context_open and fam_context_close has been added.
- fam_ctx* fam->fam_context_open()
- void fam->fam_context_close(fam_ctx*)


Treat Yo Self
Use the Flask and Flask-SQLAlchemy to create a portal for Treat Yo Self Salon. There are three classifications of users for the site: the Owner, Stylists and Patrons. The salon has one owner, multiple stylists, and multiple patrons.
Stylists work Tuesday through Saturday, from 10am to 8p.
Stylists only offer one service: a haircut. Each haircut takes 1 hour and starts on the hour.
Patrons can make an appointment with any stylist. On a stylist’s page, patrons can see available appointment time slots for the stylists. They can cancel appointments they have made.
Specifications
These are the base requirements for making the web application. You can enhance.
Dependencies
- Python 3.7
- Flask 1.0.2
- Flask-SQLAlchemy 2.3.2
pip install Flask-SQLAlchemy==2.3.2
Managing Users
- Each user (Owner, Stylist, or Patron) should have a username and password.
- All passwords will be stored in plain text.
- Patrons are free to register for their own account.
- Stylist accounts must be created by the Owner (it is fine for the Owner to set passwords for the Stylist).
- If a user is logged in, no matter what page they are on, they should have access to a logout link.
Owner
- Should be able to login with the username
owner
and password pass
.
- Once logged in, the Owner should be presented with a link to create new Stylist accounts, and a list for each stylist and their scheduled appointments for the next week.
- For each appointment, the name of the Patron, date and time of the appointment.
- If no appointments are scheduled for a stylist, a message should be displayed informing the Owner of this explicitly.
- On a Stylist’s profile page, the owner can see a list of all future (based on the current day) appointments for the next week including date and time, and patron’s name. Any time slot that does not have an appointment should
explicitly indicate it.
- On a Patron’s profile page, the owner can see a list of all future appointments (based on the day) the patron has, including date and time, and stylist.
Stylist
- Once logged in, Stylists should directed to their profile page.
- They should see a list of all future (based on the day) appointments for the next week.
- including date and time,
- patron’s name.
- Any time slot that does not have an appointment should explicitly indicate it.
Patron
- Once logged in, Patrons should be presented with a list of Stylists who work at the Salon.
- On a Stylist’s page, a patron can view a list of all future (based on the day) appointments.
- Any available appointment slot should indicate it is available.
- Clicking an available slot should take them to a page with a form to request an appointment.
- Any time slot that is taken by a different patron than the one logged in should just say
Booked
- On the Patron’s profile page, they can see a list of all of their upcoming appointments including today’s.
- Patron’s should be able to cancel any of their own appointments.
Data Management
- To ease bootstrapping and testing of your application, hardcode the Owner’s username and password in your app to be
owner
and pass
.
- All other data for your application should be stored in a SQLite database named
salon.db
using SQLAlchemy’s ORM and the Flask-SQLAlchemy extension.
Submission Guidelines
- DO NOT SUBMIT
- any IDE package files.
*.pyc
, __pychache__
salon.db
- You must name the main page for your game
salon.py
, and place it in the root directory of your repository.
- Be sure to remember to push the latest copy of your code back to your GitHub repository before the the assignment is due. At the deadline, the repositories will automatically be copied for grading. Whatever is present in your GitHub
repository at that time will be considered your submission for this assignment.
- You must be able to run your application by setting the
FLASK_APP
environment variable to your salon.py
and running flask run
- You must be able to initialize your database by setting the
FLASK_APP
environment variable to your salon.py
and running flask initdb
- Add a
requirements.txt
file containing the installed dependencies for your project. Make sure to add that file to source control.
- Run
pip freeze > requirements.txt
from the root of your project with your virtualenv
activated.
- Be sure to use a
virtualenv
otherwise this list will get ridiculously long.
- Files included in the starter repo:
Additional Notes/Hints
- Since we covered Flask already, I highly recommend setting up some dummy routes you will need that will, at the very least, return "Hello World" to make sure you can get Flask working.
- You may find it handy to use the HTML
date
input type for appointment scheduling.
- I recommend creating a development bootstrapping Flask cli command that allows you to delete and recreate a database with an Owner, Stylists, and Patrons, with some appointments to make development and debugging easier.
- Consider using
datetime.datetime.now()
for appointment time generation so you don't have to worry about resetting appointment times for the as time passes.
- Also,
timedelta
provides a way to simply perform math on dates.
- In addition to the operations listed above timedelta objects support certain additions and subtractions with date and datetime objects.
- Model relationships are your friend!!! Use them to tie the patrons and stylist together through appointments.
- I recommend creating another object to handle the appointments that contain pointers to the datetime, stylist, and patron.
- SQLAlchemy query filters can be used to get the exact data you need.
- Get familiar with using
GET
and POST
in your routes to handle object creation and persistence.
- Use a SQL visualization tool to help inspect the database. Many IDEs include built-in SQLite tools (VS Code, PyCharm, etc.)
- Since we do not use a textbook, use the documentation links to dig into the features you will need to use. If an approach feels to complicated/complex for what you are trying to do, it probably is.
- While you are not going to be heavily graded on the style and design of your web site, it should be presented in a clear and readable manner.
Grading Criteria
We will download a zip archive of the repo and run the salon.py
Flask application via flask run
in a terminal/console using a virtualenv
with the dependencies from your requirements.txt
installed in Python version 3.7.
Breakdown
- Owner login set correctly: 5%
- Patron registration: 5%
- Stylist account creation: 5%
- Login works appropriately: 15%
- Logout always available and works: 5%
- Owner page displays as specified: 15%
- Stylist page displays as specified: 15%
- Patron page displays as specified: 5%
- Patron create appointment works: 10%
- Patron cancel appointment works: 10%
- Clear and readable presentation: 5%
- Submission/info sheet: 5%
Late assignments will receive zero credit.


[ aws . cloudformation ]
Packages the local artifacts (local paths) that your AWS CloudFormation template references. The command uploads local artifacts, such as source code for an AWS Lambda function or a Swagger file for an AWS API Gateway REST API, to an S3 bucket. The command returns a copy of your template, replacing references to local artifacts with the S3 location where the command uploaded the artifacts.
Use this command to quickly upload local artifacts that might be required by your template. After you package your template's artifacts, run the deploy command to deploy the returned template.
This command can upload local artifacts specified by following properties of a resource:
- BodyS3Location property for the AWS::ApiGateway::RestApi resource
- Code property for the AWS::Lambda::Function resource
- CodeUri property for the AWS::Serverless::Function resource
- DefinitionUri property for the AWS::Serverless::Api resource
- SourceBundle property for the AWS::ElasticBeanstalk::ApplicationVersion resource
- TemplateURL property for the AWS::CloudFormation::Stack resource
To specify a local artifact in your template, specify a path to a local file or folder, as either an absolute or relative path. The relative path is a location that is relative to your template's location.
For example, if your AWS Lambda function source code is in the /home/user/code/lambdafunction/ folder, specify `` CodeUri: /home/user/code/lambdafunction`` for the AWS::Serverless::Function resource. The command returns a template and replaces the local path with the S3 location: CodeUri: s3://mybucket/lambdafunction.zip.
If you specify a file, the command directly uploads it to the S3 bucket. If you specify a folder, the command zips the folder and then uploads the .zip file. For most resources, if you don't specify a path, the command zips and uploads the current working directory. The exception is AWS::ApiGateway::RestApi; if you don't specify a BodyS3Location, this command will not upload an artifact to S3.
Before the command uploads artifacts, it checks if the artifacts are already present in the S3 bucket to prevent unnecessary uploads. The command uses MD5 checksums to compare files. If the values match, the command doesn't upload the artifacts. Use the --force flag to skip this check and always upload the artifacts.
package
--template-file <value>
--s3-bucket <value>
[--s3-prefix <value>]
[--kms-key-id <value>]
[--output-template-file <value>]
[--force-upload]
--template-file (string) The path where your AWS CloudFormation template is located.
--s3-bucket (string) The name of the S3 bucket where this command uploads the artifacts that are referenced in your template.
--s3-prefix (string) A prefix name that the command adds to the artifacts' name when it uploads them to the S3 bucket. The prefix name is a path name (folder name) for the S3 bucket.
--kms-key-id (string) The ID of an AWS KMS key that the command uses to encrypt artifacts that are at rest in the S3 bucket.
--output-template-file (string) The path to the file where the command writes the output AWS CloudFormation template. If you don't specify a path, the command writes the template to the standard output.
--force-upload (boolean) Indicates whether to override existing files in the S3 bucket. Specify this flag to upload artifacts even if they match existing artifacts in the S3 bucket.
Following command exports a template named template.json by uploading local artifacts to S3 bucket bucket-name and writes the exported template to packaged-template.json:
aws cloudformation package --template-file /path_to_template/template.json --s3-bucket bucket-name --output-template-file packaged-template.json


This record stores an array of field ID numbers (2-byte integers) for the row fields and column fields in a PivotTable. Two SXIVD records appear in the file: the first contains the array of row field IDs, and the second contains the array of column field IDs.
Record Data
|
Offset |
Name |
Size |
Contents |
|
4 |
rgisxvd |
var |
Array of 2-byte integers; contains either row field IDs or column field IDs |


Quantitative Comparison questions require much less calculation than standard problem solving. These questions account for approximately 35% of the GRE quantitative reasoning section. You should not take more than one minute for each problem. Do not do unnecessary calculations: compare rather than calculate.
Each test has ten questions and should take 10 minutes.
Remember that variables (x, y etc.) can be positive, negative, zero or fractions, unless the
question states otherwise. So consider all the options before deciding the relationship.
Read our explanations carefully and learn from your mistakes.


Developing a website isn't a hard work, the code only need to be well structured. That's why I'm looking for more performant tools. Frameworks are now essential for software developers.
A software developer has to be able to work alone and as part of a team. Excellent organizational skills allow me to multitask effectively.
An engineer has to be good at writing technical reports and specifications. This skill is almost as important as developing.
ISEP - Institut supérieur d'électronique de Paris.
Engineer specialized in software development.
One semester at Polytechnique Montreal
Imaload, digital agency in Paris Developing and maintaining the front end functionality of websites. Simultaneously managing several databases and reporting tools. Participating in discussions with clients. Languages and tools used: HTML5, CSS, PHP, SQL, Javascript, JQuery, AJAX, Wordpress, Dokuwiki, Mantis.
ISEP - Institut supérieur d'électronique de Paris. Top engineering graduate school in digital technology. 12/118 best engineering graduate schools in France. Subjects : Electronics, Software & Computer Engineering, Signal & Image Processing, Telecommunications and Networks
One-year intensive program in preparation for the national competitive exam for engineering graduate school. Subjects : Mathematics, Physics, Chemistry, Industrial Science, French, English, Philosophy.


{% extends "base.html" %} {% block bodydata %} data-project-id="{{category.project.id}}" data-category-id="{{category.id}}"{% endblock %} {% block title %} | Category: {{ category.name }}{% endblock %} {% block main %}
{{field.description}}
{% endif %}We couldn't find any fields for this category.
You can use fields to define what data should be collected for the category. For example, if your category is Restaurants, you might want to store a name, an address, the number of seats and which couisine they serve.
Create new field


Here are some recipes to help you get started with cooking. All of the recipes on this page would require a kitchen.


Bicentennial Man (1999) Reviewed by Eugene Novikov http://www.ultimate-movie.com. Member: Online Film Critics Society
Starring Robin Williams, Embeth Davidtz, Sam Neill. Directed by Chris Columbus. Rated PG.
Chris Columbus is master of melodrama, sire of schmaltz and czar of cheapness. His films are notorious sentimental hanky-fests. Stepmom, in particular, comes to mind, but each of his films, from Mrs. Doubtfire to Home Alone have those infamous moments of ultra-sentimental emotion. Many have labeled Columbus's movies as cheap and false, and they may be right, but his new one, Bicentennial Man is different. Somehow, the emotion in this one is genuine and the movie works: as a tearjerker, as family entertainment and as a comedy.
Robin Williams, who hasn't done an all-out comedy since the abominable Flubber and hasn't made a good one since Columbus's Nine Months, stars here as Andrew, a domestic robot owned by a kindly 2005 family. The head of the family (Sam Neill), known only as "Sir" since that's what Andrew calls him, begins to notice something unique about his household appliance. He takes Andrew to his parent company which wants to "correct the defect." They go away and Sir takes on Andrew's education himself, feeling the responsibility to help the robot grow to bigger and better things.
Andrew himself has grown fond of Sir's youngest daughter, "Little Miss," who befriends him. Their relationship develops for fifteen years until Andrew, now officially an enlightened robot (as well as an expert clock-maker), asks for his freedom. Sir gets PO-ed at Andrew's alleged ungratefulness and, in essense, kicks him out, with a self- righteous "You now have your freedom." So Andrew goes off and builds a house of his own on the oceanside, where Little Miss can come to visit him as often as she likes.
After Sir's death, Andrew feels something missing from his "life," so he goes on a twenty year journey to seek out other robots like him. What he finds is a robot scientist (the dependable Oliver Platt) who helps him take on human form. But can he actually become a human and obtain all the privileges that go with it, like the ability to marry a human?
Bicentennial Man was based on a pair of short stories by renowned sci- fi writer Isaac Asimov but it was, of course, altered to be more crowd- pleasing and mainstream. The result is hardly ground-breaking cinema, but it's watchable, touching, profound and sometimes downright allegorical. Granted, it occasionally has over-sentimental and cloying moments Chris Columbus-style, but they feel marginally genuine: things real people might say or do. I'm still not sold on Columbus's often condescending style of filmmaking, but at least he's heading in the right direction.
I liked Robin Williams here too; his purpose, for once, isn't sucking up to the audience. His performance is quirky, funny and sincere; not his best, but a lot of fun to watch. I also enjoyed Oliver Platt, whose hilarious deadpan delivery is impossible to get tired of. This isn't an actors' movie: the performances are often overshadowed by the flashy, though not spectacular special effects. The animatronics and CGI used to create the robot are just as smooth and aesthetically flawless as the performances. This is, after all, a 100 million dollar movie: the A- List stars are here, but they are not alone.
There is, of course, a final "inspirational" speech and it's in a courtroom, of sorts. I dread that family movie staple. But in Bicentennial Man it is kept concise and to the point -- definitely a plus. Most importantly, though, the speech doesn't make you cringe. It actually means something. It's well-written and well-delivered. It doesn't always follow the formula.
As some critics have pointed out, this plot has been done before, and sometimes better, on the tv series Star Trek: The Next Generation, where "Data," an android, was on a constant quest to become as human as possible. True, there are similarities -- ah hell, it's exactly the same thing -- but it's unfair to penalize Bicentennial Man for it. There was more than enough room for two falling meteor flicks (Deep Impact and Armageddon) as well as two computer-animated movies about ants (Antz and A Bug's Life) all in the same year, so why cripe about something that's not nearly as conspicuous?
A couple of final quibbles: I'm now offering a substantial reward for James Horner's severed head on a stick.  The Oscar-winning composer's music here is god-awful, with "tender" violin compositions playing ceaselessly in the background, telling us exactly how to feel about the events on screen. Also, at 2 hours 11 minutes, Bicentennial Man is a little on the long side, but then again with the streak of 3-hour-plus Oscar contenders being released in these next few months, I guess I shouldn't complain.
Bicentennial Man is well-worth a look this holiday season, especially if your other choice is something like Anna and the King which, I hope, leaves theaters in a hurry. This isn't a perfect movie, but it entertains and touches the heart, and it's certainly a big step up from Patch Adams.
Grade: B
©1999 Eugene Novikov
Sent via Deja.com http://www.deja.com/ Before you buy.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The Seven Wonders of the Ancient World
The Great Pyramid of Giza
The Hanging Gardens of Babylon
The Statue of Zeus at Olympia
The Colossus of Rhodes
The Temple of Artemis at Ephesus
The Mausoleum at Halicarnassus
The Lighthouse of Alexandria


Hello world! My name is Urmil and I'm from Mumbai, India. I have a deep interest in technology, and you'll mostly find me coding on my laptop or tweaking my phone. I'm also very passionate about cars and
love
listening to music. Catch me online @urmilshroff!
About Me
Education
Mukesh Patel School Of Technology Management & Engineering
B. Tech. (Integrated), 2015-present
Cathedral & John Connon School
ICSE, 2004-2015
Experience
OneRoof Technologies
Flutter App Developer intern, May-June 2019
N.O.W. Mozilla Club
Build Lead, May 2019-present
Team Member, 2018-2019
ACM MPSTME
Technical Executive, July 2019-present
My Apps
A beautiful, Open Source Flutter UI template
An app to direct taxi drivers to customers looking for taxis
A desktop app to detect the exact model of a shoe using Deep Learning
A simple Android Root Checker app with 10K+ downloads!
Other Projects
An object detector using Python & OpenCV
The official website for Network for the Open Web
A script to easily work with Git in the Terminal
$ git checkout github.com/urmilshroff


Reports local variables assigned to expression with different type inside of closure of anonymous class.


{% extends "base.html" %} {% block head %}
Questions, bug reports and other comments can be sent to Dale Tronrud.
The Protein Geometry Database is developed and maintained by the P. Andrew Karplus lab at Oregon State University in Corvallis Oregon with principal coding by the Open Source Laboratory.
{% endblock %}