RDoc::Markdown as described by the [markdown syntax].
To choose Markdown as your only default format see RDoc::Options@Saved+Options for instructions on setting up a `.doc_options` file to store your project default.
## Extensions
The following markdown extensions are supported by the parser, but not all are used in RDoc output by default.
### RDoc
The RDoc Markdown parser has the following built-in behaviors that cannot be disabled.
Underscores embedded in words are never interpreted as emphasis. (While the
emphasizes in-word underscores, neither the
Markdown syntax nor MarkdownTest mention this behavior.)
For HTML output, RDoc always auto-links bare URLs.
### Break on Newline
The break_on_newline extension converts all newlines into hard line breaks as in [Github Flavored Markdown]. This extension is disabled by default.
### CSS
The css extension enables CSS blocks to be included in the output, but they are not used for any built-in RDoc output format. This extension is disabled by default.
Example:
<style type="text/css"> h1 { font-size: 3em } </style>
### Definition Lists
The definition_lists extension allows definition lists using the [PHP Markdown Extra syntax], but only one label and definition are supported at this time. This extension is enabled by default.
 This extension is enabled by default.
Supported github extensions include:
#### Fenced code blocks
Use ` “` ` around a block of code instead of indenting it four spaces.
#### Syntax highlighting
Use ` “` ruby ` as the start of a code fence to add syntax highlighting. (Currently only `ruby` syntax is supported).
### HTML
Enables raw HTML to be included in the output. This extension is enabled by default.
Example:
<table> ... </table>
### Notes
The notes extension enables footnote support. This extension is enabled by default.
Example:
Here is some text[^1] including an inline footnote ^[for short footnotes] ... [^1]: With the footnote text down at the bottom
Produces:
Here is some text including an inline footnote ^[for short footnotes]
[^1]: With the footnote text down at the bottom
## Limitations
Link titles are not used
Image links are not generated correctly
Footnotes are collapsed into a single paragraph
## Author
This markdown parser is a port to kpeg from [peg-markdown] by John MacFarlane.
It is used under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The port to kpeg was performed by Eric Hodel and Evan Phoenix
[dingus]: daringfireball.net/projects/markdown/dingus [GFM]: github.github.com/github-flavored-markdown/ [pegmarkdown]: github.com/jgm/peg-markdown [PHPE]: michelf.com/projects/php-markdown/extra/#def-list [syntax]: daringfireball.net/projects/markdown/syntax
Creates a new markdown parser that enables the given extensions.
# File lib/rdoc/markdown.rb, line 611 def initialize extensions = DEFAULT_EXTENSIONS, debug = false @debug = debug @formatter = RDoc::Markup::ToJoinedParagraph.new @extensions = extensions @references = nil @unlinked_references = nil @footnotes = nil @note_order = nil end
Wraps `text` in emphasis for rdoc inline formatting
# File lib/rdoc/markdown.rb, line 626 def emphasis text if text =~ /\A[a-z\d.\/]+\z/ then "_#{text}_" else "<em>#{text}</em>" end end
Finds a link reference for `label` and creates a new link to it with `content` as the link text. If `label` was not encountered in the reference-gathering parser pass the label and content are reconstructed with the linking `text` (usually whitespace).
# File lib/rdoc/markdown.rb, line 680 def link_to content, label = content, text = nil raise 'enable notes extension' if content.start_with? '^' and label.equal? content if ref = @references[label] then "{#{content}}[#{ref}]" elsif label.equal? content then "[#{content}]#{text}" else "[#{content}]#{text}[#{label}]" end end
Creates an RDoc::Markup::ListItem by parsing the `unparsed` content from the first parsing pass.
# File lib/rdoc/markdown.rb, line 697 def list_item_from unparsed parsed = inner_parse unparsed.join RDoc::Markup::ListItem.new nil, *parsed end
Stores `label` as a note and fills in previously unknown note references.
# File lib/rdoc/markdown.rb, line 705 def note label #foottext = "rdoc-label:foottext-#{label}:footmark-#{label}" #ref.replace foottext if ref = @unlinked_notes.delete(label) @notes[label] = foottext #"{^1}[rdoc-label:footmark-#{label}:foottext-#{label}] " end
Creates a new link for the footnote `reference` and adds the reference to the note order list for proper display at the end of the document.
# File lib/rdoc/markdown.rb, line 719 def note_for ref @note_order << ref label = @note_order.length "{*#{label}}[rdoc-label:foottext-#{label}:footmark-#{label}]" end
TODO remove when kpeg 0.10 is released
Creates an RDoc::Markup::Paragraph from `parts` and including extension-specific behavior
# File lib/rdoc/markdown.rb, line 736 def paragraph parts parts = parts.map do |part| if "\n" == part then RDoc::Markup::HardBreak.new else part end end if break_on_newline? RDoc::Markup::Paragraph.new(*parts) end
Parses `markdown` into an RDoc::Document
# File lib/rdoc/markdown.rb, line 751 def parse markdown @references = {} @unlinked_references = {} markdown += "\n\n" setup_parser markdown, @debug peg_parse 'References' if notes? then @footnotes = {} setup_parser markdown, @debug peg_parse 'Notes' # using note_order on the first pass would be a bug @note_order = [] end setup_parser markdown, @debug peg_parse doc = result if notes? and not @footnotes.empty? then doc << RDoc::Markup::Rule.new(1) @note_order.each_with_index do |ref, index| label = index + 1 note = @footnotes[ref] link = "{^#{label}}[rdoc-label:footmark-#{label}:foottext-#{label}] " note.parts.unshift link doc << note end end doc.accept @formatter doc end
Creates extension methods for the `name` extension to enable and disable the extension and to query if they are active.
# File lib/rdoc/markdown.rb, line 551 def self.extension name EXTENSIONS << name define_method "#{name}?" do extension? name end define_method "#{name}=" do |enable| extension name, enable end end
Converts all newlines into hard breaks
# File lib/rdoc/markdown.rb, line 566 extension :break_on_newline
Allow PHP Markdown Extras style definition lists
# File lib/rdoc/markdown.rb, line 576 extension :definition_lists
Enables or disables the extension with `name`
# File lib/rdoc/markdown.rb, line 648 def extension name, enable if enable then @extensions |= [name] else @extensions -= [name] end end
Is the extension `name` enabled?
# File lib/rdoc/markdown.rb, line 639 def extension? name @extensions.include? name end
Allow Github Flavored Markdown
# File lib/rdoc/markdown.rb, line 581 extension :github
Generated with the Darkfish Rdoc Generator 2.


DIV 0
DIV 1
var div = document.getElementsByTagName("div");
for (var i = 0; i < div.length; i++) {
div[i].addEventListener("click", function() {
alert("div #" + i + " was clicked.");
}, false);
}
the variable that's being closured ( i in this case) is being updated after the function is bound.
This means that every bound function handler will always alert the last value stored in i
var div = document.getElementsByTagName("div");
for (var i = 0; i < div.length; i++) (function(i){
div[i].addEventListener("click", function(){
alert("div #" + i + " was clicked.");
}, false);
})(i);
within the scope of each step of the for loop, the i variable is defined anew,


Abstract base class for collection plugins v1.0.2.
Written by Keith Wood (wood.keith{at}optusnet.com.au) December 2013.
Licensed under the MIT license (http://keith-wood.name/licence.html).
Use $.JQPlugin.createPlugin to create new plugins using this framework.
This base class provides common functionality such as:
- Creates jQuery bridge - allowing you to invoke your plugin on a collection of elements.
- Handles initialisation including reading settings from metadata - an instance object is attached to the affected element(s) containing all the necessary data.
- Handles option retrieval and update - options can be set through default values,
through inline metadata, or through instantiation settings.
Metadata is specified as an attribute on the element:data-<pluginName>="<option name>: '<value>', ..."
. Dates should be specified as strings in this format:'new Date(y, m-1, d)'
. - Handles method calling - inner functions starting with '_'are inaccessible,
whereas others can be called via
$(selector).pluginName('functionName')
. - Handles plugin destruction - removing all trace of the plugin.
- Source:
Members
(inner) deepMerge
Whether or not a deep merge should be performed when accumulating options.
The default is
true
but can be overridden in a sub-class.
- Source:
(inner) defaultOptions
Default options for instances of this plugin (default: {}).
- Source:
Example
defaultOptions: {
selectedClass: 'selected',
triggers: 'click'
}
(inner) name
Name to identify this plugin.
- Source:
Example
name: 'tabs'
(inner) regionalOptions
Options dependent on the locale.
Indexed by language and (optional) country code, with '' denoting the default language (English/US).
Normally additional languages would be provided as separate files to all them to be included as needed.
- Source:
Example
regionalOptions: {
'': {
greeting: 'Hi'
}
}
Methods
(protected, inner) _getInst(elem) → {object}
Retrieve the instance data for element.
Parameters:
| Name | Type | Description |
|---|---|---|
elem |
Element | The source element. |
- Source:
Returns:
The instance data or
{}
if none.
- Type
- object
(protected, inner) _getMarker() → {string}
Retrieve a marker class for affected elements.
In the format:
is-<pluginName>
.
- Source:
Returns:
The marker class.
- Type
- string
(protected, inner) _init()
Initialise the plugin.
Create the jQuery bridge - plugin name
xyz
produces singleton $.xyz
and collection function $.fn.xyz
.
- Source:
(protected, inner) _instSettings(elem, options) → {object}
Retrieve additional instance settings.
Override this in a sub-class to provide extra settings.
These are added directly to the instance object.
Default attributes of an instance object are shown as properties below:
Parameters:
| Name | Type | Description |
|---|---|---|
elem |
jQuery | The current jQuery element. |
options |
object | The instance options. |
Properties:
| Name | Type | Description |
|---|---|---|
elem |
Element | The element to which this instance applies. |
name |
string | The name of this plugin. |
options |
object | The accumulated options for this instance. |
- Source:
Returns:
Any extra instance values.
- Type
- object
Example
_instSettings: function(elem, options) {
return {nav: elem.find(options.navSelector)};
}
(protected, inner) _optionsChanged(elem, inst, options)
Plugin specific options processing.
Old value available in
inst.options[name]
, new value in options[name]
.
Override this in a sub-class to perform extra activities.
Parameters:
| Name | Type | Description |
|---|---|---|
elem |
jQuery | The current jQuery element. |
inst |
object | The instance settings. |
options |
object | The new options. |
- Source:
Example
_optionsChanged: function(elem, inst, options) {
if (options.name != inst.options.name) {
elem.removeClass(inst.options.name).addClass(options.name);
}
}
(protected, inner) _postAttach(elem, inst)
Plugin specific post initialisation.
Override this in a sub-class to perform extra activities.
This is where you would implement your plugin's main functionality.
Parameters:
| Name | Type | Description |
|---|---|---|
elem |
jQuery | The current jQuery element. |
inst |
object | The instance settings. |
- Source:
Example
_postAttach: function(elem, inst) {
elem.on('click.' + this.name, function() {
...
});
}
(protected, inner) _preDestroy(elem, inst)
Plugin specific pre destruction.
It is invoked as part of the
destroy
processing.
Override this in a sub-class to perform extra activities and undo everything that was
done in the _postAttach
or
_optionsChanged
functions.
Parameters:
| Name | Type | Description |
|---|---|---|
elem |
jQuery | The current jQuery element. |
inst |
object | The instance settings. |
- Source:
Example
_preDestroy: function(elem, inst) {
elem.off('.' + this.name);
}
(inner) destroy(elem)
Remove all trace of the plugin.
Override
_preDestroy
for plugin-specific processing.
Parameters:
| Name | Type | Description |
|---|---|---|
elem |
Element | The source element. |
- Source:
Example
$(selector).plugin('destroy')
(inner) option(elem, nameopt, valueopt) → {any|object}
Retrieve or reconfigure the settings for a plugin.
If new settings are provided they are applied to the instance options.
If an option name only is provided the value of that option is returned.
If no name or value is provided, all options are returned.
Override
_optionsChanged
for plugin-specific processing when option values change.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
elem |
Element | The source element. | |
name |
object | string |
<optional> |
The collection of new option values or the name of a single option. |
value |
any |
<optional> |
The value for a single named option. |
- Source:
Returns:
If retrieving a single value or all options.
- Type
- any | object
Example
$(selector).plugin('option', 'name', value) // Set one option
$(selector).plugin('option', {name: value, ...}) // Set multiple options
var value = $(selector).plugin('option', 'name') // Get one option
var options = $(selector).plugin('option') // Get all options
(inner) setDefaults(options)
Set default options for all subsequent instances.
Parameters:
| Name | Type | Description |
|---|---|---|
options |
object | The new default options. |
- Source:
Example
$.pluginName.setDefaults({name: value, ...})


TypographySee Our Typography, List Items, Tables, Icons
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
h1. Heading 1
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
h2. Heading 2
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
h3. Heading 3
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
h4. Heading 4
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
h5. Heading 5
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
h6. Heading 6
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
Inline labels
| Labels | Markup |
|---|---|
| Default | [label]Default[/label] |
| Success | [label style="label-success"]Success[/label] |
| Warning | [label style="label-warning"]Warning[/label] |
| Important | [label style="label-important"]Important[/label] |
| Info | [label style="label-info"]Info[/label] |
| Inverse | [label style="label-inverse"]Inverse[/label] |
Badges
| Name | Example | Markup |
|---|---|---|
| Default | 1 | [badge]1[/badge] |
| Success | 2 | [badge style="badge-success"]2[/badge] |
| Warning | 4 | [badge style="badge-warning"]4[/badge] |
| Error | 6 | [badge style="badge-error"]6[/badge] |
| Info | 8 | [badge style="badge-info"]8[/badge] |
| Inverse | 10 | [badge style="badge-inverse"]10[/badge] |
Blockquotes
To include a blockquote, wrap

around any HTML as the quote. For straight quotes we recommend a

.
Include an optional
element to cite your source and you'll get an em dash —
before it for styling purposes.
-

-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.

- Someone famous
-

Example blockquotes
Default blockquotes are styled as such:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.
Someone famous in Body of work
To float your blockquote to the right, add class="pull-right"
:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.
Someone famous in Body of work
Lists
Unordered

- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
Unstyled

- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
Ordered

- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
Unordered

- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
Unstyled

- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
Ordered

- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
Tables
1. Default table styles
Tables are automatically styled with only a few borders to ensure readability and maintain structure. With 2.0, the .table
class is required.
-

- …
-

| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Mark | Otto | @mdo |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry | the Bird |
2. Striped table
Get a little fancy with your tables by adding zebra-striping—just add the .table-striped
class.
Note: Striped tables use the :nth-child
CSS selector and is not available in IE7-IE8.
-

- …
-

| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Mark | Otto | @mdo |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry | the Bird |
3. Bordered table
Add borders around the entire table and rounded corners for aesthetic purposes.
-

- …
-

| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Mark | Otto | @mdo |
| Mark | Otto | @TwBootstrap | |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry the Bird |
4. Condensed table
Make your tables more compact by adding the .table-condensed
class to cut table cell padding in half (from 8px to 4px).
-

- …
-

| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Mark | Otto | @mdo |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry the Bird |
5. Combine them all!
Feel free to combine any of the table classes to achieve different looks by utilizing any of the available classes.
-

- ...
-

| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Mark | Otto | @mdo |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry the Bird |
Icons by Glyphicons
Icon glyphs
140 icons in sprite form, available in dark gray (default) and white, provided by Glyphicons .
Glyphicons attribution
Glyphicons Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at no cost to you as developers. As a thank you, we ask you to include an optional link back to Glyphicons whenever practical.


"Bob Dylan in Concert: Brandeis University, 1963" has never been heard, bootlegged, or circulated in any way. It was taped on May 10, 1963, at Brandeis University's First Annual Folk Festival. Pre-order the Witmark Demos or The Original Mono recordings from one of the below retailers and receive this bonus CD with your shipment. US: Amazon.com UK: Amazon, Play.com AUSTRALIA: JB Hi-Fi BELGIUM: FNAC DENMARK: Stereo Studio FRANCE: Amazon, FNAC GERMANY: Amazon INDIA: Rhythm House, Landmark KOREA: Hottracks NETHERLANDS: BOL.com, Bertus PORTUGAL: FNAC SOUTH AFRICA: Look & Listen SPAIN: FNAC SWEDEN: CDON.com SWITZERLAND: CEDE.ch For more information about these exciting new releases, visit this page.
Bob Dylan and his Band will play U.S. concert dates in October. The first five shows, all in Florida, have been announced. Visit the bobdylan.com tour page for details of pre-sales and general ticket sales.
Bob Dylan and His Band are now on tour throughout the western United States. Visit the Tour page on bobdylan.com for ticket links and to see set lists. Share your concert and album reviews on bobdylan.com!


Username:
Password:
Login was unsuccessful...
Show All Undone Only Active Only Hot
No displayable activities.


The total of:
| Scenario | 2010 | 2015 | 2020 | 2025 | 2030 | 2035 | 2040 | 2045 | 2050 |
By default it is the total of all the energy flowing out of these commodities or processes, unless there is no energy flowing out in which case it is the total of the energy flowing in.


Determine \Theta
for the
following code fragment in the average case. Assume that all
variables are of type "int".
a = b + c; d = a + e;
\Theta(1)
\Theta(\log n)
\Theta(n \log n)
\Theta(n)
\Theta(n^2)
\Theta(n^2 \log n)
\Theta(n^3)
\Theta(2^n)
Does any line of code get executed more than once?


Policy Gradient and Actor-Critic Algorithm
Contents
- Policy Gradient (REINFORCE)
- Actor-Critic Algorithm:
- Advantage Actor-Critic (A2C)
- Asynchronous Advantage Actor-Critic (A3C)
Today most successful reinforcement algorithm A3C, PPO etc belong to the policy gradient family of algorithm often more specifically to the actor-critic family. But before going into mathematics of these algorithm, you must have basic knowledge of Deep Q Learning(below link).
Deep Q Learning
Before going any further, let's understand some drawbacks of Q Learning.
1. The policy implied by Deep Q-Learning is deterministic. This means Q-Learning can't learn stochastic policies, which can be useful in some environments. It means we also need to create our own exploration strategies.
2. There is no way to handle continuous action spaces in Q-Learning. In policy gradient handling continuous action spaces is relatively easy.
3. In policy gradient we are calculating the gradient of policy itself. By contrast Q-Learning we are improving value estimates of different actions in a state, which implicitly improves policy. Improving policy directly is more efficient.
Let's call `\pi \theta(a|s)` the probability of taking action a in state s. `\theta` represents parameters of policy (the weights of Neural Network). The goal is to update `\theta` to values that make `\pi \theta` the optimal policy. `\theta_t` represent the values of `theta` in iteration t. We want to find out the update rule that takes use from `\theta_t` to `\theta_{t+1}` to optimize our policy.
For a discrete action space we will use neural network with softmax output unit, so that output can be thought of as a probability of taking each action in state. Clearly, if action `a^\star` is optimal action, we want `\pi\theta(a^\star | s)` as close to 1 as possible. For this we can simply perform an gradient ascent to update `\theta` in the following way:
$$ \theta_{t+1} = \theta_t + \alpha \nabla \pi_{\theta_t}(a^\star|s) $$
We can view `\nabla \pi \theta_t(a^\star|s)` as direction in which we must move `\theta_t` to increase value of `\pi\theta(a^\star | s)`. Note we are using gradient ascent to increase a value. Thus one way to view this update is that we keep “pushing” towards more of action `a^\star` in our policy, which is indeed what we want.
Of course, in practice, we won’t know which action is best… After all that’s what we’re trying to figure out in the first place! To get back to the metaphor of “pushing”, if we don’t know which action is optimal, we might “push” on suboptimal actions and our policy will never converge. One solution would be to “push” on actions in a way that is proportional to our guess of the value of these actions. We will call our guess of the value of action a in state s Q̂(s,a). We get the following gradient ascent update, that we can now apply to each action in turn instead of just to the optimal action:
$$ \theta_{t+1} = \theta_t + \alpha \hat Q_t(s,a) \nabla \pi_{\theta_t}(a|s) $$
Of course, in practice, our agent is not going to choose actions uniformly at random, which is what we implicitly assumed so far. Rather, we are going to follow the very policy `\pi\theta` that we are trying to train! This is called training on-policy. There are two reasons why we might want to train on-policy:
1. We accumulate more rewards even as we train, which is something we might value in some contexts.
2. It allows us to explore more promising areas of the state space by not exploring purely randomly but rather closer to our current guess of the optimal actions.
This creates a problem with our current training algorithm, however: although we are going to “push” stronger on the actions that have a better value, we are also going to “push” more often on whichever actions happen to have higher values of πθ to begin with (which could happen due to chance or bad initialization)! These actions might end up winning the race to the top in spite of being bad. This means that we need to compensate for the fact that more probable actions are going to be taken more often. How do we do this? Simple: we divide our update by the probability of the action. This way, if an action is 4x more likely to be taken than another, we will have 4x more gradient updates to it but each will be 4x smaller.
$$ \theta_{t+1} = \theta_t + \alpha \frac{\hat Q_t(s,a) \nabla \pi_{\theta_t}(a|s)}{\pi_\theta(a|s)} $$
Now, we can write `\frac{\nabla \pi_{\theta_t}(a|s)}{\pi_\theta(a|s)}` as `\nabla_\theta log \pi_theta(s|a) ` and using return `v_t` as an unbiased sample of `\hat Q_t(s,a)`.
$$ \theta_{t+1} = \theta_t + \alpha v_t \nabla_\theta log \pi_\theta(s|a) $$
A widely used variation of REINFORCE is to subtract a baseline value from the return `v_t` to reduce the variance of gradient estimation while keeping the bias unchanged (Remember we always want to do this when possible). As it turns out, REINFORCE will still work perfectly fine if we subtract any function from Q̂(s,a) as long as that function does not depend on the action. This means that using the Â function instead of the Q̂ function is perfectly allowable. For example, a common baseline is to subtract state-value from action-value, and if applied, we would use advantage A(s,a) = Q(s,a) – V(s) in the gradient ascent update.
$$ \theta_{t+1} = \theta_t + \alpha \hat A_t(s|a) \nabla_\theta log \pi_\theta(s|a) $$
where,
`A_t(s,a) = R_t - b` (Return - baseline)
`\pi_\theta(s|a) = policy`
Until now we have studied Critic-only methods and Actor-only methods. Critic-only methods that use temporal difference learning have a lower variance in the estimates of expected returns. A straightforward way of deriving a policy in critic-only methods is by selecting greedy actions actions for which the value function indicates that the expected return is the highest. Actor-only methods (example Policy Gradient) typically work with a parameterized family of policies over which optimization procedures can be used directly. In actor-critic spectrum of continuous actions can be generated, but the optimization methods used (typically called policy gradient methods) suffer from high variance in the estimates of the gradient, leading to slow learning.
Actor-critic methods combine the advantages of actor-only and critic-only methods. While the parameterized actor brings the advantage of computing continuous actions without the need for optimization procedures on a value function, the critic’s merit is that it supplies the actor with low-variance knowledge of the performance. More specifically, the critic’s estimate of the expected return allows for the actor to update with gradients that have lower variance, speeding up the learning process. Actor-critic methods usually have good convergence properties, in contrast to critic-only methods.
In Actor-only policy gradient method we were reducing variance and increasing stability by subtracting the cumulative reward by a baseline. Intuitively, making the cumulative reward smaller by subtracting it with a baseline will make smaller gradients, and thus smaller and more stable updates.
$$ \theta_{t+1} = \theta_t + \alpha \hat Q_t(s|a) \nabla_\theta log \pi_\theta(s|a) $$
As we know, the Q value can be learned by parameterizing the Q function with a neural network.
This leads us to Actor Critic Methods, where:
1. The “Critic” estimates the value function. This could be the action-value (the Q value) or state-value (the V value).
2. The “Actor” updates the policy distribution in the direction suggested by the Critic (such as with policy gradients).
and both the Critic and Actor functions are parameterized with neural networks. In the derivation above, the Critic neural network parameterizes the Q value — so, it is called Q Actor Critic.


---
layout: post
title: What does the phrase "IT Value" mean?
tags:
- Business
status: publish
type: post
published: true
meta: {}
---
It's very current and cool to talk about IT providing the business sponsors with value and IT being aligned to the business and it's initiatives.
What does that actually mean?
- Transparency in costs and benefits. This means that business sponsors need to understand how much something is going to cost and how the estimate was arrived at
- A clear demonstration of ROI, perhaps a suitable target might be 30%, i.e for every dollar of IT spend we need $1.30 back. Sometimes that is easy to measure because there is a known saving or additional revenue opportunity directly linked to our IT investment. However it is usually much harder to quantify our ROI
This means that IT processes, both operational and project based, must be clearly instrumented to show costs and variances. This information is important for two reasons
- Historical information can be the basis for more accurate estimates
- Business can be clearly shown where their precious funds are being spent as it happens
Once we can see such information (costs and benefits) it becomes much easier to make choices based on which initiatives provide the business with the ROI it needs to address it current and future initiatives.


Why did this happen?
{% if reason %}
Reason given for failure:
{{ reason }}
{% endif %}
In general, this can occur when...
- You have logged in separately using multiple browser tabs and the CSRF tokens (cookies) are out of sync with the server.
- You have hit the back button after a login and the CSRF tokens (cookies) are out of sync with the server.
- Your login token has expired. Tokens expire after one year.
- Your browser is not accepting 'cookies'. Please enable cookies in your browser software.
- Your browser has disabled 'Referer' headers. Please enable Referer headers in your browser software.
- There is a genuine Cross Site Request Forgery.


WATCH LIVE: Traffic backed up on westbound Beltline near Monona
by Stephanie FryerMONONA, Wis. - Traffic is backed up on the westbound Beltline beyond Stoughton Road.
Dane County dispatchers said crews were responding to a crash in the area.
No word on any injuries.


View on GitHub
Stylonwang.GitHub.io
Stylon's Personal Page
This document is for testing markdown.
installation
install HDMI cables
install network cables
install power cables
access with manager tool
install manager tool
run manager tool and find products


Linear models¶
|
Adam solver for linear classifier with random feature maps. |
|
Adam solver for linear regression with random feature maps. |
|
AdaGrad solver for linear classifier with random feature maps. |
|
AdaGrad solver for linear regression with random feature maps. |
|
Doubly SGD solver for linear classifier with random feature maps. |
|
Doubly SGD solver for linear regression with random feature maps. |
|
SAGA solver for linear classifier with random feature maps. |
|
SAGA solver for linear regression with random feature maps. |
|
Stochastic dual coordinate ascent solver for linear classifier with random feature maps. |
|
Stochastic dual coordinate ascent solver for linear regression with random feature maps. |
|
SGD solver for linear classifier with random feature maps. |
|
SGD solver for linear regression with random feature maps. |
|
Linear classifier with feature map approximating the intersection (min) kernel by sparse explicit feature map, which was proposed by S.Maji and A.C.Berg. |
|
Linear regression with feature map approximating the intersection (min) kernel by sparse explicit feature map, which was proposed by S.Maji and A.C.Berg. |


Questions? I am here to help and love to hear from you!
My little shop is located in Marquette, Michigan. Come visit! My Storefront is open daily year round.
Panra Imports
125 W Washington
Marquette, MI 49855
Email<EMAIL_ADDRESS>Store:<PHONE_NUMBER>
Inquiries About Featuring Your Items in Panara Imports:
Have a product you would like to show us? Please email a link to your website or attach photos. We would love to see what goodies you create! Thank you for your interest in my little store.
Press Inquiries:
I am happy to work with you on your upcoming story. Send me an email and let us know what information I may provide you with.
Products We Carry Only at Our Storefront:
We wish we could put every item we sell in our store in Marquette Michigan on our online shop too, but unfortunately, we cannot. Check back often, as we are always getting new products in, or email<EMAIL_ADDRESS>if you have a question.
Check out the Panara Imports blog. Here you can get great recipes, homekeeping tips, things Martha is inspired by and see bits of living in the beautiful Upper Pennisula, as well as learn about shop news!
Facebook
Show us some love and show your friends what great taste you have! Support us by following along with us on our Facebook Fan Page.


 Please check there for more information on our house and how to apply to board or live in {{ HOUSE }}. Questions and tour requests are always welcome. Please contact us at the e-mail address below to arrange a tour.
If you are a new member, please request an account from the request profile page. If you already have an account, you may login from the login page.
Please check the help page for more information about this web site.
{% endif %} {% if can_edit %}As a manager, you may edit the contents of this page via the wiki.
{% endif %}


OFF
ON
info
To save spots...
Click switch above.
Double-click
anywhere on the page.
Use keyboard shortcut
Ctrl + L
to enter spot number.
Type spot number and press
Enter
to navigate to spot.
Hover over a spot and click the
✕
to remove.
clear spots on this page


For our last week of development, our team worked on preparing the game for it’s final playtest and submission. Conner worked on adding a startup screen to the game, improving the item code to allow potions to carry across levels, and adding additional music to the game. DJ worked on redesigning the second level and the teleportation UI. Zach worked on finalizing the third level, adding story information, and adding end scenes. During playtesting there was no common complaints regarding the game but some of the complaints included requests to improve the teleportation system further as well as improve colliders and item pickups. Had our group had more time to work on this project, there were a variety of things we could have further added to the game such as different items and additional levels.
Play the final version here.
This week the team utilized feedback from the previous playtest session to producing a beta version of the game to be playtested again by fellow students during class. DJ worked on updating the design for the second level and improving the UI for teleportation, Conner worked on adding functional items, adding new UI, and adding audio effects, and Zach worked on design of the third level and added new invisibility functionality.
During the beta playtest, the most common complaint we received was how close you had to get to the enemies to hit them as well as had close you had to get to chests to open them. The current colliders and attack distances will need to be reviewed and adjusted as needed for the final product. From the last feedback, we have opted not to implement diagonal movement in our game due to the animation issue.
Try the beta version here.
This week the team worked on producing an alpha version of the game to be playtested by fellow students and visiting guests during class. DJ worked on incorporating the teleportation mechanic and designing the second level, Conner worked on merging the item system prototype and adding the enemy movement code with ranged vision, and Zach worked on animations and design of the first level.
During the playtest, the movement system was highlighted as a point of concern again. Players want the ability to move diagonally. However, doing so would mean removing all animation from our game since there are no diagonal direction animations for our assets. This will need to be discussed further by the team. Another point of complaint was the lack of proper UI elements to indicate things like health. Upgrades to the UI system are planned.
Try the alpha version here.
This week the team worked on producing prototypes of various game mechanics that will be used in the final game. DJ worked on producing a teleportation game mechanic prototype, Conner worked on producing a item system protoype, and Zach worked on a grid-based movement prototype. With the completion of these prototypes, we will begin moving into level creation and further producing game mechanics.
Some common complaints during feedback were in regards to the teleportation mechanic and it’s range. Adjustments will need to be made to the teleportation mechanic. Some other feedback also referenced potentially getting rid of grid-based movement. The team will have to discuss this. There were also some complaints about the UI in the prototypes but the UI from these prototypes will not be used in the full game.
Teleportation Prototype
World:
UI:
Game Mechanics:
Items:
Enemies:
Paper Prototype:


---
layout: post
authors: ["Greg Wilson"]
title: June 2013 Lab Meeting
date: 2013-06-13
time: "09:00:00"
tags: ["Community", "Lab Meeting"]
---
Earlier this week,
Software Carpentry had its first online lab meeting since
October 2012.
In attendance were:
- Greg Wilson (Toronto)
- James Hetherington (London)
- Kaitlin Thaney (Brooklyn)
- John Blischak (Chicago)
- Ted Kirkpatrick (Vancouver)
- Steve Haddock (Santa Cruz)
- Ethan White (Utah)
- Rachel Anderson (STScI, Baltimore)
- Katy Huff (Chicago)
- Diego Barneche (Sydney)
- Trevor King (New Jersey)
- Michael Selik (New York)
|
- Will Trimble (Chicago)
- Aleksandra Pawlik (Manchester)
- Jory Schossau (Michigan State)
- Justin Ely (STScI, Baltimore)
- Paul Wilson (Wisconsin)
- Neil Chue Hong (SSI, Edinburgh)
- Aron Ahmadia (in transit)
- Mike Jackson (SSI, Edinburgh)
- David Schryer (Tartu)
- R. David Murray (Amherst, MA)
- Jessica Kerr (St. Louis)
|
We covered a fair bit of ground in 90 minutes;
the highlights are below,
and comments from both attendees and everyone else
would be very welcome
(either here or on the 'discuss' mailing list).
Making bootcamps more useful:
-
Clearly distinguish bootcamps for complete beginners
from those for people who already have some coding skills.
-
Do not publicize the bootcamp until the curriculum has been specified
so that learners can make an informed choice about signing up.
-
Provide a consistent pre-assessment to help people make this decision
before they sign up
(and to give instructors a clear idea of who they're going to be teaching).
-
Encourage people to teach bootcamps spread out over several days or weeks
when instructors and learners are co-located.
Sustainability (see this post for background):
-
Poll hosts of previous bootcamps to find out what their actual costs were,
and whether they would have been willing/able to donate $1000-$1500 per bootcamp to help keep the lights on.
-
Depending on the results of that poll,
start asking for donations toward central costs.
-
Explore the PLOS model
of different charges and waivers for different countries.
-
Pursue corporate sponsorship
(either on a per-bootcamp basis,
or as general donations to the cause).
-
Try once again to get funding through existing science training programs.
-
Encourage qualified instructors to teach Software Carpentry commercially,
for whatever they can charge.
(We will not be involved in these negotiations,
and will not "tax" these activities,
but would appreciate instructors talking with us before approaching clients
so that we're not tripping over each other.)
-
Create a new mailing list
for people interested in discussing this.
(If you'd like to be added please mail me.)
Consistency:
-
To use our name and logo:
-
At least one qualified instructor.
-
At least two full days (though this may be spread out over a longer period).
-
Cover version control, testing, task automation, and modular program development.
-
Most attendees to date work in science, engineering, medicine, and related fields
(we're not teaching web development to salespeople).
We are already extending our reach to people in other data-intensive disciplines,
but for now at least,
the digital humanities are out of reach:
we simply don't have enough instructors (or enough experience).
-
To be an instructor:
-
Complete our online training
(which includes teaching at least once with a more experienced instructor),
or
-
Demonstrate extensive relevant teaching experience
(and teach at least once with a qualified instructor).
-
These requirements will only affect upcoming bootcamps and instructors,
not those already scheduled or badged.
Simplifying our shared content, web presence, and workflow.
-
Designate a lead instructor for each bootcamp.
-
Streamline the reimbursement process.
(Ideally, we want host sites to reimburse instructors directly,
but we realize that we'll often be involved,
particularly when people are teaching several bootcamps in one trip.)
-
Make it much easier for people who are not yet Git experts
to update bootcamp web pages,
contribute teaching materials,
etc.
We are discussing this on the 'gits' mailing list;
please join us there.
Notes:
-
Some people proposed having a warm-up day for complete beginners,
followed by a regular two-day bootcamp
that would appeal to people who already have some skills.
We'll need to experiment with this to see how well it works.
-
There was disagreement over whether testing should remain a required topic:
some instructors barely touch on it,
and others disagreed over what it ought to mean for day-to-day scientific computing.
As Software Carpentry's CDFL1,
I ruled that it is required;
however,
we need to integrate into the other material
rather than teaching it as a standalone topic.
[1] Curmudgeonly Dictator for Life.


{% extends 'base.html' %} {% block title %}Logged in{% endblock %} {% block content %}
You have successfully logged in to your account!
You can go to your pantry to begin tracking groceries.


Global NL - Registration Form
First Name
Last Name
Email
Current Location
Hometown / NL Roots
LinkedIn Profile
Industry Sector
Select your Industry
Accommodation and Food Services
Administrative and Support
Agriculture and Forestry
Arts, Entertainment and Recreation
Construction
Education
Finance and Insurance
Fisheries and Aquaculture
Health Care and Social Assistance
Manufacturing
Mining and Quarrying
Oil & Gas
Professional, Scientific and Technical Services
Public Administration
Real Estate and Rental and Leasing
Retail
Technology
Transportation and Warehousing
Utilities
Waste Management and Remediation Services
Wholesale Trade
Other
Status
Select your status
Student
Non-student
School
Program
Graduation Year
Interests
I want to connect with other Global NL members in my area
I want to help organize a Global NL event in my area
I want to learn more about what other Global NL members are doing all over the world
I want to help mentor and support NL affiliated companies, organizations and individuals
I want to help with some of the behind the scenes heavy lifting
Comments
Privacy
I consent to my profile being publicly shared on the GlobalNL website (we will never share your email address)
I consent to my profile being shared with other GlobalNL members only (we will never share your email address)
© 2017 Global NL


http://www.skoda-auto.com/world/connect-app
Overview
When we intend to travel from work to home or any different location, we won’t get the
logistic simply
ever. It is always desirable to have an easily affordable mode to drive.
Market & problem definition
The number of people travelling in the car keeps on rising. The Automotive industry has
always been growing intensely. Global sales of passenger cars are forecast to hit 81.5
million vehicles in 2018, and it’s 11% (9 million) of car increase comparing to 2015.
Concurrence thought the companies and branches are tight and self-demanding. To be
conquerable and to claim a good position in the market you need to provide a better
customer experience as pleasant as to keep fresh and up to date into the digital world.
The application we’re working on was outdated due to a myriad of reasons. Along with the
competition evolution and internal problems, the following factors are the reasons for
the difficulties. So our task was to set the train back on track and create an app that
corresponds to the current market needs.
Goals
- Create a genuinely human-centred car connectivity experience.
- Create a competitive app that enlarges and strengthen within the existing
ecosystem of the brand and digital strategy.
- Full app redesign and UX involvement to obtain the best customer experience.
- To help to return users retain their long-term loyalty.
Our proposal
Instead of overhauling the existing application, we add useful features, modern and UX
corresponding design. As a baseline for the new redesign serves an old app functionality
that carefully observed the availability of issues and system inconsistencies.
Areas of opportunity
These are areas of opportunity that we are exploring.
Parking assistance system simplification.
Moving from, home to the work and then to work, and vice versa, how might the
experience change and
help to alleviate stress and improve the overall quality of life?
KPI dashboard optimisation.
Using KPI metrics is a way for costumers to quantify their daily based objectives,
so they can
regularly check up on their performance and determine differences.
Augmentation of users from a petty group to big lengthening the service.
As a part of the companies, ecosystem to increase the loyalty of the returning users
and provide a
strong field for their daily based tasks.
Design & business objectives
| Define marketing campaign details. |
Prepare questionnaire about the current marketing campaign,
targeting, keywords,
creatives (banners, ad copy) - Questions about planned changes in the campaign.
|
| Analyze marketing campaign setup. |
Analyse the campaign and the traffic generated by it. |
| Analyze GA data. |
Identify the bottlenecks of the current solution. |
| Analyze Mouseflow data. |
Identify bottlenecks and interaction problems of the current
solution. |
| Analyze Offline stats data. |
Get insight for redesign the process after the registration.
|
| Get the results of existing in-house user research. |
Request conducted user testing data based on the previous
version of the
application. |
| Analyse existing result of in-house user research. |
Create an application analysis based on previous conduction.
|
| Conduct dealers registered users interviews. |
Provides insight into the views and attitudes of the target user
or group
regarding the website. |
| Conduct user research. |
Define user profile and questions to an interview and request
3rd party research.
|
| Checkout process adjustments. |
Agree upon changes necessary in checkout process among all
involved stakeholders.
|
| Draft site content. |
To script, draft and understand site content needs. Fill the web
site with a draft
content. |
| W/fs, prototyping iteration 1. |
Pilot prototype with the current context. |
| Content finalization (copy, illustrations, car renderings). |
Request and align all important content. |
| Visual assets acquisition. |
Collect, analyze and apply all needed resources. |
| W/fs, prototype finalisation iterations. |
Have all needed context to create a final prototype. |
| Conduct user research, validation. |
Provides the final insight into the views and attitudes of the
target user or
group regarding the website. |
| UX guidelines creation, functional specification. |
Documents that specify the functions and logic that a system
or component must
perform. |
| Add new goals to GA. |
The information and data we should focus on, and how this
data can help us to
improve your business. |
| Define events to track. |
The events and properties we should define and align to
improve and track
our business goals. |
My role and team
Primarily worked as a User Experience consultant and Product design lead along with my
colleagues from
the company who were experts in a Visual design solution.
Methodology & design process
I felt like I am in a better place to articulate the existing process, and its value for
myself and
organisation, so I initiated the idea to customise the process to the actual needs and
goals we faced.
Stick with the 4 stages set up. It centred around gathering real data, analysing it,
understanding
the customers and continue iterating and testing aimed at constant evolution.
Step: 1: User and CRO research;
- Google analytics health check
- GA data analysis
- Competitor analysis
- User research
Step 2: Strategy development, analytics & building an Ideal state;
- Personas, user journey mapping and sitemap development
- Wireframe development
- Interactive prototype development
Step 3: Performing user validation sessions;
Step 4: Building, measuring, learning, Iterating.
- Pre-launch experiments
- Post-launch evaluation
As starts along with analysis phase comparing and taking into the
account the baseline
date. The process is more cyclical and has many jumping in and out points, providing
more flexibility at
any stage of the mechanism.
Deep Research and Constant Testing
The first step was all about finding where and why our mobile application is leaking
visitors. This
research is crucial, as it reveals what is working and what isn’t, indicating where
improvement is
needed most. So we deep dive into analytics supported and integrated within the existing
mobile
application to quickly validate assumptions and create a hypothesis.
Google analytics health check
With the means of web analytics, we plan to investigate interactive system used by the
company in its
business strategy, and to explore the means of achievement of maximal interactivity of
their
application using a primary quantitative method to aggregate the information. An
analytics tracking health check ensures that everything that needs to measure for
dynamic user behaviour analysis, and the data corruption.
Data Analysis
As integration with the mobile app, we observed, the massive amount of data were
available in Google
analytics and Mouseflow.
Qualitative data
The focus needs to be 100% evidence-centred and be on data-based insights obtained
through in-depth data
analysis. Two types of data analyse. Quantitative data and Qualitative.
| Tool |
Description |
Outcomes we received |
| Clicks & Mouseflow |
Tracking mouse clicks and mouseflow. |
Clicks map, mouse flow mapping. |
| Funnels |
Tracks user navigation from page-to-page analysing vital
journeys.
|
Pressure points causing drop-offs, lost sales, and poor user
experiences. |
| Heat maps |
Helping to identify trends in behaviour |
Clicks, movement, scrolls, attention, and geography. |
| Scrolling |
Records of scroll up and down on the page. |
Scroll activities. |
| Session recording |
Recording of the activity from each visitor on your site. |
CCTV observation type, frustration, glitches and errors, lost
customers. |
With the means of Google Analytics, we plan to investigate interactive system used by the
company ŠKODA
in its business strategy, and to explore the means of achievement of maximal
interactivity of their
application using a primary quantitative method to aggregaste the information.
Scope for GA
- To use our primary analytics data to supplement results data.
- To use analytics data to generate hypotheses for experimentation and
personalisation campaigns.
Set of questions need to be answered
- What is the objectives and micro, macro goals?
- In-depth information about the target audience.
- Analyse how users behave at a point of flow.
- What happens immediately before/after users take a step or visit a page.
- Investigate the precise sequence that users perform different interactions.
- Isolate whether users are taking any unnecessary steps, or returning to
previous states for any
reason.
- Determine which steps in your scenario fail most often (when the users don’t
behave as we
intended).
Metrics
In-live site data in Google Analytics, paying close attention to the following
metrics:
| Acquisition metrics |
Sessions, unique sessions, % new sessions, new users |
| Behaviour metrics |
Bounce rate, page/sessions, avg. session duration |
| Conversion metrics |
Goal conversion rate, goal completion |
Outcome
Documentation that serves as a cornerstone for design phase implementation and
reinforces
reasoning
generation. As well we created a testable hypothesis.
In-Person experiments
Our analysis served as a fundament to create an experiment in a real field with
potential and real
users.
The idea of product
The idea of the application is to access the essential functions of your car via
the application
on a smartphone from anywhere, thereby to help and engage yourself, make the current
interaction process
more efficient.
Business case
The test session addresses several critical questions that help define issues for the
next
iteration. Based on the Google Analytics data, we’re checking, whether the
hypotheses
and conclusions
were confirmed or not. Failing to answer those questions now increases the risks of
developing and
designing the wrong product.
Procedure
We have each session of 60 minutes that consist of 35 minutes of test tasks and 25
minutes of formal
procedures.
Test hypothesis
We found out that by basing hypotheses on our application’s goals, we can generate
relevant,
action-oriented findings. The hypothesis was generated based on Google analytics
findings and heuristic
evaluation method outcomes provided.
User-Attitude
We think that the most significant drop-off rate for new users in a login screen
cased
by not intuitive
registration method.
User-Behaviour
We think that the most significant part of users was dropped off or jungle in
the app screens for a significant time because of inadequate information
architecture, It's hard for users to find what they're looking after.
Test objectives
-Do people trust the service?
-Do people are confident of finding the right section?
-Do people are confident to navigate through the application?
-Do people are confident to manipulate with controls provided?
-Do people are confident enough with a registration process?
-Do people understand how to reset the user account password?
-Do people see the availability of Demo version function in the application?
-Do people understand how to find and manipulate with the Driving data section
for a specific
date?
-Do people confident enough to configure their preferences through the settings
screen?
Users and journeys
6 Participants recruited via an external agency. English and Czech language
speakers.
The age varies from
20-50. Sex ration is 1:1. Android and iOS ration is 1:1. All participants are
potential drivers and
car owners and not familiar with that particular mobile application. Computer and
technology
understanding level are newbies.
We have created personas that embodied in our user journey map to demonstrate and
communicate to stakeholders what we want to achieve in a vision of our project. It
helped us to
understand the behaviour and how users are going to interact with our system and
what
to expect from
it. Helping us to understand the functionality at a high level by understanding the
essential tasks they want to do. It helped us to define taxonomy and interface.
Basic information
| Scope |
To test 4 big screens. |
| Purpose |
Full app redesign and UX involvement in obtaining the best
customer experience.
|
| Type of testing |
Qualitative. |
| Strategy |
Between-participants. |
| Form |
Moderated, presented. |
| The context of product use |
Scripted. |
| Scenario |
Go through the process using two operating systems. |
| Time dimension (phase of DEV) |
Executive. |
| Number of respondents |
6 |
| Length of session |
60 min. |
Metrics
As the main propose of the experiment was to talk with real users. We choose a
thinking-aloud technic,
keeping in mind and preventing ourselves from being affected by talking that could
potentially lead
to speed & accuracy inaccuracies.
| Qualitative / process data |
SUS (system usability scale) |
| Quantitative / bottom data |
Completion rate Time on task Error rates |
Environment
Limited on time and budget. Usability testing conducted without any
support and
full-blown lab provided. The main idea was to imitate the natural environment
and to help
participants act naturally and feel comfortable, so we divided people into two
groups
and adapted the
environment based on our desired proposal.
We always prefer to conduct in-person testing sessions at quit office spaces.
Based on the gathered data, we have built a new app concept.
- Information architecture was restructured to be more easily used by
customers.
- Access points for services on different levels were created to quicken
user’s journey in the
App.
- Modularity was introduced to increase the flexibility of the App.
- Added the possibility to personalise the structure of the App by a user.
Methodology and Benefits
A new concept of Modularity proposed for the app to fulfil the
requirement of
adaptability for a possible future merge of other ŠKODA apps. On this proposal,
we
opted to use the
concept of Modularity. By definition, Modularity is the use of small units,
modules, which are
created and designed independently, and afterwards assembled into systems. This
concept allows the
creation of various systems using the same modules.
Benefits
User can easily access controls and essential info about service on each screen
level. Each service might contain several modules and many customization
options. In case of adding new service, it fits in a modular system without
impact on the overall structure of the app. This structure allows adding as many
services and sections as necessary. One service might have several entry points.
From each level of the app as well as from different sections, e.g.
Map/Locations section and Garage/Vehicle section.
Information Architecture
Based on different inputs mentioned in the analysis phase, we decided to
restructure the whole information architecture concept of the app. Our main goal
was to group services of the app more intuitively and logically. We rearranged
the settings into Main Settings (related for the entire app) and service related
settings. Now they appear in a relevant context which improves usability. One of
the key findings from usability testing was that different types of users
searched functionalities in different ways. That inspired us to create several
entry points for each service (explained in section Modularity).
Improvements of UI design, Wireframes
On hand-drawn wireframes, we sketch optimised User Flows and reformulate previous
version problems in new UI patterns. These improve functionality, a hierarchy of
the content, some logic, accessibility and behaviour of features. Also, we keep
in mind that each screen should be as simple as possible to make it
understandable.
Design concept achievements
As part of the design, we also aligned all the branding, creating a new look and
feel for the app that reflected the SKODA’s brand, but was entirely new for the
client. Luckily they loved it! The final stage was consumer testing. Moreover,
again, we were positively surprised. Regardless of age or technical ability,
everyone could complete simple operations. Now, less than one year after its
launch, SKODA Connect app. has doubled the usage.
Project Influencer testimonials
Robert Ehlers. Senior Manager | User
Experience Design lead | Accenture Interactive.
“Vlad is a great UX Designer with profound knowledge in different areas of
UX. From research to prototyping and user testing, he leverages his at the
same time analytical and creative mindset to develop solutions that create
string value for the user and the business.
He's an inspiring role model and a mentor for junior colleagues. I was glad
to have him in the team.“


GS(1) Ghostscript GS(1) NAME gs - Ghostscript (PostScript and PDF language interpreter and previewer) SYNOPSIS gs [ options ] [ files ] ... (Unix, VMS) gswin32c [ options ] [ files ] ... (MS Windows) gswin32 [ options ] [ files ] ... (MS Windows 3.1) gsos2 [ options ] [ files ] ... (OS/2) DESCRIPTION The gs (gswin32c, gswin32, gsos2) command invokes Ghostscript, an inter‐ preter of Adobe Systems' PostScript(tm) and Portable Document Format (PDF) languages. gs reads "files" in sequence and executes them as Ghostscript programs. After doing this, it reads further input from the standard input stream (normally the keyboard), interpreting each line separately. The interpreter exits gracefully when it encounters the "quit" command (either in a file or from the keyboard), at end-of-file, or at an interrupt signal (such as Control-C at the keyboard). The interpreter recognizes many option switches, some of which are described below. Please see the usage documentation for complete informa‐ tion. Switches may appear anywhere in the command line and apply to all files thereafter. Invoking Ghostscript with the -h or -? switch produces a message which shows several useful switches, all the devices known to that executable, and the search path for fonts; on Unix it also shows the location of detailed documentation. Ghostscript may be built to use many different output devices. To see which devices your executable includes, run "gs -h". Unless you specify a particular device, Ghostscript normally opens the first one of those and directs output to it, so if the first one in the list is the one you want to use, just issue the command gs myfile.ps You can also check the set of available devices from within Ghostscript: invoke Ghostscript and type devicenames == but the first device on the resulting list may not be the default device you determine with "gs -h". To specify "AbcXyz" as the initial output device, include the switch -sDEVICE=AbcXyz For example, for output to an Epson printer you might use the command gs -sDEVICE=epson myfile.ps The "-sDEVICE=" switch must precede the first mention of a file to print, and only the switch's first use has any effect. Finally, you can specify a default device in the environment variable GS_DEVICE. The order of precedence for these alternatives from highest to lowest (Ghostscript uses the device defined highest in the list) is: Some devices can support different resolutions (densities). To specify the resolution on such a printer, use the "-r" switch: gs -sDEVICE=<device> -r<xres>x<yres> For example, on a 9-pin Epson-compatible printer, you get the lowest-den‐ sity (fastest) mode with gs -sDEVICE=epson -r60x72 and the highest-density (best output quality) mode with gs -sDEVICE=epson -r240x72. If you select a printer as the output device, Ghostscript also allows you to choose where Ghostscript sends the output -- on Unix systems, usually to a temporary file. To send the output to a file "foo.xyz", use the switch -sOutputFile=foo.xyz You might want to print each page separately. To do this, send the out‐ put to a series of files "foo1.xyz, foo2.xyz, ..." using the "-sOutput‐ File=" switch with "%d" in a filename template: -sOutputFile=foo%d.xyz Each resulting file receives one page of output, and the files are num‐ bered in sequence. "%d" is a printf format specification; you can also use a variant like "%02d". On Unix and MS Windows systems you can also send output to a pipe. For example, to pipe output to the "lpr" command (which, on many Unix sys‐ tems, directs it to a printer), use the option -sOutputFile=%pipe%lpr Note that the '%' characters need to be doubled on MS Windows to avoid mangling by the command interpreter. You can also send output to standard output: -sOutputFile=- or -sOutputFile=%stdout% In this case you must also use the -q switch, to prevent Ghostscript from writing messages to standard output. To select a specific paper size, use the command line switch -sPAPERSIZE=<paper_size> for instance -sPAPERSIZE=a4 or -sPAPERSIZE=legal Most ISO and US paper sizes are recognized. See the usage documentation for a full list, or the definitions in the initialization file "gs_statd.ps". Ghostscript can do many things other than print or view PostScript and PDF files. For example, if you want to know the bounding box of a Post‐ Script (or EPS) file, Ghostscript provides a special "device" that just prints out this information. For example, using one of the example files distributed with Ghostscript, gs -sDEVICE=bbox golfer.ps prints out %%BoundingBox: 0 25 583 732 %%HiResBoundingBox: 0.808497 25.009496 582.994503 731.809445 OPTIONS -- filename arg1 ... Takes the next argument as a file name as usual, but takes all remaining arguments (even if they have the syntactic form of switches) and defines the name "ARGUMENTS" in "userdict" (not "systemdict") as an array of those strings, before running the file. When Ghostscript finishes executing the file, it exits back to the shell. -Dname=token -dname=token Define a name in "systemdict" with the given definition. The token must be exactly one token (as defined by the "token" opera‐ tor) and may contain no whitespace. -Dname -dname Define a name in "systemdict" with value=null. -Sname=string -sname=string Define a name in "systemdict" with a given string as value. This is different from -d. For example, -dname=35 is equivalent to the program fragment /name 35 def whereas -sname=35 is equivalent to /name (35) def -P Makes Ghostscript to look first in the current directory for library files. By default, Ghostscript no longer looks in the current directory, unless, of course, the first explicitly sup‐ plied directory is "." in -I. See also the INITIALIZATION FILES section below, and bundled Use.htm for detailed discussion on search paths and how Ghostcript finds files. -q Quiet startup: suppress normal startup messages, and also do the equivalent of -dQUIET. -gnumber1xnumber2 Equivalent to -dDEVICEWIDTH=number1 and -dDEVICEHEIGHT=number2. This is for the benefit of devices (such as X11 windows) that require (or allow) width and height to be specified. -rnumber -rnumber1xnumber2 Equivalent to -dDEVICEXRESOLUTION=number1 and -dDEVICEYRESOLU‐ TION=number2. This is for the benefit of devices such as printers that support multiple X and Y resolutions. If only one number is given, it is used for both X and Y resolutions. -Idirectories Adds the designated list of directories at the head of the search path for library files. - This is not really a switch, but indicates to Ghostscript that standard input is coming from a file or a pipe and not interac‐ tively from the command line. Ghostscript reads from standard input until it reaches end-of-file, executing it like any other file, and then continues with processing the command line. When the command line has been entirely processed, Ghostscript exits rather than going into its interactive mode. Note that the normal initialization file "gs_init.ps" makes "systemdict" read-only, so the values of names defined with -D, -d, -S, or -s cannot be changed (although, of course, they can be superseded by definitions in "userdict" or other dictionaries.) SPECIAL NAMES -dDISKFONTS Causes individual character outlines to be loaded from the disk the first time they are encountered. (Normally Ghostscript loads all the character outlines when it loads a font.) This may allow loading more fonts into RAM, at the expense of slower rendering. -dNOCACHE Disables character caching. Useful only for debugging. -dNOBIND Disables the "bind" operator. Useful only for debugging. -dNODISPLAY Suppresses the normal initialization of the output device. This may be useful when debugging. -dNOPAUSE Disables the prompt and pause at the end of each page. This may be desirable for applications where another program is driving Ghostscript. -dNOPLATFONTS Disables the use of fonts supplied by the underlying platform (for instance X Windows). This may be needed if the platform fonts look undesirably different from the scalable fonts. -dSAFER Disables the "deletefile" and "renamefile" operators and the abil‐ ity to open files in any mode other than read-only. This strongly recommended for spoolers, conversion scripts or other sensitive environments where a badly written or malicious PostScript program code must be prevented from changing important files. -dWRITESYSTEMDICT Leaves "systemdict" writable. This is necessary when running spe‐ cial utility programs such as font2c and pcharstr, which must bypass normal PostScript access protection. -sDEVICE=device Selects an alternate initial output device, as described above. -sOutputFile=filename Selects an alternate output file (or pipe) for the initial output device, as described above. FILES The locations of many Ghostscript run-time files are compiled into the executable when it is built. On Unix these are typically based in /usr/local, but this may be different on your system. Under DOS they are typically based in C:\GS, but may be elsewhere, especially if you install Ghostscript with GSview. Run "gs -h" to find the location of Ghostscript documentation on your system, from which you can get more details. On a Debian system they are in /usr. /usr/share/gs-gpl/#.##/*/* Startup files, utilities, and basic font definitions /usr/share/fonts/type1/gsfonts/* More font definitions from the gsfonts package /usr/share/doc/gs-gpl/examples/* Ghostscript demonstration files /usr/share/doc/gs-gpl/* Diverse document files INITIALIZATION FILES When looking for the initialization files "gs_*.ps", the files related to fonts, or the file for the "run" operator, Ghostscript first tries to open the file with the name as given, using the current working directory if no directory is specified. If this fails, and the file name doesn't specify an explicit directory or drive (for instance, doesn't contain "/" on Unix systems or "\" on MS Windows systems), Ghostscript tries directo‐ ries in this order: 1. the directories specified by the -I switches in the command line (see below), if any; 2. the directories specified by the GS_LIB environment variable, if any; 3. the directories specified by the GS_LIB_DEFAULT macro in the Ghost‐ script makefile when the executable was built. When gs is built on Unix, GS_LIB_DEFAULT is usually "/usr/local/share/ghost‐ script/#.##:/usr/local/share/ghostscript/fonts" where "#.##" repre‐ sents the Ghostscript version number. They are "/usr/share/gs- gpl/#.## on a Debian system". Each of these (GS_LIB_DEFAULT, GS_LIB, and -I parameter) may be either a single directory or a list of directories separated by ":". ENVIRONMENT GS_OPTIONS String of options to be processed before the command line options GS_DEVICE Used to specify an output device GS_FONTPATH Path names used to search for fonts GS_LIB Path names for initialization files and fonts TEMP Where temporary files are made X RESOURCES Ghostscript, or more properly the X11 display device, looks for the fol‐ lowing resources under the program name "Ghostscript": borderWidth The border width in pixels (default = 1). borderColor The name of the border color (default = black). geometry The window size and placement, WxH+X+Y (default is NULL). xResolution The number of x pixels per inch (default is computed from WidthOf‐ Screen and WidthMMOfScreen). yResolution The number of y pixels per inch (default is computed from HeightOfScreen and HeightMMOfScreen). useBackingPixmap Determines whether backing store is to be used for saving display window (default = true). See the usage document for a more complete list of resources. To set these resources on Unix, put them in a file such as "~/.Xresources" in the following form: Ghostscript*geometry: 612x792-0+0 Ghostscript*xResolution: 72 Ghostscript*yResolution: 72 Then merge these resources into the X server's resource database: % xrdb -merge ~/.Xresources SEE ALSO The various Ghostscript document files (above), especially Use.htm. BUGS See http://bugs.ghostscript.com/ and the Usenet news group comp.lang.postscript. VERSION This document was last revised for Ghostscript version 9.05. AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript. Rus‐ sell J. Lang, gsview at ghostgum.com.au, is the author of most of the MS Windows code in Ghostscript. 9.05 8 February 2012 GS(1)


Blacklist
Overview
The blacklist feature allows you to ban certain items from your trade accounts. The blacklist is checked for all new trade registrations, so you can prevent known cheaters or
other trades that you have had issues with from registering new trade accounts at your site. There are several different blacklists available, and each is described below.
E-mail Addresses - Use this blacklist to ban certain e-mail addresses from registering new trade accounts
Domains - Use this blacklist to ban domains from registering new trade accounts
User IP - Use this blacklist to ban IP addresses of end-users from registering new trade accounts
Server IP - Use this blacklist to ban the IP addresses of servers where a trade site is hosted from registering new trade accounts
Nameservers - Use this blacklist to ban domains using certain nameservers from registering new trade accounts
Words - Use this blacklist to ban words from the site name or description
Page Content - Use this blacklist to ban any HTML code or text from appearing in the trade's traffic URL page
HTTP Headers - Use this blacklist to ban values contained in the HTTP headers of the trade's traffic URL
E-mail Addresses - Use this blacklist to ban certain e-mail addresses from registering new trade accounts
Domains - Use this blacklist to ban domains from registering new trade accounts
User IP - Use this blacklist to ban IP addresses of end-users from registering new trade accounts
Server IP - Use this blacklist to ban the IP addresses of servers where a trade site is hosted from registering new trade accounts
Nameservers - Use this blacklist to ban domains using certain nameservers from registering new trade accounts
Words - Use this blacklist to ban words from the site name or description
Page Content - Use this blacklist to ban any HTML code or text from appearing in the trade's traffic URL page
HTTP Headers - Use this blacklist to ban values contained in the HTTP headers of the trade's traffic URL


Welcome to SAO
Click Me!
Enter the First Number:
Enter the First Number:
Enter Operator:
The output is:
Total
Link 1
Link 2
Link 3
Task-1
Task-2
Enter
Output:
Title
Id
UserId
Title
Body
1
2
Balusu Pilla
Excited, De-Excited and Normal Modes
Title
ID
User ID
Title
Body


I think it's safe to say, that most of my working life for now I've worked with CI-setups. Mostly developing custom software for CI and deployment related tasks and solved such problems.
CI is wide. It's vast as a concept and even more large in practice.
It's also rather simple, and serves one damn important purpose.
It's a seal of trust
Between programmers working on same code-base.
And that's as simple as it gets.
 Surely, we want to get stuff done, but while at it, we really, really don't want to break stuff up. That should be the most intrinsic trait among us, that should be the animal in a developer. The ghastly aura of "This doesn't feel right".
Yet we do. I do.
Thus I need a tool
To make sure that other people won't pull my fuck-ups. Surely we test before push, but still you don't exactly know what other people actually do. Thus we need a queue to keep things in line.
It's not a mechanical, dummy build machine you know.


Modularity is key to HAX success. Here are some of the solutions that HAX provides which leverage the HAXeditor interface:
- "HAX" / HAXeditor - authoring interface / WYSIWYG replacement. It is the headless authoring experience.
- cms-hax is a web component that can be integrated into CMSs like Drupal, BackdropCMS, GravCMS and more
- HAXcms - A stand alone micro-site manager built on top of HAX.
- (future) HAXdesktop - Desktop version of HAX. All the functionality of HAXcms but in a web publishing app that sits on your desktop


A pruning JSON.stringify
for the very specific cases where you need to be able to stringify
big or recursive javascript objects and don't really need the result to be complete.
var json = JSON.stringify(window); // this fails
var json = JSON.prune(window); // this builds a JSON valid string from a pruned version of the recursive, deep, and not totally accessible window object
var prunedWindow = JSON.parse(JSON.prune(window)); // this builds a lighter and not recursive version of window
It's totally useless for at least 99% js developpers.
JSON.prune.log
is a proxy over console.log
deep cloning the objects before logging them, in order to avoid the delay problem encountered on non primitive objects logging (see here for example).
JSON.prune.log('some object:', window);
You should not use it frequently, only when you really need to see the objects how they were at logging time.
<script src=http://dystroy.org/JSON.prune/.js></script>
JSON.prune({a:1, b:[1, 2, 3]});
JSON.prune(window);
JSON.prune(window.location,{inheritedProperties: true}); // without this setting, FireFox and IE only show an empty object
var a=[]; for (var i=0;i<1000;i++) {a.push(i<2?1:a[i-2]+a[i-1])} JSON.prune(a, 0, 200);


--- layout: page title: Blog permalink: /blog/ mainnav: true order: 2 regenerate: true sitemap: priority: 0.7 stylesheets: - "/css/post-list.css" ---


{% block javascript %} {% endblock %}
{% block heading %}
NRPS-Linker
Tutorial
Example of Upload Files
Downloads
Contact
Inter-Modular Linkers
Within Bacterial NRP Biosynthetic Pathways
Home
IML Extractor
IML extractor based on AntiSMASH3.0
IML extractor based on AntiSMASH4.0
IMLs Database
MIBiG NRP clusters' Inter-Modular Linkers
Putative NRP clusters' Inter-Modular Linkers
Analysis
Data Summary
{% endblock %}
{% block content %} {% endblock %}


|
MRSL DecompUtil Library
0.1
An implementaion of convex decomposition over point cloud
|
Line Segment Class. More...
#include <decomp_base.h>
Public Member Functions | |
| DecompBase () | |
| Null constructor. | |
| void | set_local_bbox (const Vecf< Dim > &bbox) |
| Adding local bounding box around line seg. More... | |
| void | set_obs (const vec_Vecf< Dim > &obs) |
| Import obstacle points. | |
| vec_Vecf< Dim > | get_obs () const |
| Get obstacel points. | |
| Ellipsoid< Dim > | get_ellipsoid () const |
| Get ellipsoid. | |
| Polyhedron< Dim > | get_polyhedron () const |
| Get polyhedron. | |
| virtual void | dilate (decimal_t radius=0)=0 |
| Inflate the line segment. More... | |
| virtual void | shrink (double shrink_distance) |
| Shrink the polyhedron. More... | |
Protected Member Functions | |
| virtual void | add_local_bbox (Polyhedron< Dim > &Vs)=0 |
| void | find_polyhedron () |
Protected Attributes | |
| vec_Vecf< Dim > | obs_ |
| Obstacles, input. | |
| Ellipsoid< Dim > | ellipsoid_ |
| Output ellipsoid. | |
| Polyhedron< Dim > | polyhedron_ |
| Output polyhedron. | |
| Vecf< Dim > | local_bbox_ {Vecf<Dim>::Zero()} |
| Local bounding box along the line segment. | |
|
pure virtual |
Inflate the line segment.
| radius | the offset added to the long semi-axis |
Implemented in LineSegment< Dim >, and SeedDecomp< Dim >.
|
inline |
Adding local bounding box around line seg.
| Dim | Distance in corresponding axis |
This virtual bounding box is parallel to the line segment, the x,y,z axes are not w.r.t the world coordinate system, but instead, x-axis is parallel to the line, y-axis is perpendicular to the line and world z-axis, z-axis is perpendiculat to the line and y-axis
|
inlinevirtual |
Shrink the polyhedron.
| shrink_distance | Shrink distance |


The coronavirus package provides a tidy format dataset of the 2019 Novel Coronavirus COVID-19 (2019-nCoV) epidemic and the vaccination efforts by country. The raw data is being pulled from the Johns Hopkins University Center for Systems Science and Engineering (JHU CCSE) Coronavirus repository.
More details available here, and a csv
format of the package dataset available here
Install the CRAN version:
install.packages("coronavirus")
Install the Github version (refreshed on a daily bases):
# install.packages("devtools")
devtools::install_github("RamiKrispin/coronavirus")
The package provides the following two datasets:
coronavirus - tidy (long) format of the JHU CCSE datasets. That includes the following columns:
date
- The date of the observation, using Date
classprovince
- Name of province/state, for countries where data is provided split across multiple provinces/statescountry
- Name of country/regionlat
- The latitude codelong
- The longitude codetype
- An indicator for the type of cases (confirmed, death, recovered)cases
- Number of cases on given dateuid
- Country codeprovince_state
- Province or state if applicableiso2
- Officially assigned country code identifiers with two-letteriso3
- Officially assigned country code identifiers with three-lettercode3
- UN country codefips
- Federal Information Processing Standards code that uniquely identifies counties within the USAcombined_key
- Country and province (if applicable)population
- Country or province populationcontinent_name
- Continent namecontinent_code
- Continent codecovid19_vaccine - a tidy (long) format of the the Johns Hopkins Centers for Civic Impact global vaccination dataset by country. This dataset includes the following columns:
country_region
- Country or region namedate
- Data collection date in YYYY-MM-DD formatdoses_admin
- Cumulative number of doses administered. When a vaccine requires multiple doses, each one is counted independentlypeople_partially_vaccinated
- Cumulative number of people who received at least one vaccine dose. When the person receives a prescribed second dose, it is not counted twicepeople_fully_vaccinated
- Cumulative number of people who received all prescribed doses necessary to be considered fully vaccinatedreport_date_string
- Data report date in YYYY-MM-DD formatuid
- Country codeprovince_state
- Province or state if applicableiso2
- Officially assigned country code identifiers with two-letteriso3
- Officially assigned country code identifiers with three-lettercode3
- UN country codefips
- Federal Information Processing Standards code that uniquely identifies counties within the USAlat
- Latitudelong
- Longitudecombined_key
- Country and province (if applicable)population
- Country or province populationcontinent_name
- Continent namecontinent_code
- Continent codeWhile the coronavirus CRAN version is updated every month or two, the Github (Dev) version is updated on a daily bases. The update_dataset
function enables to overcome this gap and keep the installed version with the most recent data available on the Github version:
Note: must restart the R session to have the updates available
Alternatively, you can pull the data using the Covid19R project data standard format with the refresh_coronavirus_jhu
function:
covid19_df <- refresh_coronavirus_jhu()
head(covid19_df)
#> date location location_type location_code location_code_type
#> 1 2022-04-21 Afghanistan country AF iso_3166_2
#> 2 2022-04-20 Afghanistan country AF iso_3166_2
#> 3 2021-12-26 Afghanistan country AF iso_3166_2
#> 4 2022-04-17 Afghanistan country AF iso_3166_2
#> 5 2022-04-23 Afghanistan country AF iso_3166_2
#> 6 2022-04-24 Afghanistan country AF iso_3166_2
#> data_type value lat long
#> 1 deaths_new 0 33.93911 67.70995
#> 2 deaths_new 0 33.93911 67.70995
#> 3 deaths_new 5 33.93911 67.70995
#> 4 deaths_new 2 33.93911 67.70995
#> 5 deaths_new 1 33.93911 67.70995
#> 6 deaths_new 1 33.93911 67.70995
data("coronavirus")
head(coronavirus)
#> date province country lat long type cases uid iso2 iso3
#> 1 2020-01-22 Alberta Canada 53.9333 -116.5765 confirmed 0 12401 CA CAN
#> 2 2020-01-23 Alberta Canada 53.9333 -116.5765 confirmed 0 12401 CA CAN
#> 3 2020-01-24 Alberta Canada 53.9333 -116.5765 confirmed 0 12401 CA CAN
#> 4 2020-01-25 Alberta Canada 53.9333 -116.5765 confirmed 0 12401 CA CAN
#> 5 2020-01-26 Alberta Canada 53.9333 -116.5765 confirmed 0 12401 CA CAN
#> 6 2020-01-27 Alberta Canada 53.9333 -116.5765 confirmed 0 12401 CA CAN
#> code3 combined_key population continent_name continent_code
#> 1 124 Alberta, Canada 4413146 North America NA
#> 2 124 Alberta, Canada 4413146 North America NA
#> 3 124 Alberta, Canada 4413146 North America NA
#> 4 124 Alberta, Canada 4413146 North America NA
#> 5 124 Alberta, Canada 4413146 North America NA
#> 6 124 Alberta, Canada 4413146 North America NA
Summary of the total confrimed cases by country (top 20):
library(dplyr)
summary_df <- coronavirus %>%
filter(type == "confirmed") %>%
group_by(country) %>%
summarise(total_cases = sum(cases)) %>%
arrange(-total_cases)
summary_df %>% head(20)
#> # A tibble: 20 × 2
#> country total_cases
#> <chr> <int>
#> 1 US 86636306
#> 2 India 43344958
#> 3 Brazil 31890733
#> 4 France 30555038
#> 5 Germany 27573585
#> 6 United Kingdom 22751393
#> 7 Korea, South 18305783
#> 8 Russia 18137759
#> 9 Italy 18014202
#> 10 Turkey 15085742
#> 11 Spain 12613634
#> 12 Vietnam 10739855
#> 13 Argentina 9341492
#> 14 Japan 9178003
#> 15 Netherlands 8247488
#> 16 Australia 7919844
#> 17 Iran 7235440
#> 18 Colombia 6131657
#> 19 Indonesia 6072918
#> 20 Poland 6011984
Summary of new cases during the past 24 hours by country and type (as of 2022-06-22):
library(tidyr)
coronavirus %>%
filter(date == max(date)) %>%
select(country, type, cases) %>%
group_by(country, type) %>%
summarise(total_cases = sum(cases)) %>%
pivot_wider(names_from = type,
values_from = total_cases) %>%
arrange(-confirmed)
#> # A tibble: 199 × 4
#> # Groups: country [199]
#> country confirmed death recovery
#> <chr> <int> <int> <int>
#> 1 US 184074 860 0
#> 2 Germany 119360 98 0
#> 3 France 78123 66 0
#> 4 Brazil 71906 140 0
#> 5 Italy 54873 50 0
#> 6 Taiwan* 52218 171 0
#> 7 United Kingdom 33406 77 0
#> 8 Australia 32034 52 0
#> 9 Japan 17263 15 0
#> 10 Portugal 15372 21 0
#> # … with 189 more rows
Plotting daily confirmed and death cases in Brazil:
library(plotly)
coronavirus %>%
group_by(type, date) %>%
summarise(total_cases = sum(cases)) %>%
pivot_wider(names_from = type, values_from = total_cases) %>%
arrange(date) %>%
mutate(active = confirmed - death - recovery) %>%
mutate(active_total = cumsum(active),
recovered_total = cumsum(recovery),
death_total = cumsum(death)) %>%
plot_ly(x = ~ date,
y = ~ active_total,
name = 'Active',
fillcolor = '#1f77b4',
type = 'scatter',
mode = 'none',
stackgroup = 'one') %>%
add_trace(y = ~ death_total,
name = "Death",
fillcolor = '#E41317') %>%
add_trace(y = ~recovered_total,
name = 'Recovered',
fillcolor = 'forestgreen') %>%
layout(title = "Distribution of Covid19 Cases Worldwide",
legend = list(x = 0.1, y = 0.9),
yaxis = list(title = "Number of Cases"),
xaxis = list(title = "Source: Johns Hopkins University Center for Systems Science and Engineering"))
Plot the confirmed cases distribution by counrty with treemap plot:
conf_df <- coronavirus %>%
filter(type == "confirmed") %>%
group_by(country) %>%
summarise(total_cases = sum(cases)) %>%
arrange(-total_cases) %>%
mutate(parents = "Confirmed") %>%
ungroup()
plot_ly(data = conf_df,
type= "treemap",
values = ~total_cases,
labels= ~ country,
parents= ~parents,
domain = list(column=0),
name = "Confirmed",
textinfo="label+value+percent parent")
data(covid19_vaccine)
head(covid19_vaccine)
#> country_region date doses_admin people_partially_vaccinated
#> 1 Canada 2020-12-14 5 0
#> 2 World 2020-12-14 5 0
#> 3 Canada 2020-12-15 723 0
#> 4 China 2020-12-15 1500000 0
#> 5 Russia 2020-12-15 28500 28500
#> 6 World 2020-12-15 1529223 28500
#> people_fully_vaccinated report_date_string uid province_state iso2 iso3 code3
#> 1 0 2020-12-14 124 <NA> CA CAN 124
#> 2 0 2020-12-14 NA <NA> <NA> <NA> NA
#> 3 0 2020-12-15 124 <NA> CA CAN 124
#> 4 0 2020-12-15 156 <NA> CN CHN 156
#> 5 0 2020-12-15 643 <NA> RU RUS 643
#> 6 0 2020-12-15 NA <NA> <NA> <NA> NA
#> fips lat long combined_key population continent_name continent_code
#> 1 <NA> 60.00000 -95.0000 Canada 37855702 North America NA
#> 2 <NA> NA NA <NA> NA <NA> <NA>
#> 3 <NA> 60.00000 -95.0000 Canada 37855702 North America NA
#> 4 <NA> 35.86170 104.1954 China<PHONE_NUMBER> Asia AS
#> 5 <NA> 61.52401 105.3188 Russia 145934460 Europe EU
#> 6 <NA> NA NA <NA> NA <NA> <NA>
Plot the top 20 vaccinated countries:
covid19_vaccine %>%
filter(date == max(date),
!is.na(population)) %>%
mutate(fully_vaccinated_ratio = people_fully_vaccinated / population) %>%
arrange(- fully_vaccinated_ratio) %>%
slice_head(n = 20) %>%
arrange(fully_vaccinated_ratio) %>%
mutate(country = factor(country_region, levels = country_region)) %>%
plot_ly(y = ~ country,
x = ~ round(100 * fully_vaccinated_ratio, 2),
text = ~ paste(round(100 * fully_vaccinated_ratio, 1), "%"),
textposition = 'auto',
orientation = "h",
type = "bar") %>%
layout(title = "Percentage of Fully Vaccineted Population - Top 20 Countries",
yaxis = list(title = ""),
xaxis = list(title = "Source: Johns Hopkins Centers for Civic Impact",
ticksuffix = "%"))
Note: Currently, the dashboard is under maintenance due to recent changes in the data structure. Please see this issue
A supporting dashboard is available here
The raw data pulled and arranged by the Johns Hopkins University Center for Systems Science and Engineering (JHU CCSE) from the following resources:


Port Marmara lies on the SW corner of the large, mountainous island of Marmara Adasi. White marble is mined on the northern side of the island and is well-known for its purity. Unfortunately this does mean that the area surrounding the port is an open pit mine and not a pretty sight.
Location 40° 35.1'N, 27° 33.7'E.
It is a very crowded harbour and yachts are usually directed to berth on the northern quay, where care must be taken to avoid the underwater rubble.
There is excellent shelter here.
Anchoring is also possible in the bay, good holding and shelter from all winds except Northwest.
Last updated June 2011.


calculate_engagement_index
Calculate engagement_index using different features.
data (dataframe) – Dataframe containing band powers.
config (yaml) – Configuration file.
Dataframe of calculated engagement indices.
dataframe
validate_engagement_index
Enagement index of subjects and hand_type.
Description of returned object.
dataframe of all enagement index
read_with_pickle
save the dataset.
path (str) – path to save.
data – dictionary of pandas dataframe to save
dict


Locating archive server and preparing file for download...
(this can take several minutes)
(Click here if your browser does not continue automatically)
[ Close ]


News Aggregation Portal
Politics
Travel
Opinion
Health
Faith
Entertainment
Edit Profile
(current)
Edit Profile
First Name:
Last Name:
Address:
Password:
News Preferences:
U.S.
World
Politics
Money
Opinion
Health
Entertainment
Tech
Style
Travel
Sports