|
CMSIS-SVD
Version 1.3.3
CMSIS System View Description
|
All peripherals of a device are enclosed within the tag <peripherals>.
Example:
| Parent Element | Element Chain | ||
|---|---|---|---|
| device | /device element | ||
| Child Elements | Description | Type | Occurrence |
| peripheral | Define the sequence of peripherals. | peripheralType | 1..* |
At least one peripheral has to be defined.
Starting version 1.3 of the SVD specification, arrays of peripherals can be specified. The single peripheral description gets duplicated automatically into an array. The number of array elements is specified by the <dim> element. To define arrays, the <name> needs the format myPeripheral[%s]. The tag <dimIncrement> specifies the address offset between two peripherals. To create copies of a peripheral using different names, you must use the derivedFrom attribute.
Example:
Two timer peripheral descriptions are specified for the same memory block. No redefined addresses will be reported for both peripherals.
/device/peripherals/peripheral
| Parent Element | Element Chain | ||
|---|---|---|---|
| peripherals | /device/peripherals element | ||
| Attributes | Description | Type | Occurrence |
| derivedFrom | Specify the peripheral name from which to inherit data. Elements specified subsequently override inherited values. | dimableIdentifierType | 0..1 |
| Child Elements | Description | Type | Occurrence |
| Refer to dimElementGroup for details about the colored elements. | |||
| dim | Define the number of elements in an array. | scaledNonNegativeInteger | 0..1 |
| dimIncrement | Specify the address increment, in Bytes, between two neighboring array members in the address map. | scaledNonNegativeInteger | 0..1 |
| dimIndex | Do not define on peripheral level. By default, <dimIndex> is an integer value starting at 0. | dimIndexType | 0..1 |
| dimName | Specify the name of the C-type structure. If not defined, then the entry of the <name> element is used. | idnetifierType | 0..1 |
| dimArrayIndex | Grouping element to create enumerations in the header file. | dimArrayIndexType | 0..1 |
| name | The string identifies the peripheral. Peripheral names are required to be unique for a device. The name needs to be an ANSI C identifier to generate the header file. You can use the placeholder [%s] to create arrays. | dimableIdentifierType | 1..1 |
| version | The string specifies the version of this peripheral description. | xs:string | 0..1 |
| description | The string provides an overview of the purpose and functionality of the peripheral. | xs:string | 0..1 |
| alternatePeripheral | All address blocks in the memory space of a device are assigned to a unique peripheral by default. If multiple peripherals describe the same address blocks, then this needs to be specified explicitly. A peripheral redefining an address block needs to specify the name of the peripheral that is listed first in the description. | dimaleIdentifierType | 0..1 |
| groupName | Define a name under which the System Viewer is showing this peripheral. | xs:Name | 0..1 |
| prependToName | Define a string as prefix. All register names of this peripheral get this prefix. | identifierType | 0..1 |
| appendToName | Define a string as suffix. All register names of this peripheral get this suffix. | identifierType | 0..1 |
| headerStructName | Specify the base name of C structures. The headerfile generator uses the name of a peripheral as the base name for the C structure type. If <headerStructName> element is specfied, then this string is used instead of the peripheral name; useful when multiple peripherals get derived and a generic type name should be used. | dimableIdentifierType | 0..1 |
| disableCondition | Define a C-language compliant logical expression returning a TRUE or FALSE result. If TRUE, refreshing the display for this peripheral is disabled and related accesses by the debugger are suppressed. Only constants and references to other registers contained in the description are allowed: <peripheral>-><register>-><field>, for example, (System->ClockControl->apbEnable == 0). The following operators are allowed in the expression [&&,||, ==, !=, >>, <<, &, |].
| stringType | 0..1 |
| baseAddress | Lowest address reserved or used by the peripheral. | scaledNonNegativeInteger | 1..1 |
| Refer to registerPropertiesGroup for details about the colored elements. | |||
| size | Define the default bit-width of any register contained in the device (implicit inheritance). | scaledNonNegativeInteger | 0..1 |
| access | Define default access rights for all registers. | accessType | 0..1 |
| protection | Define default protection rights for all registers. | protectionStringType | 0..1 |
| resetValue | Define the default value for all registers at RESET. | scaledNonNegativeInteger | 0..1 |
| resetMask | Identify which register bits have a defined reset value. | scaledNonNegativeInteger | 0..1 |
| addressBlock | Specify an address range uniquely mapped to this peripheral. A peripheral must have at least one address block, but can allocate multiple distinct address ranges. If a peripheral is derived from another peripheral, the addressBlock is not mandatory. | addressBlockType | 0/1..* |
| interrupt | A peripheral can have multiple associated interrupts. This entry allows the debugger to show interrupt names instead of interrupt numbers. | interruptType | 0..* |
| registers | Group to enclose register definitions. | registersType | 0..1 |
Specify an address range uniquely mapped to this peripheral. A peripheral must have at least one address block. If a peripheral is derived form another peripheral, the <addressBlock> is not mandatory.
/device/peripherals/peripheral/addressBlock
| Parent Element | Element Chain | ||
|---|---|---|---|
| peripheral | /device/peripherals/peripheral element | ||
| Child Elements | Description | Type | Occurrence |
| offset | Specifies the start address of an address block relative to the peripheral baseAddress. | scaledNonNegativeInteger | 1..1 |
| size | Specifies the number of addressUnitBits being covered by this address block. The end address of an address block results from the sum of baseAddress, offset, and (size - 1). | scaledNonNegativeInteger | 1..1 |
| usage | The following predefined values can be used:
| scaledNonNegativeInteger | 1..1 |
| protection | Set the protection level for an address block. | protectionStringType | 0..1 |
A peripheral can have multiple interrupts. This entry allows the debugger to show interrupt names instead of interrupt numbers.
/device/peripherals/peripheral/interrupt
| Parent Element | Element Chain | ||
|---|---|---|---|
| peripheral | /device/peripherals/peripheral element | ||
| Child Elements | Description | Type | Occurrence |
| name | The string represents the interrupt name. | stringType | 1..1 |
| description | The string describes the interrupt. | xs:string | 0..1 |
| value | Represents the enumeration index value associated to the interrupt. | xs:integer | 1..1 |


$ composer create-project event-engine/php-engine-skeleton event-engine
Event Engine is a CQRS / EventSourcing framework for PHP to help you rapidly develop event sourced applications, while providing a path to refactor towards a richer domain model as needed. Customize Event Engine with Flavours. Choose between different programming styles.
Built-in PSR-7 Messagebox with JSON Schema and Event Engine Cockpit support. Focus on the domain model. Let Event Engine handle the rest.
Straightforward Event Sourcing without boilerplate. Rapid. Effective. Simple.
Learn CQRS / EventSourcing basics with Event Engine in a step by step tutorial.


Navy arrests 13, impounds N65.7m adulterated diesel
by Taiwo OjoyeAda Wodu, Calabar
Officers of the Nigerian Navy Ship Victory have arrested 13 suspects with 541 drums of illegally refined diesel valued at N65.7m.
The Commander of NNS Victory, Commodore Vincent Okeke, disclosed this to journalists in Calabar, Cross River State, while handing over the suspects and the seized product to the Nigeria Security and Civil Defence Corps.
The suspects are Joshua Ebitimi, Paul Ibo, Okon Ikot-Edem Bassey, Gabriel Sylvanus, Destiny Paul, Effiong John and Phillip Joseph.
Others are Rowland Timothy, Victor Ekpo, Godgift Patani, Christian Edet Uboulo, Akpabio Joseph Jacob and Itoro Effiong.
Okeke said on November 14, 2019, that his team carried out air surveillance of the base’s Area of Operations with focus on Jebbs Creek in Calabar South, Ikang, Tom Shot Island and Ibaka environs using Nigerian Air Force Eurocopter 135 Helicopter.
He said subsequently NNS Victory patrol teams were deployed to identify areas of interest which led to the interception of a large wooden boat with 13 crew members including a large number of drums offshore Ibaka.
He said, “The boat, crew and impounded product were escorted to the base and after offloading the boat, 541 drums of illegally refined AGO (diesel) were recovered. Findings revealed that the product was loaded offshore Bonny Island and heading to Limbe in Cameroon.”
“The total market value of the latest seizure is N65, 706, 000. Obviously, the repeated arrests have failed to deter smugglers.”
Commodore Okeke further stated that the NNS Victory remained resolute in enforcing the mandate of the Chief of Naval Staff to rid Nigeria’s maritime domain of all vices.
Copyright PUNCH.
All rights reserved. This material, and other digital content on this website, may not be reproduced, published, broadcast, rewritten or redistributed in whole or in part without prior express written permission from PUNCH.
Contact: theeditor@punchng.com


This is interactive: Hover over the blue dots!
It may take a while to load, so leave your cursor on the dot for a while, and it should load
If it still doesn't work, please try the offline version!
Every part of this interactive has been hand written and drawn.


--- layout: post status: publish published: true title: 'Join us in donating $10 to JDRF in memory of #10' author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 3489 wordpress_url: http://ivyenvy.com/?p=3489 date: '2010-12-03 13:58:59 +0000' date_gmt: '2010-12-03 19:58:59 +0000' categories: - Broadcasters/Networks - Former Cubs tags: - Ron Santo - JDRF comments: - id: 2187 author: Ryan author_email<EMAIL_ADDRESS>author_url: '' date: '2010-12-04 18:42:36 +0000' date_gmt: '2010-12-05 00:42:36 +0000' content: The Juvenile Diabetes Research Foundation International (JDRF) is the leading charitable funder and advocate of type 1 (juvenile) diabetes research worldwide. The mission of JDRF is to find a cure for diabetes and its complications through the support of research. Type 1 diabetes is an autoimmune disease that strikes children and adults suddenly, and can be fatal. Until a cure is found, people with type 1 diabetes have to test their blood sugar and give themselves multiple insulin injections or use a pump — every day of their lives. And even with that intensive care, insulin is not a cure for diabetes, nor does it prevent its eventual and devastating complications, which may include kidney failure, blindness, heart disease, stroke, and amputation. ---
Today, we lost the Patriarch of the Cubs family, Ron Santo. Join us in donating $10 for #10 and the cause that he worked so hard for - Juvenile Diabetes. Make your $10 donation here : JDRF Donation


Render a table enhanced with jQuery DataTables
Dynamic Attributes Allowed:false |
|||||
Name |
Required |
Default |
Evaluated |
Type |
Description |
|---|---|---|---|---|---|
| accesskey | false | false | String | Set the html accesskey attribute on rendered html element | |
| ajax | false | false | String | Configuration of an AJAX Datasource for the Table. Expect a string (url), oan object(jQuery ajax like config object), or a custom function. See datatables reference for more infos | |
| ajaxReloadTopics | false | false | String | Comma separated list of topics that trigger an AJAX reload | |
| autoFill | false | false | false | String | AutoFill plugin configuration. True to enable with defaults, JS object to enable with custom options |
| autoWidth | false | true | false | String | enable/disable automatic column width calculation |
| buttons | false | false | false | String | Buttons plugin configuration. True to enable with defaults, JS object to enable with custom options |
| class | false | false | String | The css class to use for element - it's an alias of cssClass attribute. | |
| clearTableTopics | false | false | String | Comma separated list of topics that trigger a table clear | |
| colReorder | false | false | false | String | ColReorder plugin configuration. True to enable with defaults, JS object to enable with custom options |
| columnDefs | false | false | String | Other way of configuring columns. Expect a JS array, as specified by datatables manual. | |
| columns | false | false | String | Configuration of columns. Expect a JS array, as specified by datatables manual. | |
| createdRow | false | false | String | Callback for whenever az TR element is created for the table's body | |
| cssClass | false | false | String | The css class to use for element | |
| cssErrorClass | false | false | String | The css error class to use for element | |
| cssErrorStyle | false | false | String | The css error style definitions for element to use | |
| cssStyle | false | false | String | The css style definitions for element to use | |
| data | false | false | String | Use of a JS array as dataSource for the table | |
| dataType | false | false | String | Type of the result. e.g. html, xml, text, json, ... | |
| datatablesTheme | false | default | false | String | the theme for DataTables |
| deferLoading | false | false | String | When server side processing is enabled, and initial data is already in the DOM content of the table, if this option is setted with the full dataset size, datatables will defer requesting the server until needed | |
| deferRender | false | false | false | String | Deffer initial rendering for additional speed up of initialisation |
| disabled | false | false | String | Set the html disabled attribute on rendered html element | |
| displayStart | false | 0 | false | String | Initial page to show |
| dom | false | false | String | DataTables dom configuration | |
| drawCallback | false | false | String | Callback called every time DataTables performs a draw | |
| effect | false | none | false | String | Perform a effect on the elements specified in the 'targets' attribute. e.g. bounce, highlight, pulsate, shake, size or transfer. See more details at http://docs.jquery.com/UI/Effects |
| effectDuration | false | 2000 | false | String | Duration of effect in milliseconds. Only valid if 'effect' attribute is set |
| effectMode | false | none | false | String | The Effect Mode. show, hide, toggle, none |
| effectOptions | false | false | String | jQuery options for effect, eg 'color : #aaaaaa' for the highlight effect or 'times : 3' for the bounce effect. Only valid if 'effect' attribute is set. See more details at http://docs.jquery.com/UI/Effects | |
| errorElementId | false | false | false | String | This should provide the id of the element into which the error text will be placed when an error ocurrs loading the container. If 'errorTest' is provided, that wil be used, otherwise the ajax error message text wil be used. |
| errorPosition | false | false | String | Define error position of form element (top|bottom) | |
| errorText | false | false | String | The text to be displayed on load error. If 'errorElement' is provided, this will display the error in the elemtn (if existing), if not, it will display the error as the contents of this container | |
| fixedColumns | false | false | false | String | Fixed plugin configuration. True to enable with defaults, JS object to enable with custom options |
| fixedHeader | false | false | false | String | FixedHeader plugin configuration. True to enable with defaults, JS object to enable with custom options |
| footerCallback | false | false | String | Footer dispplay Callback | |
| formIds | false | false | String | Comma delimited list of form ids for which to serialize all fields during submission when this element is clicked (if multiple forms have overlapping element names, it is indeterminate which will be used) | |
| formatNumber | false | false | String | Number formatting Callback | |
| headerCallback | false | false | String | Header display Callback | |
| href | false | false | String | The url to be use when this element is clicked | |
| id | false | false | String | HTML id attribute | |
| indicator | false | false | String | If loading content into a target, Id of element that will be displayed during loading and hidden afterwards (will override settings for the target container) | |
| info | false | true | false | String | enable/disable information display |
| infoCallback | false | false | String | Table summary display Callback | |
| initComplete | false | false | String | Initialisation complete Callback | |
| javascriptTooltip | false | false | false | Boolean | Use JavaScript to generate tooltips |
| key | false | false | String | Set the key (name, value, label) for this particular component | |
| keys | false | false | false | String | KeyTable plugin configuration. True to enable with defaults, JS object to enable with custom options |
| label | false | false | String | Label expression used for rendering an element specific label | |
| labelSeparator | false | : | false | String | String that will be appended to the label |
| labelposition | false | false | String | Define label position of form element (top/left) | |
| lengthChange | false | true | false | String | enable/disable paging length select |
| lengthMenu | false | [10,25,50,100] | false | String | specify the entries in the drop down select for pagination.Expect a 1D array containing integer values of page length or a 2D array with first index being the page lengths and second index being the dispalyed options |
| listenTopics | false | false | String | The comma separated list 'listenTopics' is the list of topic names that is used to trigger a request. | |
| loadingText | false | false | String | If loading content into a target, The text to be displayed during load (will be shown if any provided, will override settings for the target container) | |
| name | false | false | String | The name to set for element | |
| onAfterValidationTopics | false | false | String | A comma delimited list of topics that published after the Ajax validation. event.originalEvent.formvalidate to see if validation passed/failed. | |
| onAlwaysTopics | false | false | String | A comma delimited list of topics that published always | |
| onAutoFillTopics | false | false | String | Comma separated list of topics fired when an autoFill action has been completed | |
| onBeforeAutoFillTopics | false | false | String | Comma separated list of topics fired when an auto fill action is about to be applied to the table | |
| onBeforeTopics | false | false | String | Topics that are published before a load | |
| onBlurTopics | false | false | String | A comma delimited list of topics that published when the element is blured | |
| onButtonActionTopics | false | false | String | Comma separated list of topics fired when a button action has been triggered | |
| onChangeTopics | false | false | String | A comma delimited list of topics that published when the element changed | |
| onColumnReorderTopics | false | false | String | Comma separated list of topics fired when columns have been reordered by user or API | |
| onColumnSizingTopics | false | false | String | Comma separated list of topics fired when column are resized | |
| onColumnVisibilityTopics | false | false | String | Comma separated list of topics fired when column visibility change | |
| onCompleteTopics | false | false | String | A comma delimited list of topics that published when the element ajax request is completed (will override settings for a target container if provided) | |
| onDeselectTopics | false | false | String | Comma separated list of topics fired when items have been deselected | |
| onDestroyTopics | false | false | String | Comma separated list of topics fired the datatable is destroyed | |
| onDisableTopics | false | false | String | A comma delimited list of topics that published when the element disabled | |
| onDrawTopics | false | false | String | Comma separated list of topics fired when a draw has finished | |
| onEffectCompleteTopics | false | false | String | A comma delimited list of topics that published when an effect is completed | |
| onEnableTopics | false | false | String | A comma delimited list of topics that published when the element is enabled | |
| onErrorTopics | false | false | String | A comma delimited list of topics that published when the element ajax request returns an error (will override settings for a target container if provided) | |
| onFocusTopics | false | false | String | A comma delimited list of topics that published when the element is focused | |
| onInitCompleteTopics | false | false | String | Comma separated list of topics fired datatable initialization is complete | |
| onInitStartTopics | false | false | String | Comma separated list of topics fired when initialisation started, immediately before data load | |
| onKeyBlurTopics | false | false | String | Comma separated list of topics fired when KeyTable has blurred focus from a cell | |
| onKeyFocusTopics | false | false | String | Comma separated list of topics fired when KeyTable has focused a cell | |
| onOrderTopics | false | false | String | Comma separated list of topics fired when data contained in the table is ordered | |
| onOtherKeyTopics | false | false | String | Comma separated list of topics fired when a key event has been detected and is not handled by KeyTable | |
| onPageChangeTopics | false | false | String | Comma separated list of topics fired when paging is updated | |
| onPageLengthChangeTopics | false | false | String | Comma separated list of topics fired when the page length has changed | |
| onProcessingErrorTopics | false | false | String | Comma separated list of topics fired when an error occured while processing data | |
| onProcessingTopics | false | false | String | Comma separated list of topics fired when data is processed | |
| onResponsiveDisplayTopics | false | false | String | Comma separated list of topics fired when the details for a row has been displayed, updated or hidden | |
| onResponsiveResizeTopics | false | false | String | Comma separated list of topics fired when the columns displayed by Responsive has changed due to resize | |
| onRowGroupPointChangedTopics | false | false | String | Comma separated list of topics fired when row group point have been changed | |
| onRowReorderTopics | false | false | String | Comma separated list of topics fired when row have been reordered by the user, when dropping is done, but before data change is applied | |
| onRowReorderedTopics | false | false | String | Comma separated list of topics fired when rows have been reordered by the user | |
| onSearchTopics | false | false | String | Comma separated list of topics fired when the table is filtered | |
| onSelectItemsTopics | false | false | String | Comma separated list of topics fired when select items type change event | |
| onSelectStyleTopics | false | false | String | Comma separated list of topics fired when select items style change event | |
| onSelectTopics | false | false | String | Comma separated list of topics fired when items have been selected | |
| onStateLoadedTopics | false | false | String | Comma separated list of topics fired when state has been loaded and applied | |
| onStateLoadingTopics | false | false | String | Comma separated list of topics fired when state is beeing loaded from storage | |
| onStateSavingTopics | false | false | String | Comma separated list of topics fired when column state is beeing stored | |
| onSuccessTopics | false | false | String | A comma delimited list of topics that published when the element ajax request is completed successfully (will override settings for a target container if provided) | |
| onUserSelectTopics | false | false | String | Comma separated list of topics fired when a user action cause items to be selected in the table | |
| onblur | false | false | String | Set the html onblur attribute on rendered html element | |
| onchange | false | false | String | Set the html onchange attribute on rendered html element | |
| onclick | false | false | String | Set the html onclick attribute on rendered html element | |
| ondblclick | false | false | String | Set the html ondblclick attribute on rendered html element | |
| onfocus | false | false | String | Set the html onfocus attribute on rendered html element | |
| onkeydown | false | false | String | Set the html onkeydown attribute on rendered html element | |
| onkeypress | false | false | String | Set the html onkeypress attribute on rendered html element | |
| onkeyup | false | false | String | Set the html onkeyup attribute on rendered html element | |
| onmousedown | false | false | String | Set the html onmousedown attribute on rendered html element | |
| onmousemove | false | false | String | Set the html onmousemove attribute on rendered html element | |
| onmouseout | false | false | String | Set the html onmouseout attribute on rendered html element | |
| onmouseover | false | false | String | Set the html onmouseover attribute on rendered html element | |
| onmouseup | false | false | String | Set the html onmouseup attribute on rendered html element | |
| onselect | false | false | String | Set the html onselect attribute on rendered html element | |
| openTemplate | false | false | String | Set template to use for opening the rendered html. | |
| order | false | [[0,'asc']] | false | String | initial order to apply to the table. Must be an array of arrays, the inner arrays comprised of : column index to order upon, and 'asc' or 'desc' string |
| orderCellsTop | false | false | false | String | Control whether DataTables should use the top (true) unique cell for a single column, or the bottom to attach the default order listener |
| orderClasses | false | true | false | String | Highlight the column being ordered in the table body |
| orderFixed | false | false | String | ordering to be always applied to the table. See 'order' attribute for argument detail | |
| orderMulti | false | true | false | String | Enable/Disable multiple column ordering |
| orderTopics | false | false | String | Comma separated list of topics that trigger a table order. The data attribute contains ordering params | |
| ordering | false | true | false | String | enable/disable ordering |
| pageLength | false | 10 | false | String | change the initial page length |
| pageLengthTopics | false | false | String | Comma separated list of topics that trigger a page length change. The data attribute contains page length | |
| pageTopics | false | false | String | Comma separated list of topics that trigger a table page change. The data attribute contains the page number | |
| paging | false | true | false | String | enable/disable paging |
| pagingType | false | simple_numbers | false | String | pagination buttons display options.Expects a string whin can be 'numbers': page buttons number only, 'simple': previous and next buttons only, 'simple_numbers' : previous, next plus page numbers, 'full' : first previous next and last buttons, 'full_numbers' : full + numbers |
| preDrawCallback | false | false | String | Pre draw Callback | |
| processing | false | false | false | String | enable/disable processing message |
| redrawTopics | false | false | String | Comma separated list of topics that trigger a table redraw | |
| renderer | false | false | String | Display component renderer type | |
| requestType | false | POST | false | String | Type of the AJAX Request. POST, GET, PUT |
| requiredLabel | false | false | false | Boolean | If set to true, the rendered element will indicate that input is required |
| requiredPosition | false | false | String | Define required position of required form element (left|right) | |
| responsive | false | false | false | String | Responsive plugin configuration. True to enable with defaults, JS object to enable with custom options |
| rowCallback | false | false | String | row draw Callback | |
| rowGroup | false | false | false | String | RowGroup plugin configuration. No defaults here, you have to provide a rowGroup config Object. See DataTables docs for detail |
| rowId | false | false | String | Data property name that must be used to set tr elements DOM IDs | |
| rowReorder | false | false | false | String | RowReorder plugin configuration. True to enable with defaults, JS object to enable with custom options |
| scrollCollapse | false | false | false | String | Allow the table to reduce in height when a limited number of row is shown |
| scrollX | false | false | false | String | controls horizontal scrolling, can be true (auto), or any CSS unit, or any Number |
| scrollY | false | false | false | String | controls vertical scrolling, can be true (auto), or any CSS unit, or any Number |
| scroller | false | false | false | String | Scroller plugin configuration. True to enable with defaults, JS object to enable with custom options |
| search | false | false | String | Search feature configuration. See DataTables reference for more infos | |
| searchCols | false | false | String | Define an initial search for individual columns.Expect an array of the same size as the number of columns, containing an object with 'search' and 'escapeRegex' properties | |
| searchDelay | false | null | false | String | Set a throttle frequency for searching.expect an integer |
| searchTopics | false | false | String | Comma separated list of topics that trigger a search. The data attribute contains searching param | |
| searching | false | true | false | String | enable/disable searching |
| select | false | false | false | String | Select plugin configuration. True to enable with defaults, JS object to enable with custom options |
| serverSide | false | false | false | String | enable/disable server side processing of searching, paginating,ordering,... |
| stateClearTopics | false | false | String | Comma separated list of topics that trigger a state clear | |
| stateDuration | false | 7200 | false | String | Saved state validity duration, in seconds |
| stateLoadCallback | false | false | String | Callback that define where and how a saved state should be loaded | |
| stateLoadParams | false | false | String | State loaded - data manipulation Callback | |
| stateLoaded | false | false | String | State loaded Callback | |
| stateSave | false | false | false | String | enable/disable state saving feature |
| stateSaveCallback | false | false | String | Callback that define how the table state is stored and where | |
| stateSaveParams | false | false | String | State save - Data manipulation Callback | |
| stateSaveTopics | false | false | String | Comma separated list of topics that trigger a state save | |
| stripeClasses | false | ['odd','even'] | false | String | Sets the zebra stripe class names for the rows in the table.Expect an array of class names |
| style | false | false | String | The css style definitions for element to use - it's an alias of cssStyle attribute. | |
| tabindex | false | false | String | Set the html tabindex attribute on rendered html element | |
| targets | false | false | String | A comma separated list of ids of container elements to load with the contents from the result of this request | |
| template | false | false | String | The template (other than default) to use for rendering the element | |
| templateDir | false | false | String | The template directory. | |
| timeout | false | 3000 | false | Integer | jQuery options for timeout. Default is 3000 |
| title | false | false | String | Set the html title attribute on rendered html element | |
| tooltip | false | false | String | Set the tooltip of this particular component | |
| tooltipConfig | false | false | String | Deprecated. Use individual tooltip configuration attributes instead. | |
| tooltipCssClass | false | StrutsTTClassic | false | String | CSS class applied to JavaScrip tooltips |
| tooltipDelay | false | Classic | false | String | Delay in milliseconds, before showing JavaScript tooltips |
| tooltipIconPath | false | false | String | Icon path used for image that will have the tooltip | |
| value | false | false | String | Preset the value of input element. |


Jaguar I-Pace By Lister Is One Hot Electric SUV
The company adds carbon fiber pieces to the body and boosts the power output.
by Chris BruceThe Lister SUV-E Concept is the first electric vehicle from the British brand that's best known for making Jaguars faster. This one uses the Jag I-Pace as a starting point but features a revised body kit, more power, and a tweaked interior.
Gallery: Lister SUV-E Concept Jaguar I-Pace
Lister doesn't offer many details about the mechanical tweaks but indicates that a software update improves horsepower and torque. The sprint to 60 miles per hour (96 kilometers per hour) is allegedly around four seconds. There's no mention of battery changes, so these tweaks might reduce the I-Pace's standard range of 234 miles (377 kilometers) in the EPA test.
The Latest From Lister:
Lister's SUV-E Concept goes on a diet thanks to carbon fiber parts for the front bumper, splitter, hood, rear bumper, and spoiler. There are also fiberglass parts for the fender flares and new grille surround. The firm also fits a set of titanium wheels and carbon-ceramic brake rotors. The company claims that weight falls by 221 pounds (100 kilograms) over what Jaguar sells.
The ride is lower thanks to a new fully adjustable suspension.
News On The Jaguar I-Pace:
On the inside, Lister uses Nappa leather throughout the cabin. Buyers can select among 60 colors for the hides, and there are 200 stitching colors available.
Lister estimates the production version of the SUV-E Concept costs around £125,000 ($161,000 at current exchange rates). The company only plans to build a limited run of them, so if having this tuned EV appeals to you, the firm recommends pre-ordering one.
If you'd prefer a hotter I-Pace straight from Jaguar, then be patient. The company says a hotter SVR variant is on the way.
Source: Lister
Show press release
LISTER ANNOUNCE SUV-E CONCEPT
Welcome to the Lister SUV-E Concept.
Based on the already excellent, Jaguar I-Pace the Lister SUV-E concept is a pre-production collaboration between Lister and our chief designer Toby Tinsley. Changes to the original I-Pace consist of:
• Full Carbon Fibre Front Bumper.
• Full Carbon Fibre Front Splitter.
• Full Carbon Fibre Bonnet.
• Full Carbon Fibre Rear Bumper.
• Full Carbon Fibre Rear Splitter.
• Full Carbon Fibre Roof Spoiler.
• GRP Wheel Arch Extensions.
• New GRP Front Grille Surround.
• Carbon Ceramic Brakes
• Exclusive Lister Designed Titanium Wheel design.
• Custom Nappa Leather Interior in a choice of 60 leather colours and 200 stitching colours.
• Custom exterior colours in any colour of your choice.
• Fully Adjustable Lowered Suspension.
• More Aggressive Exhaust Sound (to comply with new electric vehicle regulations).
• Weight saving on the original car of 100kg bringing the weight down to 2033kg.
• Software Update resulting in improved BHP and Torque over standard car.
• 0-60 estimated at 4 seconds.
Whilst at Lister petrol runs through our veins instead of blood, we cannot ignore the interest in electric vehicles, especially as a low-tax company car offering. We are therefore introducing the SUV-E concept based on the Jaguar I-Pace as an opportunity for those interested in electric power to own a truly unique and bespoke electric vehicle. All Lister SUV-E will be built to customers individual specifications, which include paintwork in any colour the customer likes, a choice of over 60 leather colours and a can-do attitude where basically anything is possible. The on-the-road price will be around the £125,000 mark and only a limited number will be produced pending interest and pre-orders.
Any further press enquiries please contact info@lister.com


Lorem Ipsum is simply dummy text of the printing If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, 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 by the If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary,content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page now use as their default text, and a for 'lorem ipsum'.
Contrary to popular belief, Lorem Ipsum is not simply random text.  Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia,If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage,


{% extends "layout.html" %} {% block content %}
{{ _('Delete permission for "%(username)s" on collection "%(code)s"?', username=permission.user.email, code=permission.collection.code) }}


Week 1
Team Learning
Objective
Enhance your team’s TODO list app.
Requirements
- [ ] Three additional fields need to be added to each task object: priority, type, and deadline.
- [ ] Use the CSS, Components, and JavaScript provided by materializecss to make the app pretty.
- [ ] The Firebase database must be populated with at least 10 tasks for a reasonable demo.
Individual Learning
- [ ] Add more data to enrich your personal resume app. Data must include typical items that go on your resume.
- [ ] The data must be pulled from Firebase in realtime, rather than hardcoded.
Submission
- Commit/Push your source code to Github.
- Deploy your resume app to Firebase
Hackathon
Details will be announced on Monday 4pm.
- Start: Monday, 1/18 @ 4pm
- Due: Tuesday, 1/19 @ 11:59pm


Application Form
please fill the form with correct detailsPhoto Upload size must be not more than 100kb


Hello,
Am designing a new project and want to collect data from a number of sensors, then log it to analyze patterns.
Would be grateful if I can get some design review / critique on a couple things.
- Using an Arduino Mega1280
- Collecting temperature, time, and unique sensor ID from DS18B20 sensors
- Twelve (12) DS18B20s will be clustered in one area
- Approximately 33 metres away, a second group of four (4) DS18B20 sensors.
- Connecting the two groups via Cat6e underground cable.
- Where should or can the Arduino be located?
- Can it be located at either end without loss in reliability or complicating setup?
- We are thinking about using Cat 6 underground cable to 'daisy chain' all sixteen (16) sensors together since much of this will be outdoor and the two groups of sensors will be separated by an outdoor distance of roughly 30 metres.
****
Any hints? recommendations? or flat out problems with this?
Is this possible or highly probable?
Am grateful for suggestions or highlights of anything that appears out of sorts (won't work.)
Thank you for your input and help.
Clinton
Re: New System Design: Distance between DS18B20s, Data Logging
Hi Clinton
I do not know if the next will help you. Since 2008 I have four wired DS1822 24/7/365 two indoors and two outdoors about 4 meters between the two indoors and 4 meters between the two outdoors and about 12 meters between the indoor and outdoor and about 3 meters to the Atmega 168. Three wires (red,black,yellow to know wich is wich) twisted by hand (half day twisting wires!!) and powered by 5 V. Tried parasitic power but do not like/trust. Still working now and hope working "in vitam aeterna".
In 2007 the DS1822 was a cheap DS18S20 that was a cheap DS18B20. I have tried all. Tried to 12 DS1822 in about 20 meters (and DS18S20 and DS18B20). Keep in mind it takes about a second to have the value from one DS18x2x. I do not remember exactly the Arduino but tried Atmega 8, Atmega 88 and Atmega 168 and the amount of RAM was little. Also keep in mind each DS18xx has one ID and that can complicate things. You must pair ID and position in the chain if you need to know the temperature from a particular place. Also keep in mind the CAT cable is 4 pairs of two twisted pairs. Try data and ground in one pair and power in another. Also read carefully the datasheet and friend Google if you use parasitic power in 30 meters of #24 wire. All activities in the wire are square waves.

Hector
Re: New System Design: Distance between DS18B20s, Data Logging
Hector,
Thank you for your quick reply and your experience. We are planning on separating out the lines and twisting power with a ground on one twisted pair and data with another ground in a second twisted pair.
Hope that this drives things further and cleaner.
Will let you know when there are more questions.
Thanks again,
Clinton
Re: New System Design: Distance between DS18B20s, Data Logging
SunBeam, are you still on this project? I'm also considering logging multiple DS18S20 sensor's with a eMon TX.
Re: New System Design: Distance between DS18B20s, Data Logging
Twisting Wires : I have used this for 20 metres plus - it only takes minutes.
Cut about 5% over length - since twisting shortens the final product.
Group and tape the ends together - fix one end group to "ground" ( or a friend holding it) and put the other end in the chuck of a hand held electric drill (preferably one with controllable speed) Hold tightly and tension slightly.
Then - Whizzo !
Re: New System Design: Distance between DS18B20s, Data Logging
my emontx (well..actual a nanodeRF with emontx look-a-like shield from martin) is holding 3x DS18B20 sensors (not 18S!) for reporting the systemtemp, water temp and basement temp. working great :)
sourcecode is on my github (github.com/alco28) and some info on my website www.bluemotica.nl.
I'm working out a few blog postings on this moment so there will be more info about my systems soon there.


Chapter 4 Legends
circlize provides complete freedom for users to design their own graphics
by implementing the self-defined function panel.fun
. However one drawback
arises that circlize is completely blind to users’ data so that one
important thing is missing for the visualization which is the legend.
Although legends cannot be automatically generated by circlize, by using functionality from other R packages, it is just a few more lines to really implement it. Here I will demonstrate how to customize legends and arrange to the circular plot.
As an example, a circular plot which contains two tracks and links inside the circle is generated. The first track will have a legend that contains points, the second track will have a legend that contains lines, and the links correspond to a continuous color mapping. The code is wrapped into a function so that it can be used repeatedly.
library(circlize)
col_fun = colorRamp2(c(-2, 0, 2), c("green", "yellow", "red"))
circlize_plot = function() {
set.seed(12345)
sectors = letters[1:10]
circos.initialize(sectors, xlim = c(0, 1))
circos.track(ylim = c(0, 1), panel.fun = function(x, y) {
circos.points(runif(20), runif(20), cex = 0.5, pch = 16, col = 2)
circos.points(runif(20), runif(20), cex = 0.5, pch = 16, col = 3)
})
circos.track(ylim = c(0, 1), panel.fun = function(x, y) {
circos.lines(sort(runif(20)), runif(20), col = 4)
circos.lines(sort(runif(20)), runif(20), col = 5)
})
for(i in 1:10) {
circos.link(sample(sectors, 1), sort(runif(10))[1:2],
sample(sectors, 1), sort(runif(10))[1:2],
col = add_transparency(col_fun(rnorm(1))))
}
circos.clear()
}
In ComplexHeatmap package with version higher than 1.99.0, there is a
Legend()
function which customizes legends with various styles. In following
code, legends for the two tracks and links are constructed. In the end the
three legends are packed vertically by packLegend()
. For more detailed usage
of Legend()
and packLegend()
, please refer to their help pages and the
ComplexHeatmap
book.
library(ComplexHeatmap)
# discrete
lgd_points = Legend(at = c("label1", "label2"), type = "points",
legend_gp = gpar(col = 2:3), title_position = "topleft",
title = "Track1")
# discrete
lgd_lines = Legend(at = c("label3", "label4"), type = "lines",
legend_gp = gpar(col = 4:5, lwd = 2), title_position = "topleft",
title = "Track2")
# continuous
lgd_links = Legend(at = c(-2, -1, 0, 1, 2), col_fun = col_fun,
title_position = "topleft", title = "Links")
lgd_list_vertical = packLegend(lgd_points, lgd_lines, lgd_links)
lgd_list_vertical
## A pack of 3 legends
lgd_points
, lgd_lines
, lgd_links
and lgd_list_vertical
can be thought
as boxes which contain all graphical elements for legends and they can be
added to the plot by draw()
.
circlize is implemented in the base graphic system while ComplexHeatmap is implemented by grid graphic system. However, these two systems can be mixed somehow. We can directly add grid graphics to the base graphics. (Actually they are two independent layers but drawn on a same graphic device.)
circlize_plot()
# next the grid graphics are added directly to the plot
# where circlize has created.
draw(lgd_list_vertical, x = unit(4, "mm"), y = unit(4, "mm"), just = c("left", "bottom"))
In Figure 4.1, the whole image region corresponds to the circular plot and the legend layer is drawn just on top of it. Actually you can see that one big problem is when there are many legends that the size for the legends is too big, they may overap to the circle. One solution is to split the legends into several parts and add each part to different corners in the plot (Figure 4.2).
lgd_list_vertical2 = packLegend(lgd_points, lgd_lines)
circlize_plot()
# next the grid graphics are added directly to the plot
# where circlize has created.
draw(lgd_list_vertical2, x = unit(4, "mm"), y = unit(4, "mm"), just = c("left", "bottom"))
draw(lgd_links, x = unit(1, "npc") - unit(2, "mm"), y = unit(4, "mm"),
just = c("right", "bottom"))
Still it can not solve the problem and sometimes it even makes the plot so messed up. One better way is to split the image region into two parts where one part only for the circular plot and the other part for legends.
To mix grid graphics and base graphics, ther are two important packages to use: the grid package and gridBase package. grid is the base for making grid graphics as well as arranging plotting regions (or, viewports in grid term), and gridBase makes it easy to integrate base graphics into grid system.
Following code is straightforward to understand. Only one line needs to be
noticed: par(omi = gridOMI(), new = TRUE)
that gridOMI()
calculates the
outer margins for the base graphics so that the base graphics can be put at
the correct place and new = TRUE
to ensure the base graphics are added to
current graphic device instead of opening a new one.
Here I use plot.new()
to open a new graphic device. In interactive session,
it seems ok if you also use grid.newpage()
, but grid.newpage()
gives error
when building a knitr document.
library(gridBase)
plot.new()
circle_size = unit(1, "snpc") # snpc unit gives you a square region
pushViewport(viewport(x = 0, y = 0.5, width = circle_size, height = circle_size,
just = c("left", "center")))
par(omi = gridOMI(), new = TRUE)
circlize_plot()
upViewport()
draw(lgd_list_vertical, x = circle_size, just = "left")
The legends can also be put at the bottom of the circular plot and it is just a matter how users arrange the grid viewports. In this case, all legends are changed to horizontal style, and three legends are packed horizontally as well.
lgd_points = Legend(at = c("label1", "label2"), type = "points",
legend_gp = gpar(col = 2:3), title_position = "topleft",
title = "Track1", nrow = 1)
lgd_lines = Legend(at = c("label3", "label4"), type = "lines",
legend_gp = gpar(col = 4:5, lwd = 2), title_position = "topleft",
title = "Track2", nrow = 1)
lgd_links = Legend(at = c(-2, -1, 0, 1, 2), col_fun = col_fun,
title_position = "topleft", title = "Links", direction = "horizontal")
lgd_list_horizontal = packLegend(lgd_points, lgd_lines, lgd_links,
direction = "horizontal")
Similar code to arrange viewports.


Latitude: {{newLocation.coords.latitude}}
Longitude: {{newLocation.coords.longitude}}
Altitude: {{newLocation.coords.altitude}}


Code Connect 2021
Sessions & Speakers
Learn, code, and connect with our {code} speakers!
VIEW ON GITHUB
Learn, code, and connect with our {code} speakers!
Join VMware {code} for updates to stay in the loop with our community.


Bioinformatics Training Materials
On this page you will find a variety of curated training materials and tutorials related to bioinformatics, biostatistics, and general computational biology. They are broken down into two groups:
General Tutorials
- Introduction to the Unix Shell
- This tutorial is a modified form of the introduction to the Unix shell as offered by Software Carpentry. It focuses on teaching undergraduates the basic skills necessary to understand the shell and utilize command line tools.
- Key Skills: Unix, Bash, Command Line
- Introduction to Quality Assessment, FastQC, and Trimmomatic
- This tutorial is an introduction to the quality assessment step in a bioinformatics pipeline. It focuses on the most common file formats (FASTA/FASTQ), the motivation for and use of FastQC, and using Trimmomatic to trim paired-end reads. It is highly tailored to the use of the MDIBL Bioinformatics Core cluster to use example data.
- Key Skills: FastQC, Trimmomatic
- Introduction to TopHat
- This tutorial is an introduction to the TopHat2 software suite and its use in mapping RNA-seq reads. Though an incredible tool in any sequence analysis pipeline, this particular tutorial is highly tailored to the use of the MDIBL Bioinformatics Core.
- Key Skills: TopHat
- Introduction to HTseq
- This tutorial is an introduction to the
htseq-count
function in the HTseq computational environment. Though useful in many situations, it is highly tailored to the use of the MDIBL Bioinformatics Core.
- Key Skills: HTseq, Samtools
- Introduction to NCBI and BLAST
- This tutorial was created for undergraduate students studying with Dr. Elizabeth Ehrenfeld at the Southern Maine Community College. It focuses primarily on learning how to navigate the NCBI website, perform simple queries, and understanding and perfomring BLAST alignments on simple sequences.
- Key Skills: BLAST, Entrez Search
- Converting a Genbank file to a GTF file
- This script was created to show how to quickly convert a raw Genbank file to a GTF file when a GTF file cannot be located. It was created for undergraduate students at The University of Maine.
- Key Skills: perl
- de novo Transcriptome Assembly
- This tutorial walks through using the Trinity de novo transcriptome assembly software on the University of Maine Advanced Computing Group Linux cluster.
- Key Skills: Trinity, Portable Batch System, Linux, Command Line
Project-specific Materials
- Guide to RNA-Seq Analysis with Galaxy: pt.1
- This is a set of instructional materials for aligning RNA-seq reads from the Giles bacteriophage to the genome of its host, Mycobacterium smegmatis. This was done in support of the The University of Maine’s Honors College. The Github repo also contains a link to an RPub page.
- Key Skills: Galaxy
- Guide to RNA-Seq Analysis with Galaxy: pt.2
- This is a continuation of the above project. This is a set of instructional materials for aligning RNA-seq reads from the Giles bacteriophage to its own annotated genome. This was done in support of the The University of Maine’s Honors College. The Github repo also contains a link to an RPub page.
- Key Skills: Galaxy
- Using DESeq2 to Perform Basic Differential Expression Analysis
- This is a set of instructional materials for performing basic differential analysis on RNA-seq reads. It is explicitly designed to be the final module for the work on the Giles bacterioohage above. The Github repo also contains a link to an RPub page.
- Key Skills: R, Bioconductor, DESeq2
- Lobster de novo Transcriptome Assembly
- This tutorial walks through using the Trinity de novo transcriptome assembly software on the University of Maine Advanced Computing Group Linux cluster using a published RNA-Seq dataset from lobster larvae.
- Key Skills: Trinity, Portable Batch System, Linux, Command Line


{{ vm.message }}
{{vm.symbol}} is currently priced at {{vm.stockprice | currency}}
Today, {{vm.symbol}} opened at {{vm.stockOpen | currency}}. The high was {{vm.stockHigh | currency}}, the low was {{vm.stockLow | currency}} and the total volume was ${{vm.stockVolume}}.


| Welcome to G-Mobile. How may I help you? |
| I received a text informing my outstanding bill. I would like to know the break-up of my bill. |
| May I have your mobile number? |
|<PHONE_NUMBER> |
|
Here are the details: Rent: $50 Excess Data: $8.3 Tax: $2.2 Total: $60.5 Would you like to pay now? |
| No |
| Is there anything else that I can help you with? |
| I would like to change my plan as I tend to use more data. I also called customer care this morning about the same and it was a frustrating wait for 20 minutes, so I had to hang up. |
| Are you looking for a plan with more data? |
| yes |
| What is your minimum data requirement per day? |
| 2 GB |
| Your current plan has unlimited voice. Would you like to change it? |
| No |
| Your current plan has 100 SMS per day. Would you like to change it? |
| No |
|
Here is the best plan that meets your requirements: Plan: Freedom-80 Voice: Unlimited SMS: 100 per day Data: 3 GB per day Rent: $80 Would you like to switch to this plan? |
| 80 bucks?...T-Mobile offers much cheaper plans. |
| Please wait while I transfer you to our customer service representative. |


protected class SoundPlayer.LoadedSoundCache extends java.util.LinkedHashMap<java.lang.Integer,SoundPlayer.SoundInfo>
SoundPlayer.LoadedSoundCache
keeps track of loaded sounds, mapping sound resource id to loaded
sound id. It keeps track of which sounds have been recently used, and unloads neglected
songs when a configured capacity of loaded sounds has been reached.| Modifier and Type | Method and Description |
|---|---|
void |
noteSoundUsage(SoundPlayer.SoundInfo soundInfo)
update the fact that this key has been just used, again
|
SoundPlayer.SoundInfo |
remove(java.lang.Object key) |
protected boolean |
removeEldestEntry( |
clone, containsKey, entrySet, isEmpty, keySet, put, putAll, size, values
public void noteSoundUsage(SoundPlayer.SoundInfo soundInfo)
protected boolean removeEldestEntry(eldest)
removeEldestEntry
in class java.util.LinkedHashMap<java.lang.Integer,SoundPlayer.SoundInfo>
public SoundPlayer.SoundInfo remove(java.lang.Object key)
remove
in interface java.util.Map<java.lang.Integer,SoundPlayer.SoundInfo>
remove
in class java.util.HashMap<java.lang.Integer,SoundPlayer.SoundInfo>


I’m
Chris Short, 20+ veteran of the IT industry and 11 year veteran of the US Air Force.
I help people and companies embrace DevOps practices and tools through writing
and public speaking. I am a staunch advocate for transparency and open source
solutions to problems. Follow me on
Twitter or
Buy me a Coffee!


To bring people to Jesus and membership, develop them to Christlike maturity and equip them for their ministry in the church and life mission in the world, in order to magnify God's name.
4022 Hopper Rd Houston, Texas 77093


--- layout: post title: ITPUG @ Pycon sette date: '2016-03-05T17:46:00.000+01:00' author: Luca Ferrari tags: - itpug - postgresql modified_time: '2016-03-05T17:46:38.290+01:00' thumbnail: https://2.bp.blogspot.com/-kYUa7VNXHgk/VtsLmzWdcrI/AAAAAAAAEAc/n0a_Kf4z2dA/s72-c/pycon7.png blogger_id: tag:blogger.com,1999:blog-1836481905487384887.post-8989657011794042993 blogger_orig_url: http://fluca1978.blogspot.com/2016/03/itpug-pycon-sette.html permalink: /:year/:month/:day/:title.html ---


Kops Cluster Templating
If you havent heard of the tool Kops for create Kubernetes clusters, you should check it out right now! It is a great tool to create and manage the lifecycle of a Kubernetes cluster.
If you use Kubernetes for production then you probably have some number of pre production clusters like dev
, qa
, or staging
. Then this leads you to have to create and maintain these clusters in a sane and easy way.
The first thing is probably not creating the kops cluster with the kops cli tool input parameters. How would you version control this. This most likely means you want to manage/maintain these clusters with kops cluster yaml format that describes everything about the cluster
But now you have more than one of these yaml files and when you update you have to make sure each one is updated. This leads you to the cluster templating functionality the kops has to help you out.
Now you can have one source cluster.yaml
file which has templated out the names, region, etc and you have a values.yaml
files which values for each cluster you want to make.
Aws | Kubernetes | Kops


Source code for pvl_spa
# Autogenerated with SMOP version 0.23
# /usr/local/bin/smop pvl_spa.m -o python/pvl_spa.py
from __future__ import division
import numpy as np
from scipy.io import loadmat,savemat
import os
from pvl_tools import * #load all of pvl_tools into namespace
import Pysolar
import pandas as pd
[docs]def pvl_spa(Time,Location):
'''
Calculate the solar position using the PySolar package
The PySolar Package is developed by Brandon Stafford, and is
found here: https://github.com/pingswept/pysolar/tree/master
This function will map the standard time and location structures
onto the Pysolar function
Parameters
----------
Time: Dataframe.index
A pandas datatime object
Location: struct
Standard location structure, containting:
*Location.latitude* - vector or scalar latitude in decimal degrees (positive is
northern hemisphere)
*Location.longitude* - vector or scalar longitude in decimal degrees (positive is
east of prime meridian)
*Location.altitude* - an optional component of the Location struct, not
used in the ephemeris code directly, but it may be used to calculate
standard site pressure (see pvl_alt2pres function)
Returns
-------
SunAz : DataFrame
Azimuth of the sun in decimal degrees from North. 0 = North to 270 = West
SunEl : DataFrame
Actual elevation (not accounting for refraction)of the sun
in decimal degrees, 0 = on horizon. The complement of the True Zenith
Angle.
References
----------
PySolar Documentation: https://github.com/pingswept/pysolar/tree/master
'''
SunAz=map(lambda x: Pysolar.GetAzimuth(Location.latitude,Location.longitude,x),Time.tz_convert('UTC'))
SunEl=map(lambda x: Pysolar.GetAltitude(Location.latitude,Location.longitude,x),Time.tz_convert('UTC'))
DFOut=pd.DataFrame({'SunAz':SunAz,'SunEl':SunEl},index=Time)
return DFOut['SunAz'],DFOut['SunEl']


Other APIs
In addition to the
chrome.* APIs,
extensions can use all the APIs
that the browser provides
to web pages and apps.
If the browser doesn't support an API you want to use,
you can bundle additional API libraries into your extension.
Here's a sampling of the APIs that extensions can use:
- Standard JavaScript APIs
- These are the same core JavaScript and
Document Object Model
(DOM) APIs
that you can use in ordinary web apps.
- XMLHttpRequest
-
Use XMLHttpRequest
to request data from one or more servers.
The permissions field
of the manifest specifies
which hosts the extension can send requests to.
- WebKit APIs
-
Because Google Chrome is built upon WebKit,
your extensions can use WebKit APIs.
Especially useful are the experimental CSS features
such as filters, animations, and transformations.
Here's an example of using WebKit styles
to make the UI spin:
<style>
div:hover {
-webkit-transform: rotate(360deg);
-webkit-transition: all 1s ease-out;
}
</style>
- V8 APIs, such as JSON
- Because JSON is in V8, you don't need to include a JSON library to use JSON functions.
- HTML5 APIs, such as localStorage
- HTML5 is still being defined and implemented,
but Google Chrome already supports local storage,
which extensions can use to store data.
- APIs in bundled libraries
- If you want to use a library that the browser doesn't provide
(for example, jQuery),
you can bundle that library's JavaScript files with your extension.
Bundled libraries work in extensions
just as they would in any other web pages.


Real-time effective reproduction rate (Rt) of the novel coronavirus, COVID-19. What is Rt?
Rt is the real-time effective reproduction rate of a virus, in this case COVID-19. The reproduction rate tells us the number of secondary infections to expect, on average, as a result of a single infected person spreading the virus. In other words, Rt tells us how quickly the virus is spreading at a specific point in time.
An Rt of one or greater means that the virus will spread rapidly until a majority of the population has been infected. An Rt of less than one means that the virus will spread more slowly and ultimately disappear before it's had the chance to infect everyone.
Understanding and tracking Rt at the regional and local levels are critical to managing outbreaks of COVID-19. Depending on how well we suppress this first wave, we can reasonably expect to see continued outbreaks across the country and world until a vaccine is developed and rolled out. Rt
The raw data came from the publicly available COVID-19 Data repository which is published and updated daily by The New York Times. The analysis of real-time effective reproduction comes from Kevin Systrom's work titled The Metric We Need to Manage COVID-19, which is itself based on an approach set forth in a peer-reviewed paper titled Real Time Bayesian Estimation of the Epidemic Potential of Emerging Infectious Diseases by Luís M. A. Bettencourt and Ruy M. Ribeiro.
Systrom's code to estimate the effective transmission rates of COVID-19 can be found on his GitHub profile, and the code used to generate these visualizations is available on my GitHub profile.
My name is Giles Van Gruisen. I'm a software developer and photographer based in New England, and I spend most of my time building data-driven software systems for work and fun. I enjoy exploring, analayzing, and visualizing interesting datasets to learn more about how the world works.
I am by no means an epidemiologist.
With this COVID-19 report, I'm doing my best to ensure the analysis is rooted in well-resesarched methods for modeling infectious diseases. I am trying to avoid speculative analysis or extrapolation beyond what is reasonable given the data available. If you have any questions, comments, or suggestions, please feel free to get in touch on Twitter or via email.


--- title: "Daytrip to Evora" date: 2018-05-15 tags: [portugal] ---
My last day in Portugal! I decided to go to Evora via train. Evora is a famous old-history town, with Roman ruins sitting at the top of town. Ran across a beautiful garden before heading into the city centre. After an hour spent trying to get change for a 100 (with eventual success at the bank), I was finally able to explore the town. The Roman ruins and the cathedral with the astonishing panorama of the city were my favourite parts of the experience. But after a few hours, well, I think I’ve seen most of Evora.
Church of Sao Francesco - cathedral of bones and the nativity scenes - very impressive. Franciscan monks.
Got home in time to meet Sam and Emma for dinner - we went back to LXFactory, where we went up to a rooftop bar with an insane view to the south (the bridge in Lisbon strongly resembles the Golden Gate). Then we went to the restaurant downstairs, where we had the best Portuguese meals so far. Delicious fried cheese balls, pickled mushrooms, some kind of pate, followed by roasted veggies, lamb, and an incredible bull (not cow!) tartare. A special meal to wrap up a special trip. Hard to believe it has already come to an end. We then headed up, said goodbye, and went to bed.


Abu Dhabi T10 League 2019: Team of the season
by Prasen MoudgalThe third edition of the Abu Dhabi T10 League came to a close on 24th November as the Maratha Arabians clinched their maiden title courtesy of a dominating 8-wicket win over the Deccan Gladiators.
With both the Arabians and the Gladiators picking up two wins from three matches in the group stages, the two teams were certainly favourites to make the finals of the competition ahead of the Super League stages.
While the Arabians and the Qalandars took the top two spots from the Super League stage, the Deccan Gladiators and Bangla Tigers booked the last two spots in the playoffs, setting up an interesting set of clashes in the knockout stages.
Chris Lynn's 30-ball 67 took the Arabians straight to the finals post a 7-wicket win against the Qalandars in the first qualifier, while the Gladiators beat the Tigers in the eliminator match before triumphing over the Qalandars in the second qualifier to book their spot in the summit clash.
Also see - Live cricket score
However, the final turned out to be a lop-sided affair as the Arabians bowlers restricted the Gladiators to just 87-8 from 10 overs. A half-century from Chadwick Walton (26-ball 51*) helped the Arabians make short work of the 88-run target, chasing it down in just 7.2 overs to seal a comfortable win and with that, the Arabians' maiden T10 League title.
With the third edition of the T10 League producing some quality matches and unmatched entertainment, we take a look at the top players who form the team of the season.
Openers - Chris Lynn and Shane Watson(C)
Chris Lynn - M: 8, Runs: 371, Avg: 53.00, SR: 236.30
Shane Watson - M:9, Runs: 237, Avg: 33.85, SR: 170.50
One of the most destructive openers in the game, Chris Lynn was at his absolute best and made quite a mark with his big-hitting, finishing with 371 runs from 8 matches at a strike rate of 236.30. Although he started slowly with just 24 runs from the first two matches, Lynn decimated Team Abu Dhabi in the 11th match of the season with a 30-ball 91* that set the tone for the rest of the tournament.
On the back of two more half-centuries in the group stages and a 30-ball 67 against the Qalandars in the first qualifier, he helped his side book a spot in the finals. Although Lynn scored just a 10-ball 16 in the summit clash, the Australian's proficiency at the top of the order was one of the highlights of the Arabians' title win.
Yet another Australian who made a big impact was Shane Watson, who accumulated 237 runs from 9 matches at a strike rate of 170.50 for the Deccan Gladiators. Watson began the tournament on a fine note, with a half-century against the Delhi Bulls followed by a match-winning 25-ball 41 against the Bangla Tigers.
While he fell for a rare duck against the Tuskers, he contributed with a vital 15-ball 30 in the 24-run win against the Qalandars and put up a top knock against the Northern Warriors as he smashed a 35-ball 75*, albeit in a losing cause.
1 / 5 NEXT


- main(String[]) - Static method in class de.oth.blocklib.Game
-
Runs the library with a default configuration and
fills the world with cubes.
- MasterRenderer - Class in de.oth.blocklib.renderer
-
Can render more than one entity at once.
- MasterRenderer(Configuration) - Constructor for class de.oth.blocklib.renderer.MasterRenderer
-
Create instance of shader and entity- / meshrenderer.
- Maths - Class in de.oth.blocklib.helper
-
Extra Math functions to create view and transformation matrix.
- MEGABYTESIZE - Static variable in class de.oth.blocklib.helper.Utility
-
Size of a megabyte in kb.
- MILLISECONDSIZE - Static variable in class de.oth.blocklib.helper.Utility
-
Size of a millisecond in nanoseconds.
- MIPMAPPING - Static variable in class de.oth.blocklib.Configuration
-
Should textures be mip mapped
- ModelData - Class in de.oth.blocklib.loader
-
Holds the vertices, textureCoords, normals, indices and the furthestPoint
from a model.
- ModelData(float[], float[], float[], int[], float) - Constructor for class de.oth.blocklib.loader.ModelData
-
Holds the vertices, textureCoords, normals, indices and the furthestPoint
from a model.
- ModelTexture - Class in de.oth.blocklib.textures
-
Represents a id of texture (from opengl, generated with glGenTextures).
- ModelTexture(int) - Constructor for class de.oth.blocklib.textures.ModelTexture
-
Set the id (from opengl) which represents the texture.
- MONITOR - Static variable in class de.oth.blocklib.Configuration
-
Use this monitor to create fullscreen
- MouseHandler - Class in de.oth.blocklib.input
-
MouseHandler class extends the abstract class. abstract classes should never
be instantiated so here a concrete that can be instantiated
- MouseHandler(Camera, MasterRenderer, Configuration) - Constructor for class de.oth.blocklib.input.MouseHandler
-
Creates new mousehandler
- mouseInvert - Static variable in class de.oth.blocklib.Configuration
-
NOT USED AT THE MOMENT.
- MousePicker - Class in de.oth.blocklib.input
-
TODO: NOT FULLY IMPLEMENTED YET.
- MousePicker(Camera, Matrix4f, Configuration) - Constructor for class de.oth.blocklib.input.MousePicker
-
- mouseSensitivity - Static variable in class de.oth.blocklib.Configuration
-
The speed of the mouse pointer and how fast it moves on the screen.
- move(float, float, float, float, float, float) - Method in class de.oth.blocklib.entities.Camera
-
To change the angles of the "camera".


Running Apache FOP
System Requirements
The following software must be installed:
-
Java 1.4.x or later Runtime Environment.
- Many JREs >=1.4 contain older JAXP implementations (which often contain bugs). It's usually a good idea to replace them with a current implementation.
-
Apache FOP. The FOP distribution includes all libraries that you will
need to run a basic FOP installation. These can be found in the [fop-root]/lib directory. These
libraries include the following:
- Apache XML Graphics Commons, an shared library for Batik and FOP.
- Apache Batik, an SVG library.
- Apache Commons Logging, a logger abstraction kit.
- Apache Commons IO, a library with I/O utilities.
- Apache Excalibur/Avalon Framework, for XML configuration handling.
The following software is optional, depending on your needs:
- Graphics libraries. Generally, FOP contains direct support for the most important bitmap image formats (including PNG, JPEG and GIF). See FOP: Graphics Formats for details.
- PDF encryption. See FOP: PDF Encryption for details.
In addition, the following system requirements apply:
- If you will be using FOP to process SVG, you must do so in a graphical environment. See FOP: Graphics (Batik) for details.
Installation
Instructions
Basic FOP installation consists of first unzipping the .gz file that is the distribution medium, then unarchiving the resulting .tar file in a directory/folder that is convenient on your system. Please consult your operating system documentation or Zip application software documentation for instructions specific to your site.
Problems
Some Mac OSX users have experienced filename truncation problems using Stuffit to unzip and unarchive their distribution media. This is a legacy of older Mac operating systems, which had a 31-character pathname limit. Several Mac OSX users have recommended that Mac OSX users use the shell command tar -xzf instead.
Starting FOP as a Standalone Application
Using the fop script or batch file
The usual and recommended practice for starting FOP from the command line is to run the batch file fop.bat (Windows) or the shell script fop (Unix/Linux). These scripts require that the environment variable JAVA_HOME be set to a path pointing to the appropriate Java installation on your system. Macintosh OSX includes a Java environment as part of its distribution. We are told by Mac OSX users that the path to use in this case is /Library/Java/Home. Caveat: We suspect that, as Apple releases new Java environments and as FOP upgrades the minimum Java requirements, the two will inevitably not match on some systems. Please see Java on Mac OSX FAQ for information as it becomes available.
USAGE Fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-rtf|-tiff|-png|-pcl|-ps|-txt|-at [mime]|-print] <outfile> [OPTIONS] -d debug mode -x dump configuration settings -q quiet mode -c cfg.xml use additional configuration file cfg.xml -l lang the language to use for user information -r relaxed/less strict validation (where available) -dpi xxx target resolution in dots per inch (dpi) where xxx is a number -s for area tree XML, down to block areas only -v to show FOP version being used -o [password] PDF file will be encrypted with option owner password -u [password] PDF file will be encrypted with option user password -noprint PDF file will be encrypted without printing permission -nocopy PDF file will be encrypted without copy content permission -noedit PDF file will be encrypted without edit content permission -noannotations PDF file will be encrypted without edit annotation permission -pdfprofile prof PDF file will be generated with the specified profile (Examples for prof: PDF/A-1b or PDF/X-3:2003) [INPUT] infile xsl:fo input file (the same as the next) -fo infile xsl:fo input file -xml infile xml input file, must be used together with -xsl -atin infile area tree input file -xsl stylesheet xslt stylesheet -param name value <value> to use for parameter <name> in xslt stylesheet (repeat '-param name value' for each parameter) [OUTPUT] outfile input will be rendered as PDF into outfile -pdf outfile input will be rendered as PDF (outfile req'd) -pdfa1b outfile input will be rendered as PDF/A-1b compliant PDF (outfile req'd, same as "-pdf outfile -pdfprofile PDF/A-1b") -awt input will be displayed on screen -rtf outfile input will be rendered as RTF (outfile req'd) -pcl outfile input will be rendered as PCL (outfile req'd) -ps outfile input will be rendered as PostScript (outfile req'd) -afp outfile input will be rendered as AFP (outfile req'd) -tiff outfile input will be rendered as TIFF (outfile req'd) -png outfile input will be rendered as PNG (outfile req'd) -txt outfile input will be rendered as plain text (outfile req'd) -at [mime] out representation of area tree as XML (outfile req'd) specify optional mime output to allow AT to be converted to final format later -print input file will be rendered and sent to the printer see options with "-print help" -out mime outfile input will be rendered using the given MIME type (outfile req'd) Example: "-out application/pdf D:\out.pdf" (Tip: "-out list" prints the list of supported MIME types) -mif outfile input will be rendered as MIF (FrameMaker) (outfile req'd) Experimental feature - requires additional fop-sandbox.jar. -svg outfile input will be rendered as an SVG slides file (outfile req'd) Experimental feature - requires additional fop-sandbox.jar. -foout outfile input will only be XSL transformed. The intermediate XSL-FO file is saved and no rendering is performed. (Only available if you use -xml and -xsl parameters) [Examples] Fop foo.fo foo.pdf Fop -fo foo.fo -pdf foo.pdf (does the same as the previous line) Fop -xml foo.xml -xsl foo.xsl -pdf foo.pdf Fop -xml foo.xml -xsl foo.xsl -foout foo.fo Fop foo.fo -mif foo.mif Fop foo.fo -rtf foo.rtf Fop foo.fo -print or Fop -print foo.fo Fop foo.fo -awt
PDF encryption is only available if FOP was compiled with encryption support and if compatible encryption support is available at run time. Currently, only the JCE is supported. Check the Details.
Writing your own script
FOP's entry point for your own scripts is the class org.apache.fop.cli.Main. The general pattern for the command line is: java -classpath <CLASSPATH> org.apache.fop.cli.Main <arguments>. The arguments consist of the options and infile and outfile specifications as shown above for the standard scripts. You may wish to review the standard scripts to make sure that you get your environment properly configured.
Running with java's -jar option
As an alternative to the start scripts you can run java -jar path/to/build/fop.jar <arguments>, relying on FOP to build the classpath for running FOP dynamically, see below. If you use hyphenation, you must put fop-hyph.jar in the lib directory.
You can also run java -jar path/to/fop.jar <arguments>, relying on the Class-Path entry in the manifest file. This works if you put fop.jar and all jar files from the lib directory in a single directory. If you use hyphenation, you must also put fop-hyph.jar in that directory.
In both cases the arguments consist of the options and infile and outfile specifications as shown above for the standard scripts.
FOP's dynamical classpath construction
If FOP is started without a proper classpath, it tries to add its dependencies dynamically. If the system property fop.home contains the name of a directory, then FOP uses that directory as the base directory for its search. Otherwise the current working directory is the base directory. If the base directory is called build, then its parent directory becomes the base directory.
FOP expects to find fop.jar in the build subdirectory of the base directory, and adds it to the classpath. Subsequently FOP adds all jar files in the lib directory to the classpath. The lib directory is either the lib subdirectory of the base directory, or, if that does not exist, the base directory itself.
If the system property fop.optional.lib contains the name of a directory, then all jar files in that directory are also added to the classpath. See the methods getJARList and checkDependencies in org.apache.fop.cli.Main.
Using Xalan to Check XSL-FO Input
FOP sessions that use -xml and -xsl input instead of -fo input are actually controlling two distinct conversions: Tranforming XML to XSL-FO, then formatting the XSL-FO to PDF (or another FOP output format). Although FOP controls both of these processes, the first is included merely as a convenience and for performance reasons. Only the second is part of FOP's core processing. If a user has a problem running FOP, it is important to determine which of these two processes is causing the problem. If the problem is in the first process, the user's stylesheet is likely the cause. The FOP development team does not have resources to help with stylesheet issues, although we have included links to some useful Specifications and Books/Articles. If the problem is in the second process, FOP may have a bug or an unimplemented feature that does require attention from the FOP development team.
In the case of using -xml and -xsl input, although the user is responsible for the XSL-FO code that is FOP's input, it is not visible to the user. To make the intermediate FO file visible, the FOP distribution includes the "-foout" option which causes FOP to run only the first (transformation) step, and write the results to a file. (See also the Xalan command-line below)
The -foout option works the same way as if you would call the Xalan command-line:
java org.apache.xalan.xslt.Process -IN xmlfile -XSL file -OUT outfile
Note that there are some subtle differences between the FOP and Xalan command-lines.
Memory Usage
FOP can consume quite a bit of memory, even though this has been continually improved. This is partly inherent to the formatting process and partly caused by implementation choices. All FO processors currently on the market have memory problems with certain layouts.
If you are running out of memory when using FOP, here are some ideas that may help:
-
Increase memory available to the JVM. See
the -Xmx option
for more information.
WarningIt is usually unwise to increase the memory allocated to the JVM beyond the amount of physical RAM, as this will generally cause significantly slower performance.
- Avoid forward references. Forward references are references to some later part of a document. Examples include page number citations which refer to pages which follow the citation, tables of contents at the beginning of a document, and page numbering schemes that include the total number of pages in the document ("page N of TOTAL"). Forward references cause all subsequent pages to be held in memory until the reference can be resolved, i.e. until the page with the referenced element is encountered. Forward references may be required by the task, but if you are getting a memory overflow, at least consider the possibility of eliminating them. A table of contents could be replaced by PDF bookmarks instead or moved to the end of the document (reshuffle the paper could after printing).
- Avoid large images, especially if they are scaled down. If they need to be scaled, scale them in another application upstream from FOP. For many image formats, memory consumption is driven mainly by the size of the image file itself, not its dimensions (width*height), so increasing the compression rate may help.
- Use multiple page sequences. FOP starts rendering after the end of a page sequence is encountered. While the actual rendering is done page-by-page, some additional memory is freed after the page sequence has been rendered. This can be substantial if the page sequence contains lots of FO elements.
Problems
If you have problems running FOP, please see the "How to get Help" page.


[voinsource]
home
projects
plugins
contact
Projects
Android Smart WebView Pro
Java / Kotlin
A smart open source solution for any hybrid android project; working out of the box. Explore SWV plugins to add more advanced features.
get pro
PaperlessQL
Python / PHP / Java + JavaScript
A simple database engine written on multiple backend languages handled by JavaScript to work offline.
github repo
Android Smart WebView Plugins
Google Login
Java
Auth users' social accounts directly from SWV. Sign into and fetch user profile data.
PQL
Java + JavaScript
PQL Plugin for SWV works as a seamless database engine that can be handled with just basic JavaScript.
S2S
Java
Send data to the server seamlessly with REST API.
QR/Barcode Reader
Java + PQL
Generate and read QR and Barcode images easily and store and sent information to the server.
Background Services
Java
Run webpages, play audio, and video files in system background.
Google Vision API
Java + PQL
Read data from images with Google Vision API and send retreived data over to your webpages easily.
Advanced Notifications
Java
Send and receive smart notifications on android with images and extra features.
Layouts
Java + XML
Explore layouts, for your new SWV hybrid app, with their own superpowers.
contact
You can always connect with me from here:
mgks.dev/contact


{% extends "developers/base_impala.html" %}
{% set title = _('Test App Validation') %}
{% set doc_url = 'https://developer.mozilla.org/Marketplace/Submission/Submitting_an_app' %}
{% block title %}{{ hub_page_title(title) }}{% endblock %}
{% block content %}
{{ hub_breadcrumbs(items=[(url('mkt.developers.apps.testing'), _('Testing')), (None, title)]) }}
{{ title }}
{{ _('Hosted') }}
{{ _("Submit your app manifest URL") }}
http://
or https://
) and typically
use the .webapp
extension.
{% endtrans %}
{% trans %}Learn more about submitting an app.{% endtrans %}
{% include 'developers/includes/testing_nav.html' %}{% trans repo='https://github.com/mozilla/app-validator' %} The validator is a tool which can help test your app for errors, best practices, and compliance with Marketplace guidelines before actually submitting your app for review. If you're interested in how it works or would like to run a copy of your own, the source code is available on Github. {% endtrans %}


Paraglider
Paraglider is an API driven slider. It exposes a timeline and offers some options.
This gives developers a lot of freedom when implementing a slider. The main purpose for this plugin is to create slideshows with a parallax effect.
Due to the simplicity you can feed the timeline to other plugins and create amazing effects like animating SVGs or drawing on a canvas.
Docs
Browser Matrix
yarn add paraglider
You can use this plugin as a global plugin.
<script src="https://cdn.rawgit.com/pixelass/paraglider/v3.0.0/dist/paraglider.js"></script>
<script src="https://cdn.rawgit.com/pixelass/paraglider/v3.0.0/dist/paraglider.min.js"></script>
© 2017 by Gregor Adams
Images in Demos via Beau Rogers on Flickr
Logo via onlinewebfonts


A React component to open a fuzzy searcher (similar to Sublime Text's command palette) and search through a list of things.


Rpub – an ePub generator in Ruby
Introduction
Rpub is a command-line tool that generates a collection of plain text input files into an eBook in ePub format. It provides several related functions to make working with ePub files a little easier:
- Generation of table of contents
- Packaging your eBook in an archive with additional README file
- Embedding fonts
- Easy previewing as you write
- .mobi compatibility
Installation
Rpub is distributed as a Ruby gem, which should be installed on most Macs and Linux systems. Once you have ensured you have a working installation of Ruby and Ruby gems, install the gem as follows from the command line:
$ gem install rpub
You can verify the gem has installed correctly by checking its version number:
$ rpub -v
If this generates an error, something has gone wrong. You should see something
along the lines of rpub 1.0.0
.
Usage
Basics
ePubs are basically collections of HTML files, combined in a single archive according to a set of predefined rules. Rpub generates these files for you from simple text files written in Markdown, a very readable markup language created by John Gruber. This very README file is an example of a Markdown document.
The idea is you write several Markdown files using your favourite text editor,
and save them as plain text in your project directory. Usually you would write
one file per chapter. By invoking the rpub
program you convert those files to
HTML and combine them in an ePub archive:
$ rpub compile
Generating my-new-book-0.1.0.epub... Done!
After you have run the rpub compile
command, you will find a new .epub
file
in your project directory. The name of this file depends on the title of your
book, and its version number. You can set these values, as well as a few others,
in a special configuration file called config.yml
:
---
author: Your Name
title: My new book
version: 0.1.0
This file is written in YAML and sets basic properties of your book project.
Since regenerating your ePub file and opening it in a suitable reader application is cumbersome, Rpub can generate a simple preview document for you:
$ rpub preview
This will generate a new HTML file in your project directory with a name similar to your ePub file. This is the entire text of your book as a single web page for easy viewing in any browser.
Generating a .mobi file
Since the ePub and Mobipocket file formats are very (very) similar it is
quite easy to create a .mobi
version of your book, suitable for reading on
Amazon’s Kindle. To do so, you will need to install the kindlegen program
Amazon provides.
Here’s how it works:
- Install
kindlegen
(download it here) - Compile your book as usual using
rpub compile
- Compile
my-book.epub
tomy-book.mobi
:kindlegen my-book.epub
.
Optionally, include your my-book.mobi
in your package by adding it to your
list of packaged files (see “Packaging for distribution”).
Advanced features
Packaging for distribution
Often you want to distribute your ebook over the internet, along with some
extra files. You’ll probably want to include a README file, a license or
references to extra online resources. A package
task is defined to generate a
single compressed archive file from your generated ebook along with such
additional files.
You list the files to include with your ebook in your config.yml
file, along
with the resulting packaged file name:
---
package_file: mybook.zip
package:
- README
- license.txt
- code-samples.rb
All the filenames listed under package
are looked up in the root of your
project directory. These files will be combined with the ebook in the
mybook.zip
file in your project directory.
Automatic table of contents
Rpub automatically generates a table of contents for you, if you want it to. It does this by scanning all your markdown files for headings and listing them on a single page in the ebook. Each entry in the table of contents is linked to its appropriate heading in the chapter, and has various hooks for your stylesheet to determine its formatting.
To enable the automatic generation of a table of contents, add the following
configuration to your config.yml
file:
toc: true
Note that this only affects the human-readable table of contents, represented
as a page in your book. Rpub will alway generate the .epub table of contents
for you, which contains the machine-readable references to your chapters. It
will, by default, reference all chapter titles and subheadings for you, but
you can customize the number of levels that will be included using the
following in your config.yml
file:
max_level: 3
Custom layout and styles
When you compile a set of Markdown files to an ePub file, rpub uses a default HTML layout and set of styles to determine the look and feel of the book. These will do fine for most cases, but you can provide your own, if you are so inclined.
Simply define a layout.html
and/or styles.css
in your project directory.
Your HTML file will be parsed with Erb, an so you can include your writing
using the @body
instance variable:
<html>
<body>
<%= @body %>
</body>
</html>
Note 1: this feature is actually provided by the Kramdown gem, so have a look at the standard Kramdown document template to see some nifty tricks.
Note 2: despite the name ‘html’ and .html
extension, your file actually has
to be XHTML-compliant.
You can also provide custom layouts or styles to use when invoking the compile
or preview
commands, using the -l
or -s
options:
$ rpub compile -l /tmp/my-layout.html
If you like the default layout or styles, but want to adapt them, you can copy
those files into your project using the generate
subcommand:
$ rpub generate
Command reference
rpub compile
- generate .epub file
rpub package
- create zip file with compiled book and other listed files
rpub preview
- generate preview HTML file
rpub generate
- copy default layout.html, styles.css and config.yml
rpub help
- get help on subcommands
rpub clean
- remove generated files
Configuration reference
title
- the book title (string)
descrption
- one-line summary of the book (string)
creator
- author name (string)
publisher
- publisher name (string)
subject
- book subject/category (string)
language
- language code of the book contents, e.g. ‘en’ (string)
rights
- copyright line (string)
version
- version number of the book to include in the .epub filename (string)
toc
- whether to generate a table of contents as book page (boolean, default false)
max_level
- the maximum depth of the .epub table of contents (number, default 2)
ignore
- list of files not to include in the epub, that otherwise would (array)
package
- list of files to be included in the archive created by the package task (array)
Examples
See the examples directory for two example projects.
Documentation
See the inline API docs for more information.
Other
Note on Patches/Pull Requests
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so I don’t break it in a future version unintentionally.
- Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
- Send me a pull request. Bonus points for topic branches.
Issues
Please report any issues, defects or suggestions in the Github issue tracker.
What has changed?
See the HISTORY file for a detailed changelog.
Credits
Created by: Arjan van der Gaag
URL: http://arjanvandergaag.nl
Project homepage: http://avdgaag.github.com/rpub
Date: april 2012
License: MIT-license (same as Ruby)


Man is charged after causing a disturbance which closed Ayr High Street to the public
Police closed off the busy road on Friday night.
by Ryan Carroll, https://www.dailyrecord.co.uk/authors/ryan-carroll/A man has been charged after causing a disturbance that shut Ayr High Street.
The busy road was closed off to the pubic on Friday night following the incident.
At peak time for revellers pouring out of packed pubs the road was closed off between Nile Court and the Sandgate. Police also shut off Newmarket Street to pedestrians.
On Monday a 50-year-old man was charged at Ayr Sheriff Court after causing the disturbance.
At 11.40pm on Friday a Police Scotland statement said: “Officers in Ayr have been dealing with an incident in Ayr High Street.
“This involved the concern for the safety of a man. The man is now safely with officers. There is no ongoing risk to the public.
“Thank you for the cooperation from members of the public who were in the area. Ayr High Street remains closed to vehicles. Please avoid the area.
“The High Street between Nile Court and Sandgate, and Newmarket Street are also closed to pedestrians.”
They later added: “The earlier incident in Ayr High Street has been brought to a safe conclusion.  Ayr High Street and Newmarket Street are open to pedestrians and vehicles.
Yesterday a police spokesperson said: “Police Scotland can confirm that a 50-year-old man has been charged after a disturbance in Ayr High Street on Friday. He appeared at Ayr Sheriff Court on Monday.”


I have always had an interest in basketball.
I played with the local basketball club for 4 years.
I played with my secondary school team and have participated
in many matches.
I followed the Irish women's basketball team for a good few years also.
Click to view the offical Irish Basketball's Website
I used to go swimming every single week without fail.
I participated in swimming competitions through out the years.
I no longer swim competitively, however I still love to go swimming either by myself or with family on holidays.
Click to view the popular tourist attraction, The Aqua Dome


Green, Blue and purple are my all time favorites. Price: Rs. 249, but It cost me Rs.199 in sale Product claims: Soft gentle pencils in a rainbow of shades. Use them to enhance your natural eye color for dramatic effect or give you that bright-eyed glow. Gentle and safe for sensitive eyes. What I like about the product:


The circlePacker package allows to build interactive and zoomable circle packing charts. This post explains how to use the package with different kind of input datasets.
The circlepackeR
package allows to build interactive circle packing. Click on a group, and a smooth zoom will reveal the subgroups behind it.
Circle packing is a visualization method for hierarchical data. This kind of data can be stored in 2 main ways:
Nested data frame
Edge list
In a nested data frame, each line represents a leaf of the organization. Each column represents a level of the organization.
This data format will require the data.tree
library to reformat the input dataset into something readable by circlepackeR
.
# Circlepacker package
library(circlepackeR)
# devtools::install_github("jeromefroe/circlepackeR") # If needed
# create a nested data frame giving the info of a nested dataset:
data <- data.frame(
root=rep("root", 15),
group=c(rep("group A",5), rep("group B",5), rep("group C",5)),
subgroup= rep(letters[1:5], each=3),
subsubgroup=rep(letters[1:3], 5),
value=sample(seq(1:15), 15)
)
# Change the format. This use the data.tree library. This library needs a column that looks like root/group/subgroup/..., so I build it
library(data.tree)
data$pathString <- paste("world", data$group, data$subgroup, data$subsubgroup, sep = "/")
population <- as.Node(data)
# Make the plot
#circlepackeR(population, size = "value")
# You can custom the minimum and maximum value of the color range.
p <- circlepackeR(population, size = "value", color_min = "hsl(56,80%,80%)", color_max = "hsl(341,30%,40%)")
# save the widget
# library(htmlwidgets)
# saveWidget(p, file=paste0( getwd(), "/HtmlWidget/circular_packing_circlepackeR2.html"))
The edge list format has at least 2 columns. It describes all the edges of the data.
This format is widely spread. In this example, we just convert it to a nested data frame before plotting it as seen above.
# Circlepacker package
library(circlepackeR)
# devtools::install_github("jeromefroe/circlepackeR") # If needed
# Let's use the 'flare dataset' (stored in the ggraph library)
library(ggraph)
data_edge <- flare$edges
data_edge$from <- gsub(".*\\.","",data_edge$from)
data_edge$to <- gsub(".*\\.","",data_edge$to)
head(data_edge) # This is an edge list
# We need to convert it to a nested data frame. the data.tree library is our best friend for that:
library(data.tree)
data_tree <- FromDataFrameNetwork(data_edge)
data_nested <- ToDataFrameTree(data_tree,
level1 = function(x) x$path[2],
level2 = function(x) x$path[3],
level3 = function(x) x$path[4],
level4 = function(x) x$path[5])[-1,-1]
data_nested <- na.omit(data_nested)
# Now we can plot it as seen before!
data_nested$pathString <- paste("roots", data_nested$level1, data_nested$level2, data_nested$level3, data_nested$level4, sep = "/")
data_nested$value=1
data_Node <- as.Node(data_nested)
p <- circlepackeR(data_Node, size = "value")
#p
# save the widget
# library(htmlwidgets)
# saveWidget(p, file=paste0( getwd(), "/HtmlWidget/circular_packing_circlepackeR1.html"))