This visualization allows the user to explore the interaction between surface current flow and temperature across the worlds oceans. 2012 was a year with abnormal weather patters; the world's oceans act as a regulator for the weather. As all the bodies of water are connected, it is useful to explore this data as a representation of where it actually is: on a globe.
Current lines are drawn with a small arrow indicating flow direction, with opacity and length of the arrow vector indicating flow strength. As shape sizes on a digital screen are difficult to measure with the human eye, the current vectors are meant to give a sense as to the flow of water in a particular region, not as a means to record and study particular values.
Temperature is binned into zones. Obviously the warmest waters are along the world's equators, but it becomes apparent that the current flow pushes colder or warmer waters into different zones along coasts and gulfs while sometimes aggregating in the open expanses of ocean.


Name: position
Input: None.
Output: Single entry of data type number.
Definition: Short description of the function, style of the old system manual
Argumentlist: This function accepts no arguments.
Discussion: Detailed explanation and examples


|
VirtualSCADA
1.0
VirtualSCADA Senior Design Project
|
Public Member Functions | |
| def | __init__ |
| def | make_symlinks |
| def | start_log (self) |
| def | log_packet |
| def | run (self) |
| def | stop (self) |
| def | port_names (self) |
Data Fields | |
| baud | |
| Set up baud rate delay for ptys. More... | |
| emulate | |
| byte_delay | |
| masters | |
| Create Pseudoterminals. More... | |
| slaves | |
| serials | |
| Create symlinks to the slave ports before adding serial objects. More... | |
| serial_fds | |
| masters_to_slaves | |
| leader | |
| followers | |
| rs485_mode | |
| done | |
| log | |
| Start logging. More... | |
Static Public Attributes | |
| int | BUF_LEN = 1024 |
Port logger objects create two or more connected pseudoterminal devices that are connected together; each write to any of the devices is logged.
Definition at line 32 of file portlogger.py.
| def __init__ | ( | self, | |
number_of_ports = 2 , |
|||
logfile = None , |
|||
symlinks = None , |
|||
ports = None , |
|||
baud = 9600 , |
|||
force_symlinks = False , |
|||
emulate = False , |
|||
rs485 = False |
|||
| ) |
Creates the portLogger object. self. masters and self.slaves hold file descriptors of corresponding master and slave sides of the pseudoterminals. @param numberOfPorts Number of pseudoterminals to create. Default is 2. @param logfile Name of the logfile. @param symlinks Iterable of filenames to symlink the slaves to @param ports List of filenames of physical serial ports to connect&log @param baud Baud rate for the links. If pty is used, a wait is used to simulate transmission times. @param emulate Emulate a baud rate delay for communicating between @param rs485 RS-485 emulation. If true, the first pty is selected to broadcast to other ports, and other ports only send responses to the first pty. pseudoterminal devices. Serial ports are unaffected. @param force_symlinks If true, if a file name given to be created as a symlink is already a link, a new link will be forced in its place. If it exists and is not a link, the program will halt.
Definition at line 39 of file portlogger.py.
| def log_packet | ( | self, | |
| port_fd, | |||
| packet, | |||
timestamp = None |
|||
| ) |
Writes a packet entry to the log
Definition at line 135 of file portlogger.py.
| def make_symlinks | ( | self, | |
| symlinks, | |||
force_symlinks = False |
|||
| ) |
Creates symlinks from the names of the slave ptys to the targets in the iterable symlinks. This is useful to have constant names for the ports created with the port logger. There is no guarantee that a given pty will be linked to a specific symlink. @param symlinks Iterable of filenames to symlink the slaves to. @param force_symlinks If true, if a file name given to be created as a symlink is already a link, a new link will be forced in its place. If it exists and is not a link, the program will halt.
Definition at line 106 of file portlogger.py.
| def port_names | ( | self | ) |
Returns a list of filenames of ports made available by this object. @returns a list of filenames
Definition at line 185 of file portlogger.py.
| def run | ( | self | ) |
Function that executes when this thread is started. run() listens to on all pty objects and echoes incoming data to all other ports.
Definition at line 144 of file portlogger.py.
| def start_log | ( | self | ) |
Writes a header to the log file
Definition at line 128 of file portlogger.py.
| def stop | ( | self | ) |
Stops execution of the logger. The logger is closed and the thread exits
Definition at line 177 of file portlogger.py.
| baud |
Set up baud rate delay for ptys.
Definition at line 60 of file portlogger.py.
|
static |
Definition at line 36 of file portlogger.py.
| byte_delay |
Definition at line 62 of file portlogger.py.
| done |
Definition at line 96 of file portlogger.py.
| emulate |
Definition at line 61 of file portlogger.py.
| followers |
Definition at line 92 of file portlogger.py.
| leader |
Definition at line 91 of file portlogger.py.
| log |
Start logging.
Definition at line 101 of file portlogger.py.
| masters |
Create Pseudoterminals.
Definition at line 66 of file portlogger.py.
| masters_to_slaves |
Definition at line 86 of file portlogger.py.
| rs485_mode |
Definition at line 93 of file portlogger.py.
| serial_fds |
Definition at line 81 of file portlogger.py.
| serials |
Create symlinks to the slave ports before adding serial objects.
Create serial objects
Definition at line 78 of file portlogger.py.
| slaves |
Definition at line 67 of file portlogger.py.


713_shi-shi-kan-m.py
class Solution:
def minDays(self, grid: List[List[int]]) -> int:
m, n = len(grid), len(grid[0])
def get2Island():
seen = [[False]*n for _ in range(m)]
def dfs(i, j):
seen[i][j] = True
for di, dj in [[-1, 0], [1, 0], [0, -1], [0, 1]]:
ni, nj = i+di, j+dj
if 0<=ni<m and 0<=nj<n and grid[ni][nj] and not seen[ni][nj]:
dfs(ni, nj)
return
ans = 0
for i in range(m):
for j in range(n):
if not seen[i][j] and grid[i][j]:
ans += 1
grid[i][j] = 0
dfs(i, j)
grid[i][j] = 1
return ans
if get2Island() >= 2:
return 0
for i in range(m):
for j in range(n):
if grid[i][j]:
grid[i][j] = 0
if get2Island() >= 2:
return 1
grid[i][j] = 1
return 2


From the newsletter ... |
|
Light of the world...I don't know about you, but I've been overwhelmed this year by the magnitude of suffering in the world. I remember in the Easter CrossTalk, trying to make a response to the suffering we had all witnessed on Boxing Day last year, when the Tsunami struck. Since then we've watched appalling images of starving families in Niger and Malawi. Now we hear the Pakistan authorities have confirmed a death toll of nearly 80,000 after the terrible earthquake that has devastated the lives of hundreds of thousands of people. Closer to home, we experienced our own vulnerability on a much smaller, but nonetheless frightening scale, with the London Tube bombings. On a global scale, most of us in the UK remain relatively secure and indeed remote from the rest of the world's suffering, yet I sense a general social anxiety about what the future holds. The financial security that my father's generation enjoyed -- retiring on maximum pension benefits -- is long gone. Funding for state and private pensions is unsustainable. Most endowments, for repaying mortgage capital, will fail to meet their projected maturity values and a high proportion of NHS trusts are facing huge budget deficits. My dear doctor friend passed on to me some worrying statistics the other day -- half the hospital beds in this country are occupied by the mentally ill; Valium based drugs are the second most prescribed drug on the NHS; heart disease is set to become the number one killer in coming years; it's thought that some serious medical conditions have a stress-related component. I bet you're thinking "some Christmas article this is!" But please don't put it down, read on, for there is hope -- great words of hope spoken to us by Jesus Christ:
As hard as it might be to believe -- YOU are valuable to God. One of the greatest causes of anxiety is unbelief -- our difficulty in believing that God cares passionately about us. At its root lies the thought that "I matter more to me than I matter to God". The person of little belief has a little God -- too small, they believe, to care about the details of their lives so that they worry about them for themselves. I believe there is an answer to our worry and anxiety, and it's this -- to stop believing in a man-made lttle God -- locked up in the wonder of nature, distant and remote from each of us and to start believing in the real God who comes to us in the person of Jesus Christ. Once we understand that we are truly valued by God we begin to develop the capacity to be orientated towards the needs of his world. Not only is this God's intention but, amazingly, it liberates us from our own anxieties and social dis-ease. In this edition of CrossTalk you'll find details of a whole range of Christmas services and I would like to take this opportunity to invite you to celebrate the true meaning of Christmas in your Parish Church. Cogges Parish | Other articles | Feedback © 2005; Published in Cogges Parish monthly newsletter, December 2005 |


Fix for cleanUp being called twice (thanks to @sebastiancarlsson)
Fix for YouTube controls on iPad (fixes #391)
v2.0.10
Added seek event fixes for Vimeo and YouTube (fixes #409)
Added support for embed URLs rather than ID only (fixes #345)
v2.0.9
Temporary patch for the YouTube API issues with getDuration() (relates to #374)
v2.0.8
Added isPaused() API method (thanks to @darrena092)
Allowed .on() API method to be chainable (thanks to @gurupras) (fixes #357)
Improved the “awful” rendering of captions on small screens in fullscreen mode (fixes #390)
Fix for Firefox VTT compatibility (thanks to @magourex)
Fix for Firefox Developer Edition blank video due to -webkit-mask-image issue (fixes #392)
Added Issue and PR templates with the aim of reducing duplicate or duff issues
v2.0.7
Fixed getCurrentTime() method (fixes #351)
Added getVolume() , isMuted() and getDuration() API methods (fixes #346)
v2.0.6
Fixed merge issue with Updated define to work with AMD imports #326 PR
Code formatting
v2.0.5
Fix for Vimeo in IE9 & IE10
Fix for HTML5 elements not firing ready event
v2.0.4
Fix for Firefox full screen (fixes #343)
v2.0.3
Set ‘global’ keyboard shortcut option to false as default, added <textarea> to editable elements to be ignored
v2.0.2
Added ‘global’ keyboard shortcut option
v2.0.1
Version bump for NPM (sorry for folks who upgraded to the now deleted v1.9.0 through NPM)
v2.0.0
This version contains several potential breaking changes:
setup() has been reverted to pre v1.8.0 behaviour; meaning it will return the instance rather than the element. This is because the reference to the instance is no longer added to the original element (see below).
The reference to the plyr instance is now added to the media element rather than original container. This is because if a container with multiple children was passed to setup() the references to all instances would have been added to the container, creating issues. I would recommend using the return value from setup() or the new get() method to access the instance.
Players will always be wrapped in their own div now - this makes setup() and destroy() cleaner. This may break any custom styling based on DOM position.
Players no longer seek to 0 on ‘ended’ - this is to fix a bug with Microsoft Edge as it triggers ‘ended’ on media change for whatever reason. They’ll never change ;-)
And some other changes and bug fixes:
New get() method on the global plyr object to get all instances inside a container
New API methods:
getOriginal() to get the original, unmodified element plyr was setup on (<video>, <audio> or empty <div> for YouTube and Vimeo)
getContainer() to get the players outer wrapper element
getMedia() to get the players media element (<video>, <audio> or empty <div> for YouTube and Vimeo)
getEmbed() to access the YouTube or Vimeo API directly
getType() to get the type of the player
isReady() to determine if an instance has completed setup and necessary APIs are loaded (for YouTube / Vimeo)
on() to provide an easy way to listen to events
stop() to, you guessed it, stop the player
destroy() now works correctly for YouTube and Vimeo (fixes #272)
New destroyed event when destroy() has completed (original element is passed as event.target)
Default volume is now 10 (max) rather than 5
Sprite is only loaded once (fixes #259)
Fixes for Vimeo post message bugs on source change or destroy (fixes #318)
Save caption state in storage (fixes #311)
Added keyboard shortcuts to the current focused player (with keyboardShortcuts boolean option to disable) (fixes #309)
Fix for captions bug (fixes #332)
Change to AMD (fixes #298)
v1.8.12
Vimeo keyboard focus fix (Fixes #317)
Fix for Vimeo on basic support devices
v1.8.11
Fix for keyboard navigation on Vimeo (Fixes #317)
Fix for bug introduced in v1.8.9 related to additional controls
Vimeo API upgrade
Fix for YouTube bug introduced in v1.8.9
Added support for passing array to .setup() (Fixes #319)
v1.8.10
Fix for seek issues introduced in v1.8.9
v1.8.9
Fix for fullscreen not being defined (Fixes #295)
Fix for multiline captions (Fixes #314)
Clean up of type checks and fix for restart() (Fixes #315)
Fix for MEDIA_ERR_SRC_NOT_SUPPORTED when calling .source() API method
v1.8.8
Added getCurrentTime API method (fixes #292)
Fix for !hideControls on touch devices (fixes #303)
v1.8.7
Line height fix
v1.8.6
Reverted font size change
v1.8.5
Fixed overflow issues (fixes #286)
v1.8.4
Fix for large play button on small videos
v1.8.3
Disabled iPad support for YouTube and Vimeo due to iOS limitations with iFrame playback
Fixed IE11 icon loading (fixes #269)
Updated screenshot (fixes #281)
Added WordPress plugin (fixes #239)
Added Neos plugin
Added HLS, Shaka and dash.js examples (see #235 for more)
Improvements for controls hiding and showing on touch devices
v1.8.2
Fixed event bubbling
v1.8.1
Fixed inaccurate log message
v1.8.0
(Important)setup() now returns the element Plyr was setup on rather than the plyr object. This means var player = plyr.setup()[0]; would now be var player = plyr.setup()[0].plyr;. This improves support for React and other virtual dom frameworks as mentioned in #254
Fixed using a relative URL for iconUrl in IE (fixes #269)
v1.7.0
SASS cleanup (fixes #265)
Docs tidy up to help quick start (fixes #253)
Fix for issues with data attribute options passing (fixes #257)
(Important) Removed the requirement for a wrapper div to setup Plyr and removed the dependency on the plyr classname as a JS hook. By default it will now look for <video>, <audio> and [data-type] elements. If you are just calling setup() with a <div class="plyr"> you may want to give it a good test after upgrading. You can probably remove the wrapper div. The reason behind this is to make setup easier for newcomers and prevent the styling being used on unsupported players (because the plyr classname was used as a CSS and JS hook - which isn’t ideal)
Renamed the ‘docs’ folder to demo to avoid confusion - the readme is the docs after all
v1.6.20
Fix for multiple sprites being requested (fixes #259)
v1.6.19
Fix for scroll direction issues on volume control (fixes #258)
v1.6.18
Reduced rounding of seek value from 1 decimal point to 4 (fixes #242)
v1.6.17
Added disableContextMenu option to hide the right click context menu (fixes #248 and #225)
v1.6.16
Always hide standard controls (fixes #225)
Fix for Tooltips overflowing (fixes #230)
v1.6.15
Restore scroll position when exiting full screen (fixes #236)
v1.6.14
SVG sprite loading automatically for an easier setup
Touch devices now show controls on touch rather than pausing playback
v1.6.13
Decreased sensitivity and inverted scroll on volume slider (scroll up to increase, down to decrease)
v1.6.12
Fix for undefined buffer error
Add scroll listener on volume slider (PR #227 bty @igoradamenko)
v1.6.11
Fix for Vimeo fullscreen (fixes #214)
v1.6.10
Changed default icon prefix from ‘icon’ to ‘plyr’ to avoid clashes
v1.6.9
Added ‘latest’ CDN option
Renamed sprite.svg to plyr.svg to be inline with the other package files
v1.6.8
Fix for bug introduced in v1.6.7
v1.6.7
Fixes for using source API method on iOS
v1.6.6
Icons cleaned up
IE11 button fix for tooltips (fixes #210)
v1.6.5
IE UI bug fixes
v1.6.4
Bug fix for undefined progress bar
v1.6.3
Seek back to 0 for all media on ended
Check for HTML5 video on ended reload
Update to docs for showPosterOnEnd option
v1.6.2
Fix for tooltip displaying when duration is not set (fixes #177)
showPosterOnEnd option to show poster when HTML5 video ended (fixes #59)
Error handler for YouTube (fixes #189)
Initial SoundCloud support (fixes #194)
Other minor bug fixes
v1.6.1
Tooltip changes for accessibility
v1.6.0
New, cleaner, UI:
Controls are now overlaid, maintaining the video’s ratio and making sizing easier
A large play button can now be overlaid over videos
Default number of control buttons reduced
New play, pause, rewind and fast forward icons
Flexbox all the things!
Tidied up the LESS (and SCSS) as part of the above, variables and mixins in seprate files amking customization and upgrades easier
Toggle mute bug fix; if a player was muted previously and the user refreshed, unmuting would have meant volume was still zero (effectively muted), now the config default value is used. Not ideal but good for now
New iconUrl option allowing specifying a same origin SVG sprite location. Loading this way means you don’t need the AJAX sprite loading JavaScript
click option renamed to clickToPlay to make it a bit more self explanatory. Unfortunately cross origin SVG sprites is not supported in any browser yet :-(
hideControls is now a global option, rather than being exclusive to fullscreen. Controls are now hidden after 2 seconds of no mouse movement. Controls are always shown when media is paused or stopped. This is defaulted to true.
sass folder in src renamed from to scss
v1.5.21
Bug fix for embeds: play not being defined (fixes #185 and #186)
v1.5.20
Bug fix for autoplay option
v1.5.19
Fix for accessing embed property after ready event fired
v1.5.18
Added ‘ready’ event for initial setup complete or source change occurs
Fixed SASS stylesheet references to transparentize
Added default font stack to controls
Docs fixes inc controls HTML (fixes #180)
v1.5.17
Expose YouTube and Vimeo API (docs update required) (fixes #176)
Auto set title based on YouTube getVideoData() title property
Bug fix for Vimeo API change (Uncaught TypeError: Cannot read property ‘value’ of undefined) due to a change their end
v1.5.16
Cancel requests on source change (fixes #174)
v1.5.15
Fix for CustomEvent polyfill and related bug (see #172)
v1.5.14
Volume storage fix (fixes #171)
v1.5.13
Fix for manual caption rendering
v1.5.12
Added a duration option to pass the duration of the file
Added the ability to set options per element by setting a data-plyr attribute on the target elements (this might be useful for the duration option for example)
Fixes for Chrome and Safari caption rendering, they now use the default texttrack and cuechange events
Firefox bug fix for event not defined
v1.5.11
iOS embed bug fixes (fixes #166)
Hide IE/Edge tooltip (since we have a styled one) (fixes #160)
SASS bug fix for default values (fixes #158)
v1.5.9 + v1.5.10
NPM bug fixes
v1.5.8
Fix for touch device seek tooltip
Seek improvements
v1.5.7
Fix for control tooltips always showing
v1.5.6
Seek tooltip (option for tooltips changed, please check docs)
SASS compile error fixes (fixes #148)
Fullscreen fixes for controls not always hiding/showing (fixes #149)
Screen reader icon fixes (title was being read twice due to the tooltip/hidden label)
v1.5.5
Fixed controls.md example
Bug fix for docs error page
Bug fix for controls tooltips
v1.5.4
Minor bug fix for clicking video to play/pause after source change
v1.5.3
Minor bug fix for occasional display of 0:00 as the media duration
v1.5.2
handlers option renamed to listeners
Added event listeners for all types to the plyr container (playback, fullscreen, captions etc - see docs)
Removed onSetup config option (use the ‘setup’ event instead, plyr element is event.plyr)
Style bug fixes
Vimeo seek bug fix (requires whole seconds when seeking)
Fix for fullscreen player (using class hook, not browser fullscreen)
v1.5.1
Fix for event listeners being duplicated on source change
v1.5.0
Vimeo support (fixes #8)
New options for initialization (you can now pass a selector, HTMLElement or NodeList) (fixes #118)
Switched to BEM methodology (you will need to change CSS and probably HTML)
Decoupled CSS and JS hooks (fixes #129)
Custom controls container (fixes #98)
Fix for private/incognito mode local storage bug (fixes #131)
UMD module setup (fixes #121)
Specify iframe title for Vimeo and YouTube (fixes #124)
Better handling of mission controls (fixes #132)
Retain classname on source change (fixes #120)
Increased thumb size on seek (partially fixes #130)
Passing no argument to source api method, now returns current source (by @gurupras)
Ability to add custom handlers to controls prior to Plyr bindings (by @gurupras)
Keyboard navigation improvements (focus on seek, focus trap in fullscreen) (fixes #135)
v1.3.5
Fixed bug with API use on basic supported browsers
v1.3.4
Code cleanup by @calvintam236
v1.3.3
Removed captions being read by screen readers
v1.3.2
Voiceover fix for captions
v1.3.1
ARIA improvements for captions being read
v1.3.0
Internationalization support (i18n) using default controls (required markup changes to controls)
ARIA enhancements for controls (required markup changes to controls)
Captions legibility improvements
YouTube bug fixes
v1.2.6
SASS updates and fixes (cheers @ChristianPV)
v1.2.5
Fix for YouTube quality (let them decide quality)
v1.2.4
Fix for omitted kind attribute on
v1.2.3
Fix for YouTube on iPhone or unsupported browsers (fallback to YouTube native)
Docs tidy up
Fullscreen for Safari fix (fixes #96)
v1.2.2
Fix for :focus keyboard vs mouse (fixes #61)
Fix for caption positioning in full screen (fixes #92)
v1.2.1
Tooltip bug fix
v1.2.0
Added YouTube support
v1.1.13
Added icon prefix option for when using default controls
v1.1.13
Logic tweaks for hiding controls in fullscreen
v1.1.12
Bug fix for Chrome Canary
v1.1.11
Bug fix
v1.1.10
Bug fix
v1.1.9
Bug fix for 1.1.8
v1.1.8
setVolume API method improvements (fixes #83)
v1.1.7
Restore classname on destroy()
v1.1.6
New API methods (fixes #77), Fix for non strict mode (fixes #78)
v1.1.5
Fix for incorrect isFullscreen() return value in Mozilla (fixes #38)
v1.1.4
Minor bug fixes
v1.1.3
Fixes for random id used in controls with multiple instances and one call to setup
Audio player UI improvements
v1.1.2
Added an onSetup callback option
Added fullscreen API methods toggleFullscreen() (must be user iniated), and isFullscreen()
v1.1.1
Fix for unsupported browser handling
Fix for config.controls having no effect
v1.1.0
Added config option to set which controls are shown (if using the default controls html) and better handling of missing controls
v1.0.31
Display duration on metadataloaded
v1.0.30
Fixed bug with media longer than 60 minutes (fixes #69)
v1.0.29
Added option to hide controls on fullscreen (default true) while palying, after 1s. Pause, mouse hover on progress, or focus on a child control re-shows the controls. On touch a tap of the video (which plays/pauses the video by default) is required. (fixes #47)
Fixed a bug with caption toggle in 1.0.28
v1.0.28
Added API support for browsers that don’t have full plyr support (pretty much <=IE9 and <video> on iPhone/iPod)
v1.0.27
Keyboard accessibility improvements (fixes #66)
v1.0.26
Fixes for SASS (cheers @brunowego)
Indentation reset to 4 spaces
v1.0.25
Fixes for iOS volume controls (hidden)
Classnames for left/right controls changed
v1.0.24
Added tooltip option to display labels as tooltips (fixes #50)
v1.0.23
Handling loading states in the UI (fixes #36)
v1.0.22
Added support() API method for checking mimetype support
Added source() API method for setting media source(s) (fixes #44)
Added poster() API method for setting poster source
Refactored captions logic for manual captions
v1.0.21
Added an for seeking to improve experience (and support dragging) (fixes #40, #42)
Icons for restart and captions improved (and some IDs changed) (fixes #49)
v1.0.20
Default controls included (Fixes #45)
Volume changes on input as well as change (fixes #43)
Fix for undefined Play text
License changed to MIT
v1.0.19
Fixed firefox fullscreen issue (fixes #38)
v1.0.18
Added CDN references
v1.0.17
SASS support added (thanks to @brunowego)
Docs completely separated to avoid any confusion
New gulp tasks (will add more documentation for this)
v1.0.16
Aria label is now dynamic
v1.0.15
Fix for seek time display in controls
More documentation for controls html
v1.0.14
Minor change for bootstrap compatibility
v1.0.13
Minor tweaks
v1.0.12
Handle native events (issue #34)
v1.0.11
Bug fixes for fullscreen mode
v1.0.10
Bower includes src files now
Folder re-arrangement
v1.0.9
Added buffer progress bar
Fixed Safari 8 caption track (it needs to be removed from the DOM like in Safari 7)
Added validation (it works or it doesn’t basically) of the html option passed
v1.0.8
Bug fix
v1.0.7
Storing user selected volume in local storage
v1.0.6
Fullscreen fallback for older browsers to use “full window”


{% extends "admin/settings.html" %} {% load djblets_utils i18n %} {% block form_content %}
{% blocktrans %} The SSH key configured here will be used for communication with any SSH-backend repositories. {% endblocktrans %}
{{fingerprint}}
{% blocktrans %} You can generate a brand new RSA key specific to this installation of Review Board. {% endblocktrans %}
{% blocktrans %} Note that generating a key may take some time. Don't click more than once. {% endblocktrans %}
{% blocktrans %} If you already have an SSH key (id_dsa or id_rsa file) you want to use, you can upload it. Note that this key will be readable by the web server, so provide one you feel safe using. {% endblocktrans %}
id_dsa
id_rsa


There's no need for you to go through the preliminaries designed for common soldiers, master! Enjoy the fights, sir!


Massive.js is a data mapper for Node.js that goes all in on PostgreSQL and fully embraces the power and flexibility of the SQL language and relational metaphors. Providing minimal abstractions for the interfaces and tools you already use, its goal is to do just enough to make working with your data as easy and intuitive as possible, then get out of your way.
This project is maintained by dmfay
Hosted on GitHub Pages — Theme by orderedlist
Object-relational mappers tend to ignore functions. For many, the database exists solely as a repository, with data manipulation reserved for application logic and external jobs.
To be fair, this setup is perfectly sufficient for many use cases. But when it isn’t, it hurts. With functions, you can perform complex operations on your data at a scope and speed unrivaled by anything else. Why go to the trouble of querying bulk data into another system and manipulating it – only to put it back where it was with a second trip across the wire? Especially when there’s a powerful, flexible language purpose-built for set operations right there? You wouldn’t work that way, and Massive won’t make you: functions are first-class citizens as far as it’s concerned.
All functions visible to the connecting role are attached to the Massive instance, unless the loader configuration restricts function loading. See the Connecting chapter for more information.
Massive doesn’t stop at the functions present in the database itself: on startup, it looks for script files in your project and loads them up too. These files are prepared statements and can use $1
-style placeholders.
By default, Massive searches the /db
directory, but this can be customized by setting the scripts
property in the loader configuration. The scripts directory can contain further subdirectories; like schemas, these are treated as namespaces. Unlike schemas, they can be nested to arbitrary depth.
Like run
, prepared statements in script files can use named parameters instead of $1
-style indexed parameters. Named parameters are formatted ${name}
. Other delimiters besides braces are supported; consult the pg-promise documentation for a full accounting.
Prepared statement scripts must consist of one and only one SQL statement. Common table expressions or CTEs can take some of the sting out of this requirement, but if you need to execute multiple statements with arbitrary parameters it’s time to turn it into a proper function.
Massive treats functions and scripts identically. Each is attached as a function which may be invoked directly. Parameters may be passed in one by one or as an array. Results are returned in the usual Massive style as an array of objects.
If enhancedFunctions
is set to true
in the loader configuration, functions returning scalars or flat arrays will be intercepted and the results massaged into scalars or flat arrays, as appropriate. Since this represents a departure from the consistent form, it must be explicitly enabled on initialization.
db.uuid_generate_v1mc().then(arr => {
// an array containing the generated UUID (requires the
// uuid-ossp extension)
});
db.myTestQueries.restartTests(5, true).then(results => {
// this runs the prepared statement in
// db/myTestQueries/restartTests.sql with the above
// parameters and returns any output from a RETURNING clause
});
db.myTestQueries.restartTests({
category: 5,
force: true
}).then(results => {
// as above; the prepared statement should use ${category}
// and ${force} instead of $1 and $2.
});


<slot-all>
Custom element to distribute all elements regardless of their slot name
link

div

span

default

<template is="shadow-root">

Distribute all elements for named slots without knowing their names

<slot-all></slot-all>
<slot></slot>
</template>
link
div
span
default
Distribute all elements for named slots without knowing their names
Looking for more specs? Check out the test suite.


Pathfinder Worker:
Your result:
Rank C
Good work. If the remaining finders adventures will show such results, this it will return to us hope.
It cannot be always rely on the aid of others. Sometimes for you it is necessary to act independently.
We, pathfinders, prepared reward for those, who it reached the impressive results, in order to in following time they could carry out task still better.
You do want to obtain the reward, which corresponds to your level?
[npc_%objectId%_SoloKamaReward|To obtain the reward.]


Policy Contribution Search
This tool will search for a user's contributions to policy and guideline pages on the English Wikipedia.
Username:


A list of Electricity Suppliers will be displayed here. Click into a record for more detailed information.
To create a new Electricity Supplier, click the "New" button in the ribbon an fill in the required fields.


public interface URNspec
extends org.eclipse.emf.ecore.EObject
The following features are supported:
TURNPackage.getURNspec()
| Modifier and Type | Method and Description |
|---|---|
org.eclipse.emf.common.util.EList<Actor> |
getActors()
Returns the value of the 'Actors' containment reference list.
|
org.eclipse.emf.common.util.EList<Concern> |
getConcerns()
Returns the value of the 'Concerns' containment reference list.
|
org.eclipse.emf.common.util.EList<ContributionContextGroup> |
getContribContextGroups()
Returns the value of the 'Contrib Context Groups' containment reference list.
|
org.eclipse.emf.common.util.EList<ContributionContext> |
getContribContexts()
Returns the value of the 'Contrib Contexts' containment reference list.
|
org.eclipse.emf.common.util.EList<IndicatorConversion> |
getIndConversions()
Returns the value of the 'Ind Conversions' containment reference list.
|
ConcreteURNspec |
getInfo()
Returns the value of the 'Info' containment reference.
|
org.eclipse.emf.common.util.EList<Metadata> |
getMetadata()
Returns the value of the 'Metadata' containment reference list.
|
java.lang.String |
getName()
Returns the value of the 'Name' attribute.
|
org.eclipse.emf.common.util.EList<EvaluationStrategy> |
getStrategies()
Returns the value of the 'Strategies' containment reference list.
|
org.eclipse.emf.common.util.EList<StrategiesGroup> |
getStratGroups()
Returns the value of the 'Strat Groups' containment reference list.
|
org.eclipse.emf.common.util.EList<UCMmap> |
getUcmMaps()
Returns the value of the 'Ucm Maps' containment reference list.
|
org.eclipse.emf.common.util.EList<URNlink> |
getUrnlinks()
Returns the value of the 'Urnlinks' containment reference list.
|
boolean |
isShowAsMeansEnd()
Returns the value of the 'Show As Means End' attribute.
|
void |
setInfo(ConcreteURNspec value)
Sets the value of the '
Info ' containment reference. |
void |
setName(java.lang.String value)
Sets the value of the '
Name ' attribute. |
void |
setShowAsMeansEnd(boolean value)
Sets the value of the '
Show As Means End ' attribute. |
java.lang.String getName()
If the meaning of the 'Name' attribute isn't clear, there really should be more of a description here...
setName(String)
,
TURNPackage.getURNspec_Name()
void setName(java.lang.String value)
Name
' attribute.
value
- the new value of the 'Name' attribute.getName()
ConcreteURNspec getInfo()
If the meaning of the 'Info' containment reference isn't clear, there really should be more of a description here...
setInfo(ConcreteURNspec)
,
TURNPackage.getURNspec_Info()
void setInfo(ConcreteURNspec value)
Info
' containment reference.
value
- the new value of the 'Info' containment reference.getInfo()
org.eclipse.emf.common.util.EList<Actor> getActors()
Actor
.
If the meaning of the 'Actors' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_Actors()
boolean isShowAsMeansEnd()
If the meaning of the 'Show As Means End' attribute isn't clear, there really should be more of a description here...
setShowAsMeansEnd(boolean)
,
TURNPackage.getURNspec_ShowAsMeansEnd()
void setShowAsMeansEnd(boolean value)
Show As Means End
' attribute.
value
- the new value of the 'Show As Means End' attribute.isShowAsMeansEnd()
org.eclipse.emf.common.util.EList<StrategiesGroup> getStratGroups()
StrategiesGroup
.
If the meaning of the 'Strat Groups' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_StratGroups()
org.eclipse.emf.common.util.EList<EvaluationStrategy> getStrategies()
EvaluationStrategy
.
If the meaning of the 'Strategies' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_Strategies()
org.eclipse.emf.common.util.EList<IndicatorConversion> getIndConversions()
IndicatorConversion
.
If the meaning of the 'Ind Conversions' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_IndConversions()
org.eclipse.emf.common.util.EList<ContributionContextGroup> getContribContextGroups()
ContributionContextGroup
.
If the meaning of the 'Contrib Context Groups' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_ContribContextGroups()
org.eclipse.emf.common.util.EList<ContributionContext> getContribContexts()
ContributionContext
.
If the meaning of the 'Contrib Contexts' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_ContribContexts()
org.eclipse.emf.common.util.EList<UCMmap> getUcmMaps()
UCMmap
.
If the meaning of the 'Ucm Maps' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_UcmMaps()
org.eclipse.emf.common.util.EList<Concern> getConcerns()
Concern
.
If the meaning of the 'Concerns' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_Concerns()
org.eclipse.emf.common.util.EList<URNlink> getUrnlinks()
URNlink
.
If the meaning of the 'Urnlinks' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_Urnlinks()
org.eclipse.emf.common.util.EList<Metadata> getMetadata()
Metadata
.
If the meaning of the 'Metadata' containment reference list isn't clear, there really should be more of a description here...
TURNPackage.getURNspec_Metadata()


This is S M A L L D A N
You will not believe it, but I continue to write the site. All this time I use an interpreter. In fact, I'm an ordinary person who is trying to write a website. I think you will appreciate it. DO NOT BE AFRAID WHAT DOES NOT GET - FEAR THAT YOU WILL NOT TRY..
DetailS ABOUT SMALLDAN
Who does not risk that he does not drink champagne. Or does not eat at someone else's expense
CREATIVE ACTIONS
This site was written by me, but with the help of my friend. I did not think that I had something to work out without knowing the English language, but as you can see, it works.
The main thing is that at this moment with you was the person who can support or cheer up. This is that quality that I appreciate in people. Further I do not know what to write on it we will make so: blah blah blah.
Our services
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentiumghtlkj;tybt tcn
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti
SMALLDAN is a company writing sites of any designs. We can write a beautiful site in a very short time. Turning to us you will get a lot of advice and information on how it will look like
Branding
WEb Design
UI/UX
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium
Branding
80%
Web-design
65%
Interface
75%
Branding
100%
Web-design
65%
Interface
75%


Home
About
Events
Contact
You have a Question for us?
Fill in the form...
or even better, just come by and ask us in person
Name
Email
Message
Send Message


ChangeWithIndexPath
public struct ChangeWithIndexPath
Undocumented
-
Undocumented
Declaration
Swift
public let inserts: [IndexPath]
-
Undocumented
Declaration
Swift
public let deletes: [IndexPath]
-
Undocumented
Declaration
Swift
public let replaces: [IndexPath]
-
Undocumented
Declaration
Swift
public let moves: [(from: IndexPath, to: IndexPath)]
-
Undocumented
Declaration
Swift
public init( inserts: [IndexPath], deletes: [IndexPath], replaces:[IndexPath], moves: [(from: IndexPath, to: IndexPath)])


Are you 18 or older?
Yes, I am over 18
No, I am not 18
Submit
Get out and Vote!
Register to Vote
Vote.org
Orgon.gov
usa.gov
Vote.gov
eac.gov
Voting Drop Box Locator
Drop Box Locator
Not quite old enough!
The Voting Process
Students & First time voters
Voting
Voting & Elections
How to Vote
Voter Registration Age


Apache Drill 1.17.0 Release Notes
Release date: December 26, 2019
Today, we’re happy to announce the availability of Drill 1.17.0. You can download it here.
New Features and Improvements
This release of Drill provides the following new features and improvements:
- DRILL-6540 - Upgrade to HADOOP-3.0 libraries. The hadoop-winutils version that worked for previous releases does not work with Drill 1.17 and later. Use the hadoop-winutils version provided with Drill 1.17 or use custom hadoop-winutils built for Hadoop 3.2.0.
- DRILL-6739 - Update Kafka libs to 2.0.0+ version
- DRILL-7401 - Upgrade to Sqlline 1.9
- DRILL-7200 - Update Calcite to 1.19.0 / 1.20.0
- DRILL-5674 - Support for .zip compression
- DRILL-6835 - Schema provision using File / Table Function
- DRILL-7337 - Support for vararg UDFs
- DRILL-7096 - Develop vector for canonical Map<K,V>
- DRILL-7343 - User-Agent UDFs added
Hive complex types support:
- DRILL-7251 - Read Hive array without nulls
- DRILL-7252 - Read Hive map using Dict<K,V> vector
- DRILL-7253 - Read Hive struct without nulls
- DRILL-7254 - Read Hive union without nulls
- DRILL-7268 - Read Hive array with parquet native reader
New format plugins support:
- DRILL-4303 - ESRI Shapefile (shp) format plugin
- DRILL-7177 - Format Plugin for Excel Files
- DRILL-6096 - Provide mechanisms to specify field delimiters and quoted text for TextRecordWriter
- Parquet format improvements, including runtime row group pruning (DRILL-7062), empty parquet creation (DRILL-7156), reading (DRILL-4517) support, and more.
Metastore support:
- DRILL-7272 - Implement Drill Iceberg Metastore plugin
- DRILL-7273 - Create operator for handling metadata
- DRILL-7357 - Expose Drill Metastore data through INFORMATION_SCHEMA
The following sections list additional fixes and improvements in Drill 1.17.0:
Sub-task
- [DRILL-5491] - NPE when reading a CSV file, with headers, but blank header line
- [DRILL-6965] - Adjust table function usage for all storage plugins and implement schema parameter
- [DRILL-7168] - Implement ALTER SCHEMA ADD / REMOVE COLUMN / PROPERTY commands
- [DRILL-7221] - Exclude debug files generated by maven debug option from jar
- [DRILL-7240] - Temp fix: Run-time rowgroup pruning match() fails on casting a Long to an Integer
- [DRILL-7244] - Run-time rowgroup pruning match() fails on casting a Long to an Integer
- [DRILL-7271] - Refactor Metadata interfaces and classes to contain all needed information for the File based Metastore
- [DRILL-7310] - Move schema-related classes from exec module to be able to use them in metastore module
- [DRILL-7329] - Implement metadata usage for Parquet format plugin
- [DRILL-7331] - Support Iceberg metadata expiration
- [DRILL-7356] - Introduce session options for the Drill Metastore
- [DRILL-7387] - Failed to get value by int key from map nested into struct
Bug
- [DRILL-1834] - Misleading error message when querying an empty Parquet file
- [DRILL-3587] - Select hive's struct data gives IndexOutOfBoundsException instead of unsupported error
- [DRILL-3664] - CAST integer zero , one to boolean false , true
- [DRILL-3676] - Group by ordinal number of an output column results in parse error
- [DRILL-3850] - Execute multiple commands from sqlline -q
- [DRILL-3995] - Scalar replacement bug with Common Subexpression Elimination
- [DRILL-4547] - Javadoc fails with Java8
- [DRILL-4788] - Exporting from Parquet to CSV - commas in strings are not escaped
- [DRILL-4949] - Need better handling of empty parquet files
- [DRILL-5183] - Drill doesn't seem to handle array values correctly in Parquet files
- [DRILL-5436] - Need a way to input password which contains space when calling sqlline
- [DRILL-5451] - Query on csv file w/ header fails with an exception when non existing column is requested if file is over 4096 lines long
- [DRILL-5487] - Vector corruption in CSV with headers and truncated last row
- [DRILL-5554] - Wrong error type for "SELECT a" from a CSV file without headers
- [DRILL-5844] - Incorrect values of TABLE_TYPE returned from method DatabaseMetaData.getTables of JDBC API
- [DRILL-5929] - Misleading error for text file with blank line delimiter
- [DRILL-5983] - Unsupported nullable converted type INT_8 for primitive type INT32 error
- [DRILL-6181] - CTAS should support writing nested structures (nested lists) to parquet.
- [DRILL-6528] - Planner setting the wrong number of records to read (Parquet Reader)
- [DRILL-6723] - Kafka reader fails on malformed JSON
- [DRILL-6885] - CTAS for empty output doesn't create parquet file or folder
- [DRILL-6904] - Update maven-javadoc-plugin to 3.0.1 version
- [DRILL-6958] - CTAS csv with option
- [DRILL-6984] - from table escape parameter not deleted when defined with value other than '"'
- [DRILL-6990] - IllegalStateException: The current reader doesn't support getting next information
- [DRILL-7050] - RexNode convert exception in subquery
- [DRILL-7082] - Inconsistent results with implicit partition columns, multi scans
- [DRILL-7083] - Wrong data type for explicit partition column beyond file depth
- [DRILL-7084] - ResultSet getObject method throws not implemented exception if the column type is NULL
- [DRILL-7105] - Error while building the Drill native client
- [DRILL-7132] - Metadata cache does not have correct min/max values for varchar and interval data types
- [DRILL-7139] - Date_add() can produce incorrect results when adding to a timestamp
- [DRILL-7148] - TPCH query 17 increases execution time with Statistics enabled because join order is changed
- [DRILL-7158] - null values for varchar, interval, boolean are displayed as empty string in SqlLine
- [DRILL-7164] - KafkaFilterPushdownTest is sometimes failing to pattern match correctly.
- [DRILL-7167] - DESCRIBE TABLE statement is not implemented
- [DRILL-7170] - IllegalStateException: Record count not set for this vector container
- [DRILL-7171] - Count(*) query on leaf level directory is not reading summary cache file.
- [DRILL-7181] - [Text V3 Reader] Exception with inadequate message is thrown if select columns as array with extractHeader set to true
- [DRILL-7187] - Improve selectivity estimates for range predicates when using histogram
- [DRILL-7195] - Query returns incorrect result or does not fail when cast with is null is used in filter condition
- [DRILL-7196] - Queries are still runnable on disabled plugins
- [DRILL-7198] - Issuing a control-C in Sqlline exits the session (it does cancel the query)
- [DRILL-7199] - Optimize the time taken to populate column statistics for non-interesting columns
- [DRILL-7204] - Add proper validation when creating plugin
- [DRILL-7205] - Drill fails to start when authentication is disabled
- [DRILL-7208] - Drill commit is not shown if build Drill from the 1.16.0-rc1 release sources
- [DRILL-7225] - Merging of columnTypeInfo for file with different schema throws NullPointerException during refresh metadata
- [DRILL-7227] - TPCDS queries 47, 57, 59 fail to run with Statistics enabled at sf100
- [DRILL-7228] - Histogram end points show high deviation for a sample data set
- [DRILL-7237] - IllegalStateException in aggregation function 'single_value' when there is a varchar datatype in the subquery results
- [DRILL-7238] - Drill does not use DirectScan for non-existent columns
- [DRILL-7242] - Query with range predicate hits IOBE when accessing histogram buckets
- [DRILL-7245] - TPCDS queries 1, 45, 65, 97 are 3x slower when Statistics is enabled at sf 100
- [DRILL-7250] - Query with CTE fails when its name matches to the table name without access
- [DRILL-7257] - [Text V3 Reader] dir0 is empty if a column filter returns all lines.
- [DRILL-7258] - [Text V3 Reader] Unsupported operation error is thrown when select a column with a long string
- [DRILL-7262] - Parse Error appears on attempting to run several SQL queries at the same time in SQLLine
- [DRILL-7276] - xss(bug) in apache drill Web UI latest verion 1.16.0 when authenticated
- [DRILL-7290] - “Failed to construct kafka consumer” using Apache Drill
- [DRILL-7294] - Prevent generating java beans using protostuff to avoid overriding classes with the same simple name declared as nested in the proto files
- [DRILL-7297] - Query hangs in planning stage when Error is thrown
- [DRILL-7306] - Disable "fast schema" batch for new scan framework
- [DRILL-7307] - casthigh for decimal type can lead to the issues with VarDecimalHolder
- [DRILL-7321] - split function doesn't work without from
- [DRILL-7324] - Many vector-validity errors from unit tests
- [DRILL-7327] - Log Regex Plugin Won't Recognize Schema
- [DRILL-7332] - Drill requires parentheses in the empty file for 'LOAD' argument in the 'CREATE SCHEMA' command
- [DRILL-7333] - Batch of container count fixes
- [DRILL-7335] - Error when reading csv file with headers only
- [DRILL-7338] - REST API calls to Drill fail due to insufficient heap memory
- [DRILL-7341] - Vector reAlloc may fails after exchange.
- [DRILL-7345] - Strange Behavior for UDFs with ComplexWriter Output
- [DRILL-7351] - WebUI is Vulnerable to CSRF
- [DRILL-7353] - Wrong driver class is written to the java.sql.Driver
- [DRILL-7358] - Text reader returns nothing for count queries over empty files
- [DRILL-7362] - COUNT(*) on JSON with outer list results in JsonParse error
- [DRILL-7367] - Remove Server details from response headers
- [DRILL-7368] - Query from Iceberg Metastore fails if filter column contains null
- [DRILL-7369] - Schema for MaprDB tables is not used for the case when several fields are queried
- [DRILL-7372] - MethodAnalyzer consumes too much memory
- [DRILL-7373] - Fix problems involving reading from DICT type
- [DRILL-7376] - Drill ignores Hive schema for MaprDB tables when group scan has star column
- [DRILL-7377] - Can't Create Nested List using EVF with Late Schema
- [DRILL-7388] - Apache Drill Kafka Storage module fails to return results for partitions containing single offset record
- [DRILL-7391] - Wrong result when doing left outer join on CSV table
- [DRILL-7394] - JSON in Documentation Contains Typo
- [DRILL-7407] - drill hive struct not support
- [DRILL-7413] - Scan operator does not set the container record count
- [DRILL-7414] - EVF incorrectly sets buffer writer index after rollover
- [DRILL-7424] - Project operator fails to set the container row count
- [DRILL-7436] - Fix record count, vector structure issues in several operators
- [DRILL-7439] - Batch count fixes for six additional operators
- [DRILL-7440] - Failure during loading of RepeatedCount functions
- [DRILL-7441] - Fix issues with fillEmpties, offset vectors
- [DRILL-7446] - Eclipse compilation issue in AbstractParquetGroupScan
- [DRILL-7448] - Fix warnings when running Drill memory tests
- [DRILL-7450] - Improve performance for ANALYZE command
- [DRILL-7456] - Batch count fixes for 12 additional operators
- [DRILL-7462] - Fix Links and Typos in Documentation
- [DRILL-7463] - Apache license is not added to the generated classes
- [DRILL-7468] - Metastore unit tests may fail when used sources from the release archive
- [DRILL-7469] - Disable doclint for maven-javadoc-plugin
- [DRILL-7470] - drill-yarn unit tests print stack traces with NoSuchMethodError
- [DRILL-7471] - describe table command fails with ClassCastException when metastore is enabled
- [DRILL-7472] - Fix ser / de for sys and information_schema tables
- [DRILL-7473] - Parquet reader failed to get field of repeated map
- [DRILL-7476] - Info in some sys schema tables are missing if queried with limit clause
- [DRILL-7482] - Fix missing artifact and overlapping classes warnings in Drill build
- [DRILL-7484] - Malware found with some antiviruses in the Drill test resources folder
- [DRILL-7485] - NPE on PCAP Batch Reader
- [DRILL-7490] - limit is not pushed to JDBC storage plugin
- [DRILL-7494] - Unable to connect to Drill using JDBC driver when using custom authenticator
New Feature
- [DRILL-7326] - Support repeated lists for CTAS parquet format
- [DRILL-7374] - Support for IPV6 address
Improvement
- [DRILL-1709] - desc => describe command
- [DRILL-1999] - Drill should expose the Parquet logical schema rather than the physical schema
- [DRILL-4782] - TO_TIME function cannot separate time from date time string
- [DRILL-6050] - Provide a limit to number of rows fetched for a query in UI
- [DRILL-6332] - DrillbitStartupException: Failure while initializing values in Drillbit
- [DRILL-6842] - Export to CSV using CREATE TABLE AS (CTAS) wrong parsed
- [DRILL-6951] - Merge row set based mock data source
- [DRILL-6961] - Error Occurred: Cannot connect to the db. query INFORMATION_SCHEMA.VIEWS : Maybe you have incorrect connection params or db unavailable now (timeout)
- [DRILL-6974] - SET option command
- [DRILL-6988] - Utility of the too long error message when syntax error
- [DRILL-7028] - Reduce the planning time of queries on large Parquet tables with large metadata cache files
- [DRILL-7030] - Make format plugins fully pluggable
- [DRILL-7174] - Expose complex to Json control in the Drill C++ Client
- [DRILL-7206] - Tuning hash join code using primitive int
- [DRILL-7222] - Visualize estimated and actual row counts for a query
- [DRILL-7261] - Simplify Easy format config for new scan framework
- [DRILL-7278] - Refactor result set loader projection mechanism
- [DRILL-7279] - Support provided schema for CSV without headers
- [DRILL-7292] - Remove V1, V2 text readers
- [DRILL-7293] - Convert the regex ("log") plugin to use EVF
- [DRILL-7302] - Bump Apache Avro from 1.8.2 to 1.9.0
- [DRILL-7313] - Use Hive schema for MaprDB native reader when field was empty and support all text mode
- [DRILL-7334] - Update Iceberg Metastore Parquet write mode
- [DRILL-7385] - Convert PCAP Format Plugin to EVF
- [DRILL-7402] - Suppress batch dumps for expected failures in tests
- [DRILL-7403] - Validate batch checks, vector integretity in unit tests
- [DRILL-7412] - Minor unit test improvements
- [DRILL-7417] - Add user logged in/out event in info level logs
- [DRILL-7418] - MetadataDirectGroupScan improvements
- [DRILL-7443] - Enable PCAP Plugin to Reassemble TCP Streams
- [DRILL-7445] - Create batch copier based on result set framework
- [DRILL-7486] - Restructure row set reader builder
Task
- [DRILL-5506] - Apache Drill Querying data from compressed .zip file
- [DRILL-6642] - Update protocol-buffers version
- [DRILL-6711] - Use jitpack repository for Drill Calcite project artifacts instead of repository.mapr.com
- [DRILL-7236] - SqlLine 1.8 upgrade
- [DRILL-7267] - Add Slack Link in Documentation
- [DRILL-7314] - Use TupleMetadata instead of concrete implementation
- [DRILL-7315] - Revise precision and scale order in the method arguments
- [DRILL-7316] - Move classes from org.apache.drill.metastore into org.apache.drill.exec.metastore package in java-exec module
- [DRILL-7317] - Close ClassLoaders used for udf jars uploading when closing FunctionImplementationRegistry
- [DRILL-7339] - Upgrade to Iceberg latest commits to fix issue with orphan files after delete in transaction
- [DRILL-7347] - Upgrade Apache Iceberg to released version
- [DRILL-7350] - Move RowSet related classes from test folder
- [DRILL-7360] - Refactor WatchService code in Drillbit class
- [DRILL-7393] - Revisit Drill tests to ensure that patching is executed before any test run
- [DRILL-7397] - Fix logback errors when building the project
- [DRILL-7405] - Build fails due to inaccessible apache-drill on S3 storage
- [DRILL-7409] - Remove bigIntDictionary.parquet from project sources
- [DRILL-7453] - Update joda-time to 2.10.5 to have correct time zone info
- [DRILL-7464] - Apache Drill 1.17 Release Activities
- [DRILL-7474] - Reduce size of Drill's tar.gz file
- [DRILL-7479] - Short-term fixes for metadata API parameterized type issues
- [DRILL-7481] - Fix raw type warnings in Iceberg Metastore and related classes
- [DRILL-7483] - Add support for 12 and 13 java versions


Cityller is a travel plan app based on an interactive map to help travellers make their itinerary quickly.
I worked with Yuanyang ZHONG, Lemeng XU and Qiwei GAO.
The problem
Travellers spend a lot of time making an itinerary because there are many jumpings interupting them.
We interviewed 8 university students and found some problems.
They jumped between different apps.
They searched interesting places in Google and marked these places in Google maps.
Then they searched some information, like opening hours and price, and logged it in a document.
They did it agian to add more places.
Or they jumped between different pages.
As for the existed travel app, they needed to complete different tasks in different pages.
The editing experience is not continuous.
The goal
Help both experienced and novice travellers
create their itinerary quickly and smoothly
at any time
Extreme Persona
“I want to make an itinerary in seconds.”
Behavior
Goal
Persona
“I want to refer other's itinerary.”
Behavior
Goal
Insight
Drawing on a paper map is natural
In the past, travellers browsed and marked interesting places on a paper map.
Initial Idea
Bring the advantages of differnet tools together
We compared the map apps, paper maps and travel apps. Our idea was to combine the experience of the three different tools.
We made a paper prototype to test this idea.
Evaluation
Drawing on small screens is not comfortable
Solution
Change drawing to clicking.
Users still can interact with the map directly by clicking, which is a more common interaction with phone. But we lost some information compared to drawing, like visiting order.
New Problem
How do users set order quickly without drawing?
Idea
Backpack to sidebar
From the way we use backpacks, we designed a sidebar, where users can set the visiting order or delete items by direct manipulation.
1. Delete
Users can simply swipe the bubble out from the sidebar.
2. Set visiting order
Users can drag and drop the place bubble to arrange the visiting order.
Thinking
Skeuomorphism is about concept, not detail
We usually use skeuomorphism to match user's mental model. But sometimes we cannot use the same interaction due to different medias. Here we used the concept of a paper map and a backpack. Map has strong connections to itinerary and backpack is used to collect items. But we used different interactions.
Idea
Edit in map, view in list
We used interaction table from instrumental design to generate ideas connecting the map and itinerary in our design.
Editing in map is more clear and natural. Users can see the location to help them make decisions. And in the list view, they can glance the itinerary and find the transportation information.
Wireframe
1. create a new itinerary
Thinking
Provide more information when users need it
Too much information will confuse users. I designed an adaptive way to show the places. At first, users will see the most famous places and more recommended places will appear when zooming in. And this interaction is consistent with map apps.
Create itinerary before or during the trip
This app can show user's current location. Location based service can help them create or change the itinerary during trip because they can see some recommended places near them.
Wireframe
2. search a place
Wireframe
3. choose other's itinerary and edit
Users can view other's itinerary in both map view and itinerary. After choosing one itinerary, they can edit it in map view.
Thinking
Consistency
The interface of browsing are almost the same as editing itinerary. This design can simplify the development. Many components can be reused.
Problem
Users got on the metro to the wrong direction.
Two interviewees told me that they went to the wrong direction when using Google Maps. I analysed the transportation page of Google Maps and found some problems.
Idea
Convey information step by step
This is the tranportation information in the list view.
Users can concentrate on what to do next and the important information are obvious. The goal of this design is to help users remember information about their next step. During each step, they don't need to watch their phone again.
The idea came from the sticky notes. We used them one by one and focused on the current content.
The color of each card is the same as the metro line.


Chromatic Coffee
Location: Santa Clara, CA, a few miles from the Apple campus
Espresso: Emperor
Hardware: La Marzocco and heavily modded grinders of unknown origin (see picture)
Coffee Art: heck yeah
Wifi: Yes
Drink: Cappuccino
Served in: 5oz ceramic cups
Visited: Daily in February and March 2013
I first met Chromatic Coffee when it was a franchise under another name in June 2012. For the record, it was super then too. I recently acquired a client in Santa Clara, CA and knew I would be traveling out here every week. Strangely, Silicon Valley does NOT have a great artisan coffee shop on every corner. A lot of the area is actually office park and strip mall hell. When I found this place last year, I drove 8 miles from the Hyatt Convention Hotel to get some decent coffee. (For the other record, all of the espresso served at the Hyatt is utterly vile).
So I immediately thought of this location when I set up weekly trips to California. In the meantime I discovered the shop had changed its name to Chromatic Coffee but was the same crew of awesome baristas that I’d met last year. I actually managed to find a good hotel near the shop, putting me about 5 miles from the client but worth every commuting minute, knowing I’d have decent coffee at least once a day (I work in office park hell).
I am happy to say that breaking off on their own has only improved things over here. In my chats with the baristas, I’ve learned that the owner is a tech obsessed uber coffee nerd. You can see this in the fact that they are their own roastery and hey, check out the grinders. Heavily modded, the barista couldn’t remember the original brand on them, but informed me that the owner is actually working on his own equipment as well. (uber techie coffee nerds unite!).
So I can’t tell you enough how much I love Chromatic. Everyone there is super nice and super knowledgeable about the coffee and will happily nerd out over coffee talk when it’s not busy. There’s also a Hario pourover bar and they tell me they make cold brew as well, which I will be sampling next week. In addition to all the other awesome, they hold classes on everything from pour-over technique to barista art.
Bonus: They are not snooty coffee snobs here. You can order your drink with skim milk or to go and no one will look down their nose at your or inform you snottily that they only use whole milk from locally approved cows.
I wish I could keep gushing, but you should really get in here and try them for yourself. Don’t be fooled by their strip mall exterior. They are beyond awesome.


So now people are going back and forth about what the spec says. Here's what seems to be the relevant portion of RFC 2616 (HTTP/1.1):
9.1 Safe and Idempotent Methods
9.1.1 Safe Methods
Implementors should be aware that the software represents the user in their interactions over the Internet, and should be careful to allow the user to be aware of any actions they might take which may have an unexpected significance to themselves or others.
In particular, the convention has been established that the GET and HEAD methods SHOULD NOT have the significance of taking an action other than retrieval. These methods ought to be considered "safe". This allows user agents to represent other methods, such as POST, PUT and DELETE, in a special way, so that the user is made aware of the fact that a possibly unsafe action is being requested.
Naturally, it is not possible to ensure that the server does not generate side-effects as a result of performing a GET request; in fact, some dynamic resources consider that a feature. The important distinction here is that the user did not request the side-effects, so therefore cannot be held accountable for them.
9.1.2 Idempotent Methods
Methods can also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N > 0 identical requests is the same as for a single request. The methods GET, HEAD, PUT and DELETE share this property. Also, the methods OPTIONS and TRACE SHOULD NOT have side effects, and so are inherently idempotent.
However, it is possible that a sequence of several requests is non- idempotent, even if all of the methods executed in that sequence are idempotent. (A sequence is idempotent if a single execution of the entire sequence always yields a result that is not changed by a reexecution of all, or part, of that sequence.) For example, a sequence is non-idempotent if its result depends on a value that is later modified in the same sequence.
A sequence that never has side effects is idempotent, by definition (provided that no concurrent operations are being executed on the same set of resources).
Interestingly, a delete?id=10 link is idempotent. Assuming the id is unique and not reused, the first GET will be the same as the second or third. Idempotent says nothing about the server side or the difference between N=0 and N=1.
Other links are interesting. Consider a link that changes the order of a list. move?id=10&direction=up is not idempotent -- repeated calls change the response to move the item up more and more. move?id=10&to_position=3 is idempotent. As a sequence it is not idempotent, as it is effected by other links (which could change the order of other items in the list). move?pos=10:1&pos=13:2&pos=15:3 (i.e., item_id:position_index) provides idempotent sequences.
But none of these are safe. But "idempotent" sounds cooler than "safe" so it's being used a lot.
This paragraph is interesting as well:
Naturally, it is not possible to ensure that the server does not generate side-effects as a result of performing a GET request; in fact, some dynamic resources consider that a feature. The important distinction here is that the user did not request the side-effects, so therefore cannot be held accountable for them.
In the case of the Google Web Accelerator, the user most certainly did not request the side-effects. The question everyone is asking, is who is responsible for the side effects, the original web application developer, or Google? I say Google because they are breaking expectations. Other people say the web developer, because that's what the spec says. But frankly I don't see how the spec says that, but it's blindingly obvious what convention says. The spec addresses issues of caching, which is where idempotency comes into play, but has little to do with this situation (though the GWA has been accused of breaking that too -- which I blame on IE for not implementing Vary properly and so rendering a useful header conventionally useless).
Remember what's required to make the GWA work. It's not just the delete links, though those are the most painful ones. A mail program that marks mail read will be broken by the GWA. A logout link will be broken. A vote-for-this link will be broken. And all the fixes involve Javascript; either you make your site inaccessible to people without Javascript, or
GWA will break your site (since it acts just like a Javascript-disabled client). Without nested forms you can't do what people are saying, you can't turn everything unsafe into a POST.
To me, the GWA is a kind of loophole in the spec, not something the spec allowed for. It seems like it makes sense, because it's doing what bots have always done, trolling around for content. But it's doing so pretending it's a user, and that's why it doesn't work with the web we have. If they want a new spec about how to do that, okay. Of course an HTTP/1.2 that clarifies this stuff is unlikely, but for all the reasons that Google has uncovered here.
I have yet to see an example of something that can't be done without nested forms. People have used that as an excuse a lot, but nobody's given an example. It seems to me that a GET used in an unsafe way is equivalent to an opening form tag (with an action attribute and a method attribute with the value GET), a bunch of hidden inputs, a submit button, and a closing form tag.
Talking about nested forms as being necessary to replace unsafe GETs would appear to require people to be using nested links already, and they aren't.
# Jim
Here's an example:
<form action="edit_addresses" method="POST"> Address 1: <input type="text" name="address-1" value="123 W. St"> delete this address
 Address 2: ... </form>Happy? Yes, you could make edit_addresses process deletes as well (which is a semantic change to the form, though arguably a better user interface). Then the delete could be a button like <input type="submit" name="delete_address-1" value="delete this address">. But that's often a rather difficult change to make on a legacy application.
Personally I plan to put in rel="nofollow" on these links in the future; in many ways it seems like the best compromise, and a good indication of what I really mean (which is "no robots here", not "this item has side effects," which is not quite the same thing).
There's also other more subtle places where requests are pretty "safe" and certainly "idempotent", but the GWA will cause problems by following links. The most obvious being a webmail application where it would cause all mail to be marked as "read". Turning a mail read into a form submission would be really really bad UI.
In the example you give, why not use a two-stage delete? The anchor "delete this address" would take the user agent to a confirmation that yes, indeedy, they'd love to delete the address. Then the actual deletion would be a POST, since the form has trouble with its being a DELETE.
However, I wouldn't go so far as to GET an item from my address book and have it magically appear in the trash (which could then be emptied on a POST). Misbehaving robots would then rip all the pages out of my book, and I'd need to dig around in the wastebasket looking for them.
With regard to the reading of mail, "reading" is a kind of GET. How do you tell the difference between a real person and a robot before you change the state?
In the example you give, why not use a two-stage delete? The anchor "delete this address" would take the user agent to a confirmation that yes, indeedy, they'd love to delete the address. Then the actual deletion would be a POST, since the form has trouble with its being a DELETE.
I don't want to do that because sometimes deletes aren't that big a deal. Maybe they are undoable. Maybe it's assumed that lots of deletes happen. It's a UI concern, and sometimes it's appropriate to allow quick actions. It would be totally backwards to have HTTP methods driving the UI decisions like that.
With regard to the reading of mail, "reading" is a kind of GET. How do you tell the difference between a real person and a robot before you change the state?
You put it behind authentication where robots can't get to. Until Google uses users as a their trojan horse to get their robot claws on all the data hidden behind actions it can't take (because of robots.txt, POST forms, authentication, etc). Not that they are necessarily so sinister... but it's not impossible that they do intend to use GWA users as a way to find data they can't find on their own.
Delete causes data loss, and thus is always a big deal. Think about how you use the trash can in your kitchen (or [=rm], if you prefer). Tossing something is an intentional act. Accidentally tossed the $50 Amazon gift certificate in the bin with the junk mail? You might want to retrieve that. If your trash can is an incinerator, you look twice at everything you toss in, or throw a whole bin's worth once a week. Maybe the action is undoable, and maybe it does need to be quick, but neither requires using a GET.
In the mail example, consider non-web mail user agents. They copy the messages from the server to your desk, but have you read those messages? No. Why should the cacheing of mail by your HTTP user agent indicate that the mail has been read?
Delete causes data loss, and thus is always a big deal. Think about how you use the trash can in your kitchen. Tossing something is an intentional act. Accidentally tossed the $50 Amazon gift certificate in the bin with the junk mail? You might want to retrieve that. If your trash can is an incinerator, you look twice at everything you toss in, or throw a whole bin's worth once a week. Maybe the action is undoable, and maybe it does need to be quick, but neither requires using a GET.
In the mail example, consider non-web mail user agents. They copy the messages from the server to your desk, but have you read those messages? No. Why should the caching of mail by your HTTP user agent indicate that the mail has been read?
> delete this address
What is wrong with <input type="submit" name="delete-id-1" value="Delete this address"> ?


13.3
Questions
1. How does the stability of an ecosystem depend on its producers?
Answer: All ecosystems depend on producers, because they provide the basis for the ecosystem's energy. Even animals that eat meat rely on producers. This is because, in the energy pyramid, producers provide the energy for the first-class consumers, or herbivores, and the second-class consumers, or carnivores, gain about 10% of the energy from the herbivores, who gained 10% of the producers' energy. Thus, all energy in the energy pyramid comes from producers.
2. What are the two processes used by producers to obtain energy?
Answer: A producer has the ability to create their own energy using either chemosynthesis, use of chemicals to obtain energy, or photosynthesis, the use of sunlight to produce energy.
3. Few producers live deep below a lake's surface. Suggest an explanation for this pattern.
Answer: The reason why many plants don't live deep below a lake's surface is because lakes don't normally have chemical vents. Thus, making it hard for producers to find any sources of energy in the dark, deep waters of the lake.
4. Could producers survive without consumers? Explain why or why not.
Answer: Producers could not survive without consumers because there would be overgrowth. Overgrowth is when an insane amount of plants grow in a single area. This causes all energy and sources of nutrition to deplenish much quicker, thus killing all of the plants in the process.
5. How might chemosynthetic organisms help scientists to understand how life developed on Earth?
Answer: Chemosynthetic organisms live in environments that may be similar to those that existed on Earth billions of years ago when life was beginning to develop. Studying these organisms enables us to create models of how life forms might have evolved on Earth.


Installation
Published 21 December 2017, 27 words, 1-minute read
Please ensure Node.js and Git are installed on your system.
Download the demonstration code and switch to directory:
git clone git@github.com:craigbuckler/metalsmith-demo.git
cd metalsmith-demo
Install dependencies:
npm install


Tir is a simple Lua web framework built specially for Mongrel2.
Build it on most Linux and OSX systems, with other platforms on the way. Get started now.
Stylish State
Read more
|
Simple Design
Read more
|
Polyglot Friendly
Read more
|
-
Natural Coroutines
Dead easy coroutine style state management with a natural flow.
-
Handler Style
Fast "handler" style objects for building your own custom state.
-
Callback Style
Like callbacks or think that's the best model for the job? Tir's got that too.
-
Easy To Use
Even though it supports these different styles they're all easy to use.
|
-
Tiny Code
A complete framework in 1300 lines of Lua thanks to Mongrel2.
-
Easy Testing
Easily write automated tests for your site, without a lot of boilerplate.
-
Already Scalable
Tir uses a process per page model which means it's already scaled out in one direction.
-
Simple Structure
The most recent hybi WebSocket protocol.
|
-
Mongrel2 Based
Mongrel2 handles all the crap at the edge like routing and static files.
-
ZeroMQ Based
Talk to any language that can talk ZeroMQ.
-
Background Tasks
Async tasks already built into the framework for off-loading background tasks.
-
Pragmatic Polyglot
Tir's design lets you easily replace pieces of your web app with any other language. No more polishing turds.
|
|
Download
|
Download
|
Download
|


{# base.html #}
{# this is the base template for all pages #}
{% load static %}
{% block styles %}
{% endblock styles %}
A Web Application
Here's a header.
All of this is defined in ./application_name/templates/base.html
Read Django template docs for more info.
{% block content %}
This is a template. Generate real pages based on this template by including the line
{% verbatim %} {% extends "base.html" %} {% endverbatim %}
at the top of the file.
{% endblock content %}


You must reset your password before you can continue
Your email was found in a leak of user data from another service. We're
temporarily preventing access to your account to protect it against
unauthorised access, in case you've reused the same password on
Practical Law.


Clicking on these links will open the new page within the current frame.
When you click on any of the following links, the whole frameset is replaced with the new website. This is because we're using target="_top"
in the anchor links.
These links open in a new browser window. This is because we use target="_blank"
.


Born and raised in the Bay area I graduated from Amador Valley High School in 2016. Some accomplishments in my highschool years include achieving my secoond degree blackbelt, becoming an Assisstant instructor and traveling from state to state for competitions as well. After highschool, I took a few years off to explore my horizons taking in new experiences, trying out new jobs and travelling a little bit of the world as a moment to learn. I am now currently a student at San Diego Mesa College taking a break to learn about the world of coding; learning new languages such as HTML, CSS, React, Javascript, Git, and some database languages as well I have been learning a lot and I am looking forward to utilizing my skills. With one more year left until I finish my associates, I am eager to continue this journey to learn more.
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Maxime, dicta beatae! Sit tenetur vitae voluptatibus porro ducimus? Laboriosam, consequatur eum accusamus quis dicta magnam sint quam deserunt natus impedit quisquam? (resume coming soon)


|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use javax.swing.event | |
|---|---|
| javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms. |
| javax.swing.colorchooser | Contains classes and interfaces used by the JColorChooser
component. |
| javax.swing.event | Provides for events fired by Swing components. |
| javax.swing.plaf.basic | Provides user interface objects built according to the Basic look and feel. |
| javax.swing.plaf.metal | Provides user interface objects built according to the Java look and feel (once codenamed Metal), which is the default look and feel. |
| javax.swing.table | Provides classes and interfaces for dealing with
javax.swing.JTable . |
| javax.swing.text | Provides classes and interfaces that deal with editable and noneditable text components. |
| javax.swing.text.html | Provides the class HTMLEditorKit and supporting classes
for creating HTML text editors. |
| javax.swing.tree | Provides classes and interfaces for dealing with
javax.swing.JTree . |
| javax.swing.undo | Allows developers to provide support for undo/redo in applications such as text editors. |
| Classes in javax.swing.event used by javax.swing | |
|---|---|
| AncestorListener
AncestorListener Interface to support notification when changes occur to a JComponent or one of its ancestors. |
|
| CaretListener
Listener for changes in the caret position of a text component. |
|
| CellEditorListener
CellEditorListener defines the interface for an object that listens to changes in a CellEditor |
|
| ChangeEvent
ChangeEvent is used to notify interested parties that state has changed in the event source. |
|
| ChangeListener
Defines an object which listens for ChangeEvents. |
|
| DocumentListener
Interface for an observer to register to receive notifications of changes to a text document. |
|
| EventListenerList
A class that holds a list of EventListeners. |
|
| HyperlinkEvent
HyperlinkEvent is used to notify interested parties that something has happened with respect to a hypertext link. |
|
| HyperlinkListener
HyperlinkListener |
|
| InternalFrameListener
The listener interface for receiving internal frame events. |
|
| ListDataEvent
Defines an event that encapsulates changes to a list. |
|
| ListDataListener
ListDataListener |
|
| ListSelectionEvent
An event that characterizes a change in the current selection. |
|
| ListSelectionListener
The listener that's notified when a lists selection value changes. |
|
| MenuDragMouseEvent
MenuDragMouseEvent is used to notify interested parties that the menu element has received a MouseEvent forwarded to it under drag conditions. |
|
| MenuDragMouseListener
Defines a menu mouse-drag listener. |
|
| MenuKeyEvent
MenuKeyEvent is used to notify interested parties that the menu element has received a KeyEvent forwarded to it in a menu tree. |
|
| MenuKeyListener
MenuKeyListener |
|
| MenuListener
Defines a listener for menu events. |
|
| PopupMenuListener
A popup menu listener |
|
| SwingPropertyChangeSupport
This subclass of java.beans.PropertyChangeSupport is identical in functionality -- it sacrifices thread-safety (not a Swing concern) for reduce memory consumption, which helps performance (both big Swing concerns). |
|
| TableColumnModelEvent
TableColumnModelEvent is used to notify listeners that a table column model has changed, such as a column was added, removed, or moved. |
|
| TableColumnModelListener
TableColumnModelListener defines the interface for an object that listens to changes in a TableColumnModel. |
|
| TableModelEvent
TableModelEvent is used to notify listeners that a table model has changed. |
|
| TableModelListener
TableModelListener defines the interface for an object that listens to changes in a TableModel. |
|
| TreeExpansionEvent
An event used to identify a single path in a tree. |
|
| TreeExpansionListener
The listener that's notified when a tree expands or collapses a node. |
|
| TreeModelEvent
Encapsulates information describing changes to a tree model, and used to notify tree model listeners of the change. |
|
| TreeModelListener
Defines the interface for an object that listens to changes in a TreeModel. |
|
| TreeSelectionEvent
An event that characterizes a change in the current selection. |
|
| TreeSelectionListener
The listener that's notified when the selection in a TreeSelectionModel changes. |
|
| TreeWillExpandListener
The listener that's notified when a tree expands or collapses a node. |
| Classes in javax.swing.event used by javax.swing.colorchooser | |
|---|---|
| ChangeEvent
ChangeEvent is used to notify interested parties that state has changed in the event source. |
|
| ChangeListener
Defines an object which listens for ChangeEvents. |
|
| EventListenerList
A class that holds a list of EventListeners. |
| Classes in javax.swing.event used by javax.swing.event | |
|---|---|
| AncestorEvent
An event reported to a child component that originated from an ancestor in the component hierarchy. |
|
| CaretEvent
CaretEvent is used to notify interested parties that the text caret has changed in the event source. |
|
| ChangeEvent
ChangeEvent is used to notify interested parties that state has changed in the event source. |
|
| DocumentEvent
Interface for document change notifications. |
|
| DocumentEvent.ElementChange
Describes changes made to a specific element. |
|
| DocumentEvent.EventType
Enumeration for document event types |
|
| HyperlinkEvent
HyperlinkEvent is used to notify interested parties that something has happened with respect to a hypertext link. |
|
| HyperlinkEvent.EventType
Defines the ENTERED, EXITED, and ACTIVATED event types, along with their string representations, returned by toString(). |
|
| InternalFrameEvent
An AWTEvent that adds support for
JInternalFrame objects as the event source. |
|
| InternalFrameListener
The listener interface for receiving internal frame events. |
|
| ListDataEvent
Defines an event that encapsulates changes to a list. |
|
| ListSelectionEvent
An event that characterizes a change in the current selection. |
|
| MenuDragMouseEvent
MenuDragMouseEvent is used to notify interested parties that the menu element has received a MouseEvent forwarded to it under drag conditions. |
|
| MenuEvent
MenuEvent is used to notify interested parties that the menu which is the event source has been posted, selected, or canceled. |
|
| MenuKeyEvent
MenuKeyEvent is used to notify interested parties that the menu element has received a KeyEvent forwarded to it in a menu tree. |
|
| MouseInputListener
A listener implementing all the methods in both the MouseListener and MouseMotionListener interfaces. |
|
| PopupMenuEvent
PopupMenuEvent only contains the source of the event which is the JPoupMenu sending the event |
|
| TableColumnModelEvent
TableColumnModelEvent is used to notify listeners that a table column model has changed, such as a column was added, removed, or moved. |
|
| TableModelEvent
TableModelEvent is used to notify listeners that a table model has changed. |
|
| TreeExpansionEvent
An event used to identify a single path in a tree. |
|
| TreeModelEvent
Encapsulates information describing changes to a tree model, and used to notify tree model listeners of the change. |
|
| TreeSelectionEvent
An event that characterizes a change in the current selection. |
|
| UndoableEditEvent
An event indicating that an operation which can be undone has occurred. |
| Classes in javax.swing.event used by javax.swing.plaf.basic | |
|---|---|
| CellEditorListener
CellEditorListener defines the interface for an object that listens to changes in a CellEditor |
|
| ChangeEvent
ChangeEvent is used to notify interested parties that state has changed in the event source. |
|
| ChangeListener
Defines an object which listens for ChangeEvents. |
|
| InternalFrameEvent
An AWTEvent that adds support for
JInternalFrame objects as the event source. |
|
| InternalFrameListener
The listener interface for receiving internal frame events. |
|
| ListDataEvent
Defines an event that encapsulates changes to a list. |
|
| ListDataListener
ListDataListener |
|
| ListSelectionEvent
An event that characterizes a change in the current selection. |
|
| ListSelectionListener
The listener that's notified when a lists selection value changes. |
|
| MenuDragMouseListener
Defines a menu mouse-drag listener. |
|
| MenuKeyListener
MenuKeyListener |
|
| MenuListener
Defines a listener for menu events. |
|
| MouseInputAdapter
The adapter which receives mouse events and mouse motion events. |
|
| MouseInputListener
A listener implementing all the methods in both the MouseListener and MouseMotionListener interfaces. |
|
| TreeExpansionEvent
An event used to identify a single path in a tree. |
|
| TreeExpansionListener
The listener that's notified when a tree expands or collapses a node. |
|
| TreeModelEvent
Encapsulates information describing changes to a tree model, and used to notify tree model listeners of the change. |
|
| TreeModelListener
Defines the interface for an object that listens to changes in a TreeModel. |
|
| TreeSelectionEvent
An event that characterizes a change in the current selection. |
|
| TreeSelectionListener
The listener that's notified when the selection in a TreeSelectionModel changes. |
| Classes in javax.swing.event used by javax.swing.plaf.metal | |
|---|---|
| ListSelectionEvent
An event that characterizes a change in the current selection. |
|
| ListSelectionListener
The listener that's notified when a lists selection value changes. |
|
| MouseInputListener
A listener implementing all the methods in both the MouseListener and MouseMotionListener interfaces. |
| Classes in javax.swing.event used by javax.swing.table | |
|---|---|
| ChangeEvent
ChangeEvent is used to notify interested parties that state has changed in the event source. |
|
| EventListenerList
A class that holds a list of EventListeners. |
|
| ListSelectionEvent
An event that characterizes a change in the current selection. |
|
| ListSelectionListener
The listener that's notified when a lists selection value changes. |
|
| TableColumnModelEvent
TableColumnModelEvent is used to notify listeners that a table column model has changed, such as a column was added, removed, or moved. |
|
| TableColumnModelListener
TableColumnModelListener defines the interface for an object that listens to changes in a TableColumnModel. |
|
| TableModelEvent
TableModelEvent is used to notify listeners that a table model has changed. |
|
| TableModelListener
TableModelListener defines the interface for an object that listens to changes in a TableModel. |
| Classes in javax.swing.event used by javax.swing.text | |
|---|---|
| CaretEvent
CaretEvent is used to notify interested parties that the text caret has changed in the event source. |
|
| CaretListener
Listener for changes in the caret position of a text component. |
|
| ChangeEvent
ChangeEvent is used to notify interested parties that state has changed in the event source. |
|
| ChangeListener
Defines an object which listens for ChangeEvents. |
|
| DocumentEvent
Interface for document change notifications. |
|
| DocumentEvent.ElementChange
Describes changes made to a specific element. |
|
| DocumentEvent.EventType
Enumeration for document event types |
|
| DocumentListener
Interface for an observer to register to receive notifications of changes to a text document. |
|
| EventListenerList
A class that holds a list of EventListeners. |
|
| UndoableEditEvent
An event indicating that an operation which can be undone has occurred. |
|
| UndoableEditListener
Interface implemented by a class interested in hearing about undoable operations. |
| Classes in javax.swing.event used by javax.swing.text.html | |
|---|---|
| DocumentEvent
Interface for document change notifications. |
|
| HyperlinkEvent
HyperlinkEvent is used to notify interested parties that something has happened with respect to a hypertext link. |
|
| HyperlinkEvent.EventType
Defines the ENTERED, EXITED, and ACTIVATED event types, along with their string representations, returned by toString(). |
|
| UndoableEditEvent
An event indicating that an operation which can be undone has occurred. |
| Classes in javax.swing.event used by javax.swing.tree | |
|---|---|
| CellEditorListener
CellEditorListener defines the interface for an object that listens to changes in a CellEditor |
|
| EventListenerList
A class that holds a list of EventListeners. |
|
| SwingPropertyChangeSupport
This subclass of java.beans.PropertyChangeSupport is identical in functionality -- it sacrifices thread-safety (not a Swing concern) for reduce memory consumption, which helps performance (both big Swing concerns). |
|
| TreeExpansionEvent
An event used to identify a single path in a tree. |
|
| TreeModelEvent
Encapsulates information describing changes to a tree model, and used to notify tree model listeners of the change. |
|
| TreeModelListener
Defines the interface for an object that listens to changes in a TreeModel. |
|
| TreeSelectionEvent
An event that characterizes a change in the current selection. |
|
| TreeSelectionListener
The listener that's notified when the selection in a TreeSelectionModel changes. |
| Classes in javax.swing.event used by javax.swing.undo | |
|---|---|
| UndoableEditEvent
An event indicating that an operation which can be undone has occurred. |
|
| UndoableEditListener
Interface implemented by a class interested in hearing about undoable operations. |
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV NEXT | FRAMES NO FRAMES |
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.


Harriet was Charles Darwin's pet tortoise (possibly). 'harrietr' implements some function to manipulate distance matrices and phylogenetic trees to make it easier to plot with 'ggplot2' and to manipulate using 'tidyverse' tools.
| Version: | 0.2.3 |
| Depends: | R (≥ 3.3.0) |
| Imports: | ape (≥ 4.1), ggtree (≥ 1.8.1), magrittr (≥ 1.5), lazyeval (≥ 0.2.0), dplyr (≥ 0.7.2), tidyr (≥ 0.7.0), rlang (≥ 0.1.2) |
| Suggests: | ggplot2 (≥ 2.2.1) |
| Published: | 2017-12-01 |
| Author: | Anders Gonçalves da Silva [aut, cre] |
| Maintainer: | Anders Gonçalves da Silva <andersgs at gmail.com> |
| BugReports: | https://github.com/andersgs/harrietr/issues |
| License: | GPL-3 | file LICENSE |
| URL: | https://github.com/andersgs/harrietr |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | harrietr results |
| Reference manual: | harrietr.pdf |
| Package source: | harrietr_0.2.3.tar.gz |
| Windows binaries: | r-devel: harrietr_0.2.3.zip, r-release: harrietr_0.2.3.zip, r-oldrel: harrietr_0.2.3.zip |
| OS X binaries: | r-release: harrietr_0.2.3.tgz, r-oldrel: harrietr_0.2.3.tgz |
| Old sources: | harrietr archive |
Please use the canonical form https://CRAN.R-project.org/package=harrietr to link to this page.


CSE 131 Module 4: Input & Output
Lab
Bumping Balls
In this lab you will simulate multiple bouncing balls, that may bump
into each other or into the wall. The steps articulated below for completing
this lab recommend that you develop the code in stages, so that you can test
as you go and make sure you are on the right track.
You have the knowledge you need to do this assignment, but the assignment
is written-up in a style usually seen for software specification: you are
told what should happen, but it's up to you to make it happen.
As always, consult with TAs when you are stuck.
The code you submit must be your own!
We are not interested in solutions you find on the Internet. We are interested
in your implementation of these ideas.
Resources
- Do your work in the lab4 package of the labs source
folder, in the BumpingBalls class.
-
Review the implementation of BouncingBall,
found in the book
source folder, package book.ch1.
- Review the additions we made to BouncingBall to obtain
DeluxeBouncingBall, found in the lecture source folder,
package io.
- We added sound when an object changed direction.
- We replaced the ball by images.
- While there is some physics required for this lab, the information
you need to know is simply the following:
- Two balls are colliding if the distance between the two balls' centers
is less than the sum of the two balls' radii:
- The distance between two points can be computed
using the distance formula.
Description
- Prompt the user for the number of balls that will be simulated in
your program and the number of iterations for the simulation.
- For each ball, find a random place on the screen to place that ball.
- For each ball, compute a random velocity for that ball.
Based on what you have learned so far in this course, how will you keep
track of the balls' positions and velocities?
-
Finding a reasonable range of velocities may require some trial-and-error, or
some thinking and experimentation using pencil and paper:
- If the balls move
too fast, they might fly off the screen.
- If they move too slowly, the simulation will take forever for you to see something.
- Iterate the specified number of times, each time recomputing
each ball's location
- When a ball collides with a wall, change its velocity as shown
in the BouncingBall program.
- When a ball collides with another ball, change both its horizontal and
vertical velocity component, as if the ball hit a corner of the screen.
 There
are some in the images folder in your repo, but you are free
to find others. Be sure to commit those to your repository.
 Some of those can be found
in the sound folder.
 It's best to do this
from the top-most level of your repository, which bears your name and student ID.
- You must demo the commited work to a TA. Make sure the TA knows that
your demo is for credit at this point.
- Follow the directions below to have your demo for this work recorded.
Last modified 08:39:00 CDT 16 April 2016
When you done with this lab, you must be cleared by the TA to receive credit.
- Commit all your work to your repository
- Fill in the form below with the relevant information
- Have a TA check your work
- The TA should check your work and then fill in his or her name
- Click OK while the TA watches
- If you request propagation, it does not happen immediately,
but should be posted in the next day or so
This demo box is for lab 4
When you done with this lab, you must be cleared by the TA to receive credit.
- Commit all your work to your repository
- Fill in the form below with the relevant information
- Have a TA check your work
- The TA should check your work and then fill in his or her name
- Click OK while the TA watches
- If you request propagation, it does not happen immediately,
but should be posted in the next day or so
This demo box is for lab 4


[1]
what i needed - just the inspiring view.
[2]
the inspiring view from the way to try the country.


After you've created a dataSet, you can display its data inside a region. A region is an area on a web page that's bound to a dataSource (either a dataSet or a detailSet). The region displays the records from the dataSource and automatically updates the HTML whenever the data is modified.
Regions regenerate since they register themselves as observers of the dataSources to which they are bound. Whenever data in any of these source is modified (loaded, updated, sorted, filtered, and so on), the dataSources send notifications to all of their observers, triggering an automatic regeneration by the regions.
To define a region you add some custom attributes to the whatever HTML tag you want to contain it (see the syntax reference).
First of all data-lugaregion="true" tells the library this tag contains a region.
The data-lugaregion-datasource-uuid attribute must match the dataSet's uuid.
You also need the data-lugaregion-template-id attribute here, since we are using an embed template.

Our Handlebars template looks like this:

By default Luga regions use Handlebars for templating.
In case you have special needs or would like to use a different templating engine, you can write your own region implementation.
The library initializes all the regions contained inside the current document as soon as it's loaded. If the DOM structure is not significantly altered at run-time, you don't need to worry about it. If you are working on a single-page application or if you inject new regions inside the document at run-time, you may want to programmatically bootstrap one or more region


{% extends 'base.html' %} {% block title %}Log In{% endblock %} {% block header %}
Real time network information for deployed units. Anytime. Anywhere.
First time here?