Copyright 2019 Joseph Adams.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
It is not sold, authorized, or associated in any way with any other company or product.
To contact the author or for more information, please visit www.techministry.blog.
HOW TO USE THIS PROGRAM:
Open the ProTally Settings menu.
You can choose one of the following supported devices:
- Ross Carbonite
- Ross Carbonite Black
- Ross Carbonite Black Solo
- Ross Graphite
- Generic TSL 3.1 Device
Your TSL device should send data in this format:
{ address: 90, brightness: 3, tally4: 0, tally3: 0, tally2: 0, tally1: 0, label: ' LABEL ' }
Tally1 typically represents the Preview state and Tally2 typically represents the Program state. Tally3 and Tally 4 are not implemented in ProTally. - Blackmagic ATEM
- OBS Studio
- Bitfocus Companion
- Roland V-60HD Smart Tally
- On your Ross switcher, configure a new device with these settings:
- IP Address:
- Port:
- Transport Type: UDP
- Select the Ross device type you are using in the device list at the top of the Settings menu.
- Make sure the Port number matches what you specified on your Ross device.
- Select "UDP" as the protocol type.
- Click "Connect".
- On your Tally server (ImageVideo TSI 4000, etc.), configure a client with these settings:
- IP Address:
- Port:
- Transport Type: TCP or UDP (depending on what your tally server supports)
- In ProTally, select "Generic TSL 3.1 Device" in the device list at the top of the Settings menu.
- Make sure the Port number matches what you specified on your Tally server.
- Click "Connect".
- Select "Blackmagic ATEM" in the device list at the top of the settings menu.
- If your Blackmagic ATEM Switcher is not in the drop down list, it was not detected automatically on the network. Choose "manual entry" from the list and type in the IP address of your switcher.
- Click "Connect".
Using OBS Studio:
- Install the OBS Websockets Plugin for your OBS Studio, and follow the configuration instructions provided.
- In ProTally, choose "OBS Studio" in the device list at the top of the settings menu.
- Enter the IP Address, Port, and Password you defined in the OBS Websocket settings.
- Click "Connect".
- ProTally can monitor any available source in OBS, whether it is a physical input via a capture card, or a virtual input like NDI, a browser window, color source, etc.
Using Bitfocus Companion:
- In Companion, create a new module instance for ProTally, using the IP address of the computer running ProTally. You can create multiple instances if you need to control multiple computers running ProTally.
- Specify the port Companion should send tally data to.
- In ProTally, choose "Bitfocus Companion" in the device list at the top of the settings menu.
- Enter a listen port that matches the port you chose in Companion. The default port is 9800.
- Click "Connect".
- Enable the ProTally windows you want to be controllable from Companion, and position them where desired.
- ProTally will listen for data from Companion to show a Preview, Program, or Preview/Program box. You can also send a "Beacon" from Companion which will flash a box with a custom color at a custom rate.
Using Roland V-60HD Smart Tally:
- On your Roland device, make sure the IP address is set and the smart tally feature is enabled.
- In ProTally, choose "Roland V-60HD Smart Tally" in the device list at the top of the settings menu.
- Enter the IP Address of the Roland switcher.
- Click "Connect".
- ProTally can monitor any of the 8 input sources from the Roland switcher by continously polling the switcher for updates.
Specifying Tally Addresses:
- ProTally supports up to 4 Tally Windows and blink(1) devices.
- Pick or enter an address (input number) into a Tally Address field.
- To disable a particular Tally Box, choose "Black" or enter "0" into the Tally Address field.
- Tally Boxes can either be displayed as transparent boxes with a color border, or as a filled-in box. The transparent box is turned on by default.
- Tally Boxes can display the label, if the name is known and transmitted with the tally data.
- To resize/position a tally box, click "Resize/Move" for that box. The Tally Box will appear on the screen. When you are finished, click "Save Window Position".
- To use a blink(1) device with ProTally, it must be connected to the system prior to opening ProTally. Then, select it from the list for the Tally window you want to pair it with. You can choose to have it mirror the tally window, not use the blink(1) device at all, or only use the blink(1) device with no visible on-screen window.
- Update all desired Tally Address fields and choose "Update Tally Settings" at the bottom of the menu to save the settings.
- Tally Windows will display on top of all other windows. To temporarily hide them, choose "Hide All Boxes" from the tray menu.
- You can resize/reposition windows to fit where you would like them on the screen by choosing "Resize" from the Settings window for each Tally Box.
- Preview, Program, and Preview+Program (when an input is set to both) colors can be customized for every tally window. Some TSL devices will send Preview data in Tally 2 with Program in Tally 1, whereas ProTally expects the opposite. If this is the case, simply change the colors to match the state desired. Click "Update Tally Settings" to save color changes.


My Projects App Repo: Coffee Hut CoffeeHut is a web based application through which a user can order craft coffee drinks from their local coffee shop, CoffeeHut. This application uses Express, Handlebars, MySQL, Sequelize, and Passport. App Repo: The Movie Search With this app our team created an interactive movie dashboard using the APIs to pull movie information, review information, and theater data close to the user's zip code. App Repo: JavaScript Quiz Game In this app I created a timed quiz game powered completely by JavaScript with high score data being stored locally. App Repo: Strong Password Generator In this app the user picks several criteria as well as a length to generate a random strong password. The password is then displayed in the text box. App Repo: Express Note Taker In this app I created an express server that stores, displays, and deletes notes that have been supplied by the user via an HTML interface. App Repo: Work Day Scheduler In this app I created functionality for saving tasks to a local work day calendar. The tasks are color coded based on current time of day.


As you can see below we have connections with a number of designers who make the high quality fashion you see on the site
All designers are recognised as leaders in the fashion industry
All their designs would usually cost a small fortune but here you can get them nice and cheap


| DOSE: |
1 cig. |
smoked |
Cannabis |
(plant material) |
OK, I’ll admit it right off the bat. It all transpired while I was soaring skyward on the wings of a plump gold Columbian megajoint. I’ll let the reader determine how much was my expanded state, and how much was influenced by the setting.
You see, I smoked the thing right down to the nub while sitting at dusk by a creek not far from where I live. This is no ordinary creek, however. An officious plaque posted nearby informed me that Indians had sanctified this site as ceremonial for millennia - of course, until the white man stole their land and used the creek to power a flour mill in the late 1700s. Indeed, the Native Americans who had inhabited this area revered this roiling stretch of water which cascades down several hundred feet over a series of step-like falls, snaking to and fro with frantic abandon. Yes, you could definitely sniff a hint of shamanic energy here!
I let my mind completely relax while the marijuana took hold. The color of the frothing water became darker and richer with the quickening night as the unbroken electric blue sky above the creek’s frenzy darkened to lapus lazuli. I tried to imagine what one of these long abandoned ceremonies would have been like - a medicine man solemnly wafting a sage brush to and fro, its otherworldly odor christening the atmosphere, skilled drummers maintaining a hypnotic beat on special drums, a steady, mysterious rhythm cleansing psychic static from the atmosphere. I envisioned reverent and open people sitting in eager anticipation of the Transcendent. My senses opened along with these imaginings.
I let my eyes slacken and loose themselves in the rushing water. The interplay of the brown and orangy hues in the churning liquid began to intensify before my flaccid mind. Now there were reds and greens and golds, and these were brightening, ever spawning more color. Suddenly my ears discerned a voice in the stream, it was as if each wet molecule was communicating with every other and all was definitely conversation. Before I could possibly notice, my consciousness had gone right over the cliff! Myriad millions of beings conversed simultaneously, speaking in tongues beyond any mortal orb. Colors in the water bifurcated and intensified in flavor with disorienting rapidity. More hues and sounds than my receptive faculties could begin to take in blossomed relentlessly. Colors no man could ever name flashed from nowhere, than never were, babblings from millions of universes overwhelmed my ears in yet a fathomless silence.
I had entered a realm indifferent to time and space, and all was relentlessly dividing and multiplying, ever exponentiating and energizing beyond capacity of any sense of measure. I was swallowed within and yet I paradoxically felt encompassed, and any sense of possessing “self” was rapidly breaking down in this akashic digestive juice. To attempt to cling to even a sparkle of thought was ridiculous. My poor, overwhelmed, unenlightened little heart simply couldn’t withstand this onslaught! It exploded, of course, in anguished panic, a pitiful cry searing into this cosmic miasma. The transcendent energy system, obviously offended at such an insipid response to its powers, effortlessly intercepted my miniscule ego pain, transmuted it and hurled it, radiating the fever back to its source, shimmering right back into me, mirror like.
It was impossible now to do anything but surrender wholly, and even that choice came without any volition on my part. The universe, however, does provide its mercies! My surrender was the Key that engendered a blessed catharsis which washed through my soul, dissolving every agony of terror, anguish, and powerlessness and flushing it all away. Fear had transmuted to power. I was now engulfed in a wholly unfamiliar experience of majesty and nobility.  I felt fresh doors open to every possibility, every dream, every endeavor, all new fruit. My own power had taken full command, and it felt marvelous to relax into that.
The Kingdom of Heaven truly is within. My soul soared with joy in it’s realization that my neurotic ego-clinging is, in fact, an absurd refusal to acknowledge my own godship. I broke down completely and humbly thanked our Creator with tears and sobs, for I indeed had been made a King. I blessed the Native Americans who had long vanished from this marvelous place, and I paid homage to very energy that still saturates this spot with unselfish Wisdom. And, oh yes, I heartfully thanked my lifelong mistress Mary Jane for providing the alchemic key that opened that door! She always ushers me into realms so antithetical to our insipid work-a-day, nine to five, shopping mall existence. She shows me a magical life that outshines anything our philistine culture could possibly provide, and makes the universe sparkle with a sheen that no glittering jewel could hold a candle to. But I’m willing to bet you already know that!
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


The Sockets LSX implements the Sockets API for communicating via TCP/IP, notably over Internet. For Windows only the synchronous calls are implemented as the asynchronous calls do not make sense to use from Prolog.
This section assumes that you are very familiar with the Windows or Berkeley Sockets API and its use. If you'd like to learn more about sockets programming, we suggest "Developing for the Internet with Winsock" by Dave Roberts from Coriolis Group Books. There are also other texts as well as copious information on Internet.
Asock.lsx is the C side of the interface, asock.plm is the Prolog side. You can load the LSX by adding:
lsxload=asock.lsx
to your.cfg file or by calling AddLSX(). You can use the predicates from the listener by creating an amzi.cfg file with the above line, and by adding asock.plm as a library to your project.
The source code for the Sockets LSX is provided in two primary files. Sockets.c is the C program that the LSX is built from. It provides all the extended predicates. asock.pro (asock_sol.pro for Solaris) is an 'include' file that provides a convenient means for using the predefined constants from Prolog.
There are two Prolog samples for the Sockets interface. Finger.pro implements a simple finger client. You specify a finger client to connect to and then provide a user-id, and it returns the 'finger' information for that user.
Sserver.pro and sclient.pro demonstrate a very simple server and its client. You need two machines running TCP/IP to run it. The server greets the client, accepts a command. If the command is 'shutdown' then the server exits, otherwise it waits for another command.
The Sockets LSX closely follows the Berkeley Sockets implementation with the following differences:
In addition, from Prolog, the following conventions are followed:
This means you do not have to do any conversions on these values if you pass exactly what you receive from one function to another.
The arguments to the predicates listed in the following sections are followed by a capital letter indicating the type as follows: I (Integer), L (List), S (String), and V (Variable).
Asock.pro (asock_sol.pro under Solaris) provides the definitions for the many constants used in the Sockets API. You can include it in your project, or consult asock.plm (or asock_sol.plm under Solaris) at runtime.
These predicates are used to start, stop and get error information from Windows sockets. These are the only 'wsa' routines that are implemented. The remainder of the extended predicates implement the standard (Berkeley) Sockets API.
wsaStartup(VersionReqI, VersionV, HighVersionV, DescriptionStrV, StatusStrV, MaxSocketsV, MaxUdpDgV) wsaCleanup wsaGetLastError(ErrorNumV)
These predicates convert between the various data formats. (Note htonl, htons, ntohl, ntohs are not needed because network addresses are always kept in network byte order and protocol and port numbers are always kept in host byte order. The extended predicates internally do any conversions needed.)
inet_addr(DotHostNameS, HostAddrV) inet_ntoa(HostAddrI, DotHostNameV)
These predicates get host, protocol and server names and address.
gethostbyaddr(HostAddrI, AliasListV, AddrListV) gethostbyname(HostNameS, AliasListV, AddrListV) gethostname(HostNameStrV) getprotobyname(ProtoS, ProtoNumV, AliasListV) getprotobynumber(ProtoI, ProtoNameV, AliasListV) getservbyname(ServNameS, ProtoNameS, ServPortNumV, ServAliasListV) getservbyport(PortnumI, ProtoNameS, ServNameV, ServAliasListV)
These predicates create, manages and close sockets. Instead of passing the sockaddr structure, instead the relevant elements of that structure are passed and returned as separate arguments. These elements can be any combination of the address, port and/or socket numbers. And the values can be for either the remote host or the local host.
The select predicate uses a Prolog list of socket numbers instead of the fd_set structure. In practice, this makes it very easy to write recursive predicates to manage socket activity.
accept(SocketI, RemoteHostAddrNumV, RemoteHostPortNumV, NewSocketNumV) bind(SocketI, LocalHostAddrI, LocalPortI) closesocket(SocketI) connect(SocketI, RemoteHostAddrI, RemoteHostPortI) getpeername(SocketI, RemoteHostAddrV, RemoteHostPortV) getsockname(SocketI, LocalHostAddrV, LocalHostPortV) getsockopt(SocketI, LevelI, OptionI, ValueNumV) ioctlsocket(SocketI, CmdI, ArgI, ValueV) listen(SocketI, BacklogI) recv(SocketI, DataStrV, DataLenI, FlagsI, ReceivedLenV) recvfrom(SocketI, DataStrV, DataLenI, FlagsI, FromAddrV, FromPortNumV, ReceivedLenV) select(ReadSocketsL, WriteSocketsL, ErrorSocketsL, WaitSecondsI, WaitThousSecsI, ReadSocketsResultListV, WriteSocketsResultListV, ErrorSocketsResultListV) send(SocketI, DataS, FlagsI, SentLenV) sendto(SocketI, DataS, FlagsI, ToAddrI, ToPortI, SentLenV) setsockopt(SocketI, LevelI, OptionI, ValueI) shutdown(SocketI, HowI) socket(SocketType, I, SocketProtocolI, SocketNumV)
Copyright ©1987-2011 Amzi! inc. All Rights Reserved. Amzi! is a registered trademark and Logic Server is a trademark of Amzi! inc.


@showr/core is a library built with Typescript that allows you to define efficient trading strategy to gain profits during a live market. You can use and combine hundreds of technical indicators to define your strategy or you can create your own technical indicator.
Its powerful API also allows you to backtest your strategy over a historical data before putting it in action. The strongly typed Classes and API allows you to focus more on your trading strategy and worry less about the technical setup and boilerplate.
npm i --save @showr/core
or
yarn add @showr/core
You can import available classes and helpers from the main library.
import { Dataset, Indicator } from '@showr/core';
// or
const { Dataset, Indicator } = require('@showr/core');
See complete API documentation for all the available classes and methods.
Dataset can be created out of any data which should in a form of an array. Dataset allows you to apply indicators over each data point and you can backtest your trading strategy over any Dataset.
import { Dataset } from '@showr/core';
const ds = new Dataset([10, 12.5, 11], 'close');
console.log(ds.value); // [{ close: 10 }, { close: 12.5 }, { close: 11 }]
You can provide an array containing any kind of objects or numbers and that will be converted into a Dataset. Learn more about Dataset in API documentation.
The outstanding advantage of this library is that you can create your own technical indicator and then use it for defining trading strategies.
All you need is to define a calculate
function for the indicator you are creating and then you can apply it over your Dataset.
For example, you can create an indicator, let's say goldenR
, that multiplies the quote value with golden ratio.
import { Dataset, Indicator } from '@showr/core';
import _ from 'lodash'; // This is optional
const goldenR = new Indicator('goldenR', (ds: Dataset) => {
const lastQuote = _.last(ds.quotes);
return lastQuote.getAttribute('close') * 1.61;
});
Now create a dataset and apply the above indicator to it.
// ...
const ds = new Dataset([10, 20, 30], 'close');
ds.apply(goldenR);
console.log(ds.quotes); // [{ close: 10, indicators: { goldenR: 16.1 }}, ... ]
console.log(_.last(ds.quotes).getIndicator('goldenR')); // 16.1
Learn more about creating Indicators with parameters in API documentation.
Many well known indicators are provided in-built with a stand-alone library @showr/indicators and you can directly import them inside your project.
For example,
import { Dataset } from '@showr/core';
import { SMA } from '@showr/indicators';
import _ from 'lodash'; // This is optional
const ds = new Dataset([10, 20, 30]);
const sma2 = new SMA('sma2', { period: 2 });
ds.apply(sma2);
console.log(_.last(ds.quotes).getIndicator('sma2')); // 25
Generated using TypeDoc


{% include 'ui/header.html' %}
{{DESCRIPTION}}
You are about to authorize {{NAME}} to access patient records on your behalf.
WARNING: This app is requesting access to your data while you are offline in order to: [[FILL IN REASON]] Yes, grant offline access No, only when I'm online


| Hackathon | Tier | Perks | Status | Amount | Date | |
|---|---|---|---|---|---|---|
| {{sponsorship.hackathon.name}} | {{ sponsorship.tier.name }} | {% for perk in sponsorship.perks.all %} {{ perk.name }} {% endfor %} | {% include "cards/sponsorship_status.html" %} | ${{sponsorship.contribution|intcomma}} | {{sponsorship.updated_at}} | |
| No sponsorships. |


Given a linked list, swap every two adjacent nodes and return its head.
Example:
Given 1->2->3->4, you should return the list as 2->1->4->3.
Note:
Pointing to every active node is an easy way to keep on track.
/**this.val = val;
this.next = null;
for (let p = prehead; p.next !== null && p.next.next !== null;) { const p1 = p.next const p2 = p1.next p1.next = p2.next p2.next = p1 p.next = p2 p = p1 }
return prehead.next };
Template generated via Leetmark.


Let’s write some code that calculates how dependencies propagate between things such as classes in a program.
Highly coupled code is code where the dependencies between things are dense, lots of things depend on other things. This kind of program is hard to understand, tough to maintain, and tends to be fragile, breaking easily when things change.
There are many different kinds of coupling in code. One of the easiest to work with programatically is static coupling, where we’re concerned with the relationships between chunks of source code. Simplisticly, we can say that class A is statically coupled to class B if the compiler needs the definition of B in order to compile
In many languages, static dependencies can be determined by source code analysis. Tools such as makedepend (for C programs) and JDepend (for Java) look for explicit dependencies in the source and list them out.
One of the insidious things about dependencies is that they are transitive—if A depends on B and B depends on C, then A also depends on C. So, let’s write some code that calculates the full set of dependencies for a group of items. The code takes as input a set of lines where the first token is the name of an item. The remaining tokens are the names of things that this first item depends on. Given the following input, we know that A directly depends on B and C, B depends on C and E, and so on.
1 2 3 4 5 6 |
|
The program should use this data to calculate the full set of dependencies. For example, looking at B, we see it directly depends on C and E. C in turn relies on G, E relies on F, and F relies on H. This means that B ultimately relies on C, E, F, G, and H. In fact, the full set of dependencies for the previous example is:
1 2 3 4 5 6 |
|
Let’s express this using unit tests. The following code assumes that our dependency calculator is a class with an add_direct() method to add the direct dependencies for an item, and a dependencies_for() method to return the full list of dependencies for an item. The code uses Ruby’s %w{…} construct, which builds an array of strings from its argument.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Stop reading now, and start coding. Once you’ve got your code working, try feeding it the following dependencies.
1 2 3 |
|
Does it work correctly? If not, ask yourself is this is a condition you should have considered during testing.
Once you’ve got your code working with all the various test cases you can imagine, let’s think for a minute about performance. Say we were using this code to find all the relationships between the inhabitants of the United Kingdom. How would your code perform with 55-60 million items?


SAA Workers Vow To Continue Strike Until Demands Met
by SW EditorSouth African Airways (SAA) workers have vowed to continue their strike until the company meets their demands.
Numsa members embarked on a strike on Friday following failed wage talks. They are demanding an 8% salary hike while SAA is offering 5,9% a pay rise. The industrial action has forced the airline to cancel some international and local flights.
Striking workers were protesting outside the SAA head offices on Saturday, demanding better wages. Numsa general secretary Irvin Jim said workers should fight for their rights.
The parties were locked in a meeting in an attempt to resolve the dispute. SAA said it was losing more than 50 million per day as a result of the strike.
Meanwhile, a group of SAA employees once again gathered on the outskirts of Cape Town International Airport.
South African Cabin Crew Association shop steward Sonja Eidz said they gathered on a field in the cargo operations area.
“In Cape Town and Johannesburg, we have many members. We are not backing down on our demands. This went from a strike for increases to a strike for job protection.”
SAA announced that it planned to retrench more than 900 workers.


| java.lang.Object | |
| ↳ | com.shinobicontrols.charts.LegendStyle |
Visual style properties for the chart's Legend
. If you make any
styling changes after the chart has been displayed, you should call
chart.redrawChart().
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Should the legend show symbols next to the series titles?
| |||||||||||
Returns the color of the background of the legend
| |||||||||||
Returns the color of the border line of the legend.
| |||||||||||
Returns the width of the border, in device independent pixels
| |||||||||||
Returns the radius of the corners of the legend, in device independent
pixels
| |||||||||||
Returns the amount of padding, around the inside perimeter of the legend,
in device independent pixels
| |||||||||||
Returns the vertical margin between rows in the legend, in device
independent pixels.
| |||||||||||
Returns where the symbols are drawn, when
areSymbolsShown() is
true. | |||||||||||
Returns the radius of the corners of the legend symbols.
| |||||||||||
Returns the gap between the symbol and the label representing a chart
series in the legend, and also between different series within a row.
| |||||||||||
Returns the width that each symbol in the legend has, in device
independent pixels
| |||||||||||
Returns the alignment of the series titles.
| |||||||||||
Returns the color of the text used to display the series titles.
| |||||||||||
Returns the text size for the series titles, in scaled pixels.
| |||||||||||
Gets the margin value of the legend title label.
| |||||||||||
Gets the padding value of the legend title label.
| |||||||||||
Returns the color for the legend title text.
| |||||||||||
Returns the text size for the legend title text, in scaled pixels.
| |||||||||||
Returns the type face for the legend title.
| |||||||||||
Returns the type face used for series titles within the legend.
| |||||||||||
Sets the color for the background of the legend
| |||||||||||
Sets the color of the border line for the legend.
| |||||||||||
Sets the width of the legend border, in device independent pixels
| |||||||||||
Sets the radius for the corners of the legend, in device independent
pixels
| |||||||||||
Sets the amount of padding, around the inside perimeter of the legend, in
device independent pixels
| |||||||||||
Sets the vertical margin between rows in the legend, in device
independent pixels.
| |||||||||||
Sets where the symbols are drawn, when
areSymbolsShown() is
true. | |||||||||||
Sets the radius for the corners of the legend symbols.
| |||||||||||
Sets the gap between the symbol and the label representing a chart series
in the legend, and also between different series within a row.
| |||||||||||
Sets the width that each symbol in the legend should have, in device
independent pixels
| |||||||||||
Sets whether the legend should show symbols next to the series titles
| |||||||||||
Sets the alignment of the series titles.
| |||||||||||
Sets the color of the text used to display the series titles.
| |||||||||||
Sets the text size for the series titles, in scaled pixels.
| |||||||||||
Sets the margin value of the legend title label.
| |||||||||||
Sets the padding value of the legend title label.
| |||||||||||
Sets the color for the legend title text.
| |||||||||||
Sets the text size for the legend title text, in scaled pixels.
| |||||||||||
Sets the type face for the legend title.
| |||||||||||
Sets the type face used for series titles within the legend.
|
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
From class
java.lang.Object
|
Should the legend show symbols next to the series titles?
Returns the color of the background of the legend
Returns the color of the border line of the legend.
int
representation of the color of the Legend's
borderReturns the width of the border, in device independent pixels
Returns the radius of the corners of the legend, in device independent pixels
Returns the amount of padding, around the inside perimeter of the legend, in device independent pixels
Returns the vertical margin between rows in the legend, in device independent pixels.
Returns where the symbols are drawn, when areSymbolsShown()
is
true.
Returns the radius of the corners of the legend symbols. A radius of 0 will draw square corners.
Returns the gap between the symbol and the label representing a chart series in the legend, and also between different series within a row. In device independent pixels.
Returns the width that each symbol in the legend has, in device independent pixels
Returns the alignment of the series titles.
Returns the color of the text used to display the series titles.
int
representation of the color of the text showing
the series titlesReturns the text size for the series titles, in scaled pixels.
Gets the margin value of the legend title label.
Gets the padding value of the legend title label.
Returns the color for the legend title text.
int
representation of the color of the text for the
Legend's titleReturns the text size for the legend title text, in scaled pixels.
Returns the type face for the legend title.
Returns the type face used for series titles within the legend.
Sets the color for the background of the legend
| backgroundColor | the color for the background of the legend |
|---|
Sets the color of the border line for the legend.
| borderColor | the int representation of the color for the
Legend's border |
|---|
Sets the width of the legend border, in device independent pixels
| borderWidth | the width for the legend border, in device independent pixels |
|---|
Sets the radius for the corners of the legend, in device independent pixels
| cornerRadius | the radius for the corners of the legend, in device independent pixels |
|---|
Sets the amount of padding, around the inside perimeter of the legend, in device independent pixels
| padding | the padding around the inside perimeter of the legend, in device independent pixels |
|---|
Sets the vertical margin between rows in the legend, in device independent pixels.
| rowVerticalMargin | the vertical margin between rows in the legend, in device independent pixels |
|---|
Sets where the symbols are drawn, when areSymbolsShown()
is
true.
| symbolAlignment | where the symbols should be drawn |
|---|
Sets the radius for the corners of the legend symbols. Setting a radius of 0 will draw square corners.
| symbolCornerRadius | the radius for the corners of the legend symbols |
|---|
Sets the gap between the symbol and the label representing a chart series in the legend, and also between different series within a row. In device independent pixels.
| symbolLabelGap | the gap between the symbol and the series label in the legend, in device independent pixels |
|---|
Sets the width that each symbol in the legend should have, in device independent pixels
| symbolWidth | the width that each symbol in the legend should have, in device independent pixels |
|---|
Sets whether the legend should show symbols next to the series titles
| showSymbols | whether the legend should show symbols next to the series titles |
|---|
Sets the alignment of the series titles.
| textAlignment | the android.view.Gravity of the series titles |
|---|
Sets the color of the text used to display the series titles.
| textColor | the int representation of the color of the text
showing the series titles |
|---|
Sets the text size for the series titles, in scaled pixels.
| textSize | the size of the text for the series titles, in scaled pixels |
|---|
Sets the margin value of the legend title label.
| margin | The value of the margin of the legend title label, in scaled pixels. |
|---|
Sets the padding value of the legend title label.
| padding | The value of the padding of the legend title label, in scaled pixels. |
|---|
Sets the color for the legend title text.
| titleTextColor | the int representation of the color of the
text for the Legend's title |
|---|
Sets the text size for the legend title text, in scaled pixels.
| titleTextSize | the size of the text in the legend title, in scaled pixels. |
|---|
Sets the type face for the legend title.
| titleTypeface | the legend title's type face |
|---|
Sets the type face used for series titles within the legend.
| typeface | The type face for series titles in the legend |
|---|


speccer - a CLI tool for specs
PARENT http://rawgithub.com/metakeule/speclib/master/spec/spec.html
PROJECT speclib
COMPANY Know GmbH
PERSONS
Marc René Arns<EMAIL_ADDRESS>(mra)
REQUESTED_BY
- mra
OVERVIEW
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-11
ESTIMATEDHOURS 0
speccer is a CLI tool for dealing with specs.
It is a frontend to the speclib.
SCENARIO 1 Create Specification
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Mike wants to create a specification. He gets a clean
starting point with speccer
.
SCENARIO 2 Add comments
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Mike receives comments for his specification. He wants to add them without hassle.
SCENARIO 3 See and update specification
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Mike wants to update his specification with is editor.
SCENARIO 4 Script
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Gill wants to change specifications with a script.
SCENARIO 5 Import and export
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Gill wants to read import and export specifications from different places.
SCENARIO 6 View as HTML and markdown
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Sue wants to read the specifications in HTML and be able to mail them as markdown.
SCENARIO 7 Filter for documentation
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Peter wants to create a documentation from the spec and wants the unneccessary informations to be filtered.
SCENARIO 8 Filter for implementation
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Anne wants to implement parts of the specification. She just wants to read the parts that are ready to be implemented.
NONGOAL 1 No GUI
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
To have a GUI would be a project on its own. However such a project could also be external and be built upon speccer.
NONGOAL 2 No Database
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
speccer
will operate on plain text json files only.
There will be no way to have a database and search.
A database could however exchange data with speccer
via json files.
NONGOAL 3 No versioning
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
speccer
will not do any backups or have versions.
You are advised to use a version control system to save your
specs or make backups by a backup tool.
NONGOAL 4 No editing
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
speccer
will have any functionality of an editor.
You may however replace parts of the spec by exporting them
to your favourite editor and reimport them when you are finished.
NONGOAL 5 No merging of specs
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
speccer
won’t provide any mechanism to merge specs.
Since you can export and import parts of the specs in
plain text or markdown, it is not hard to merge by hand.
NONGOAL 6 No copying of specs
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
speccer
won’t help you copying specs, since you can simply
copy the json files yourself and then edit the copy.
NONGOAL 7 No rights management
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
speccer
won’t have any rights management baked in.
You could manage the viewing and changing rights for
a single spec by the filesystem.
If you need finer control, you need to write a wrapper
around speccer
or the speclib
.
NONGOAL 8 No multiple comments per author and paragraph
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
With speclib
(and therefor speccer
too),
a single author can only have one comment per paragraph.
We consider this a good thing, since it forces the spec to be split up in several paragraphs if they get too many comments. The spec will benefit from it.
Also it is possible to have comments of arbitrary length.
NONGOAL 9 No ‘threads’
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Again this is a decision by speclib
and considered a good
thing. There should not be comments on comments and endless
discussions. Instead the comments should be directed to a
paragraph and decision should be made soon.
Then the different topics should seperate into the different sections like ‘UNDECIDED’, ‘CONTRADICTIONS’, ‘DEFINITIONS’, ‘FEATURES’ etc. and there should be multiple paragraphs which may each have their own state of consense and comments.
NONGOAL 10 No order of comments
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Again this is a decision by speclib
.
Since each author may just have one comment per paragraph,
there is no point in have an order for comments.
However their is an order of paragraphs and that could be changed.
NONGOAL 11 No text generation
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Since the specs format is based on json, it is very easy and flexible to have own templates and copy them.
NONGOAL 12 No PDF export
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
There are great tools to convert from HTML to PDF, like wkhtmltopdf
and
also markdown to pdf converter like pandoc
. Since speccer
exports
to HTML and markdown you should be able to use these tools to generate
PDFs.
NONGOAL 13 No Translations for SPECS
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
There is rudimentary support for translations of key words that
are automatically inserted via speclib
.
If your language is not supported, it is very easy to translate on your own. A simple bash-script will do. You only have to replace the keys as they are in the translations folders.
You might also contribute your translations to the project.
However for the main text of the specs they should be translated by creating a new spec of each language and telling the other specs of the translation in the TRANSLATIONS section of the specs.
NONGOAL 14 No time tracking
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Each paragraph has a field ESTIMATEDHOURS that could be used to do basic scheduling.
An external tool could then collect the estimated hours and compare them to the real time to drive conclusions about the schedule.
More time tracking functionality is not part of this project.
NONGOAL 15 No shortcuts for commands or presets
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Some commands and options are hard to remember.
But instead of bake new options into speccer
we
deliver an alias file you could use in your bash or zsh shell.
Have a look at it to see how easy you could do one on your own. In the alias you could also set defaults for responsibles etc.
NONGOAL 16 No translation of options
RESPONSIBLE mra
STATE APPROVED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
In order to be able to associate the wordings of the options to the corresponding keys in the json file and the untranslated specs the options will not be translated.
CONTRADICTION 1 Rights Management vs responsible
RESPONSIBLE mra
STATE OBSOLET
LASTUPDATE 2013-11-12
DEADLINE 2013-11-11
ESTIMATEDHOURS 1
Rights Management is a Non Goal but on the other hand we have persons responsible for paragraphs.
If anyone may edit any paragraph, then the responsibility must constantly change (and is worthless) or it is false.
mra
Yes the responsability should change often in order to request feedback.
If multiple persons work on a spec, the spec is considered teamwork
and the people should work together.Only one person is responsible for each paragraph at a single point in
time. This could be enforced by external tools as well as rights management
if necessary. Although with version control it should not be necessary.
UNDECIDED 1 It is not really clear how the linefeed is
RESPONSIBLE mra
STATE OBSOLET
LASTUPDATE 2013-11-12
DEADLINE 2013-11-11
ESTIMATEDHOURS 1
exported in markdown and json. See the linefeed paragraph
mra
No longer an issue. Every import and export replaces
to\n
only. Editors should be able to handle it,
otherwise other tools would be needed to convert
before editing.
DEFINITION 1 All definitions of the speclib
apply
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
DEFINITION 2 -name
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
The parameter passed via -name
is the name of a spec property (like
TRANSLATIONS
with the command property
) or the name of a paragraph
property (like STATE
with the command meta
).
DEFINITION 3 -usage
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
The parameter passed via -usage
is the name of a filter provided by
speccer
for typical usage scenarios.
There are currently:
- documentation filters
- PROPERTIES
- META
- COMMENTS
- NONGOALS
- CONTRADICTIONS
- UNDECIDED
- SPEC_END
- RESOURCES
- PLANNING
- APPROVED
- PARTLY_IMPLEMENTED
- OBSOLET
- approval filters
- META
- COMMENTS
- CONTRADICTIONS
- UNDECIDED
- SPEC_END
- RESOURCES
- PLANNING
- OBSOLET
- discussion filters
- OVERVIEW
- APPROVED
- PARTLY_IMPLEMENTED
- OBSOLET
- SPEC_END
- implementation filters
- UNDECIDED
- PLANNING
- FULLY_IMPLEMENTED
- OBSOLET
DEFINITION 4 Current Spec
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-13
ESTIMATEDHOURS 1
The current spec is the spec that is loaded from a special file
in the current directory (pwd
).
If the -language
option is set, the spec is loaded from the file
spec_[language].json
, e.g.
spec_en_US.json
Otherwise it is looking for any files matching the regular expression
spec*.json
If there is just one file matching, the spec is loaded from this file. Otherwise an error is thrown mentioning that the language option should probably be set.
FEATURE 1 create a new spec
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that should contain your spec and run
speccer -cmd create
Creates a file spec.json
in the current folder and exports it
as spec.md
(Markdown) and spec.html
(HTML).
If the -language
parameter is set (to e.g. en_US
) it creates
the following files instead:
spec_en_US.json
spec_en_US.md
spec_en_US.html
Be aware that the new spec is not valid since there are missing properties. You can validate a spec to see them:
speccer -cmd validate
FEATURE 2 validate a spec
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec and run
speccer -cmd validate
It it returns nothing your spec is valid.
 The properties are
all written in high caps and defined in speclib
.
FEATURE 7 set property of spec
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec and run
speccer -cmd property -name COMPANY -set acme
to set the COMPANY
property to acme
. The properties are
all written in high caps and defined in speclib
.
FEATURE 8 unset property of spec
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-12
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec and run
speccer -cmd property -name PARENT -uset
to unset the PARENT
property. Only the following properties can
be unset:
- REQUESTEDBY
- RELATED
- TRANSLATIONS
- SUPERSEDEDBY
- RESOURCES
- PARENT
- PERSONS
FEATURE 9 add markdown text to a section
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec and write your text
into a file, let’s say new.md
.
Put the title of the paragraph in the first line and the body in the next lines. Then run
speccer -cmd add -sec SCENARIO -resp 'Your Name' -set new.md
to add title and body to the SCENARIO sections.
The available sections are defined in the speclib
.
FEATURE 10 show list of paragraphs of a section
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec and run
speccer -cmd positions -sec SCENARIO
to see a list of all paragraphs of the SCENARIO section. Each paragraph has the first line printed preceeded by a number indicating the position of the paragraph inside the section. This position can be used to print or change the paragraph.
FEATURE 11 show content of a paragraphs of a section
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec. You will need to know the position of the paragraph you want to see. Therefor you might want to first print all positions of the section (here SCENARIO) with
speccer -cmd positions -sec SCENARIO
then you can run
speccer -cmd text -sec SCENARIO -at 3
to see the text for the 3rd paragraph in the SCENARIO section.
If you want to include comments and meta data, run
speccer -cmd text -sec SCENARIO -at 3 -with-comments -with-meta
FEATURE 12 change content of a paragraph of a section
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec. You will need to know the position of the paragraph you want to see. Therefor you might want to first print all positions of the section (here SCENARIO) with
speccer -cmd positions -sec SCENARIO
then you can run
speccer -cmd text -sec SCENARIO -at 3 > temp.md
to save the current text and comments for the 3rd paragraph in the
SCENARIO section to the file temp.md
.
Now fire up your editor to change the content. Then run
speccer -cmd text -sec SCENARIO -at 3 -set temp.md
to set the text of the 3rd paragraph in the SCENARIO section.
The comments and meta data (including the title) of the 3rd paragraph are not modified by this operation. So you may want to change them too.
FEATURE 13 see, add and change comment to a paragraph of a section
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec. You will need to know the position of the paragraph you want to see. Therefor you might want to first print all positions of the section (here SCENARIO) with
speccer -cmd positions -sec SCENARIO
then you can run
speccer -cmd comment -sec SCENARIO -at 3
to see the current comments for the 3rd paragraph in the SCENARIO section.
Now if the author of your comment already made a comment to this paragraph and if you want to append to this old comment, you first have to save the old one.
To do this, run
speccer -cmd comment -sec SCENARIO -at 3 -author Jim > temp.md
to save the comment of Jim
to the file temp.md
. Then you can edit this
file. If you just want to remove the old comment or if there was no
comment you may simply start with an empty file temp.md
.
After you edited the file, run
speccer -cmd comment -sec SCENARIO -at 3 -author Jim -set temp.md
to set the comment of Jim
on the 3rd paragraph of the SCENARIO section
to the content of the file temp.md
.
FEATURE 14 move a paragraph of a section
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec. You will need to know the position of the paragraph you want to move. Therefor you might want to first print all positions of the section (here SCENARIO) with
speccer -cmd positions -sec SCENARIO
then you can run
speccer -cmd move -sec SCENARIO -at 3 -to 1
to move the 3rd paragraph in the SCENARIO section to be the first.
FEATURE 15 delete a paragraph of a section
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec. You will need to know the position of the paragraph you want to delete. Therefor you might want to first print all positions of the section (here SCENARIO) with
speccer -cmd positions -sec SCENARIO
then you can run
speccer -cmd rm -sec SCENARIO -at 3
to remove the 3rd paragraph in the SCENARIO section.
FEATURE 16 see and change meta data of a paragraph of a section
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-12
ESTIMATEDHOURS 1
Go into a folder that contains your spec. You will need to know the position of the paragraph you want to see the meta data. Therefor you might want to first print all positions of the section (here SCENARIO) with
speccer -cmd positions -sec SCENARIO
then you can run
speccer -cmd meta -sec SCENARIO -at 3
to see all meta data of the 3rd paragraph in the SCENARIO section.
If you want to change a datum you will have to pass the name:
speccer -cmd meta -sec SCENARIO -at 3 -name RESPONSIBLE -set Jim
FEATURE 17 shortcuts
RESPONSIBLE mra
STATE FULLY_IMPLEMENTED
LASTUPDATE 2013-11-13
DEADLINE 2013-11-13
ESTIMATEDHOURS 1
To use the bash
/ zsh
shortcuts, copy the aliases.sh
into your home directory
cp aliases.sh ~/.speccer_aliases.sh
and write the following into your .bashrc
. ~/.speccer_aliases.sh
Then you will have access to the following shortcuts (in bold is an example input to put after the alias).

Each paragraph should hold its title inside its first line
and should end with a line containing ***
.
Then run
speccer -cmd add-multi -sec SCENARIO -resp Jim -set new.md
to add multiple paragraphs to the SCENARIO section as defined in
new.md
with all having the responsible set to Jim.
FEATURE 19 setting multiple comments to a paragraph in one go
RESPONSIBLE benny
STATE PLANNING
LASTUPDATE 2013-11-13
DEADLINE 2013-11-13
ESTIMATEDHOURS 1
Go into a folder that contains your spec.
Create a new file (e.g. new.md
) and write the comments
into this file.
Each comment should hold its author inside the first line
and should end with a line containing ***
You will need to know the position of the paragraph you want to set the comments to. Therefor you might want to first print all positions of the section (here SCENARIO) with
speccer -cmd positions -sec SCENARIO
then you can run
speccer -cmd comment-multi -sec SCENARIO -at 3 -set new.md
to set multiple comments to the 3rd paragraph of the SCENARIO section as defined in new.md
.
FEATURE 20 packing multiple paragraphs to one single paragraph
RESPONSIBLE benny
STATE PLANNING
LASTUPDATE 2013-11-13
DEADLINE 2013-11-13
ESTIMATEDHOURS 1
Go into a folder that contains your spec.
You will need to know the positions of the paragraph you want to pack. Therefor you might want to first print all positions of the section (here SCENARIO) with
speccer -cmd positions -sec SCENARIO
then you can run
speccer -cmd pack -sec SCENARIO -packing '[3,4,5]' -resp Jim -title 'all together'
to pack the paragraphs no 3,4 and 5 of the SCENARIO section into a new paragraph with the title ‘all together’ and the responsible ‘Jim’. The previous titles are inserted as subheadings and the previous paragraphs are deleted.


Plain Notebook
The 2020 prize will be awarded at a ceremony in London on December 1. - Please direct any queries to<EMAIL_ADDRESS>| Height: | 0.5cm |
| width: | 5cm |
| weight: | 50grm |
| SKU | 45861 |
$15.00
The 2020 prize will be awarded at a ceremony in London on December 1. - Please direct any queries to<EMAIL_ADDRESS>| Height: | 0.5cm |
| width: | 5cm |
| weight: | 50grm |
| SKU | 45861 |
$15.00


{{ define "request-monitor" }} {{ if .Requests.TracingEnabled }} {{ end }}
GoFlow monitoring provides execution status of individual requests and traces in the UI. In order to monitor flow function, tracing data must be stored in trace server. GoFlow uses jaeger as a tracing backend
For flow function enable tracing enable_tracing: true
and set trace server url trace_server: "jaegertracing:5775"
Provide the same trace server API url trace_url: "jaegertracing:16686"
in conf.yml


Authors: Giorgio Franceschetti , Vincenzo Gervasio , and Raj Mittra
Source: FERMAT, Volume 3, Article 4, Nov._Dec., 2014
Abstract: Wireless Power Transmission (WPT) was first postulated by Glaser (1968) in connection with his Solar Power Satellite project. However, no significant follow-on steps on this project have been implemented until now, due to the extremely long return times required to recover the large investments that are necessary in this enterprise. Perhaps it is better to invest in projects with more limited scopes, in order to improve the level of scientific and technological competence, and as a stepping stone for more ambitious implementations. This paper examines these intermediate applications that are based on techniques for wireless energy refuelling of high-altitude platforms and airships, a subject area which is of great interest to Homeland Security (HS) and to telecommunication services, among others. The objective of this paper is to highlight the role of the scientific community within this new research area, arguing that the advancement of WPT needs the creation of a “new” science and not just an extension of the existing science that is tailored to information rather than to power transmission. This paper provides a few examples to lend credence as well as support to this assertion.
Index Terms: Airships, atmospheric satellites, electromagnetic momentum, electromagnetic wind, high-altitude platforms, microwaves, rectenna, UAV, wireless power transfer, WPT.
View PDF
A Look at the Wide Spectrum of Wireless Power Transmission


Don't have a download code? Get the EP over on our bandcamp.
Telelectrix is: Steven Borek (synths), Chelcie Gette (vocals), Kate Lindsay (synths), Jake O'Donnell(bass).
All Music & lyrics by Steven Borek except where noted. ✝ Music & lyrics by Steven Borek & Kate Lindsay. ‡ Drums performed by Jason Kaplan.
Produced by Telelectrix.
Drums‡, Vocals, and Bass recorded and mixed by Jon Taft at New Alliance Audio Productions, Cambridge, MA. All synthesizers recorded at Microbaboon Studios and mixed at New Alliance Audio Productions.
Mastered by Jeff Lipton at Peerless Mastering, Boston, MA. Assistant Mastering Engineer: Maria Rice.


I was admitted in class 9 in 2020 in Al Koddus Dakhil Madrasa. Then from 2020 to 2021 I studied from class 9 to 10 in same Madrasa.
I was admitted in class 6 in 2017 in Al Koddus Dakhil Madrasa. Then from 2017 to 2019 I studied from class 6 to 8 in same Madrasa. In November 2019, I took the exam of Junior Dakhil Certificate (JDC). I got A Grade in Junior Dakhil Certificate.
I was admitted in class 1 in 2012 in a Brak School.Then from 2012 to 2016 I studied from class 1 to 5 in same school. In December 2016, I took the final exam of primary education(PEC Exam). I got GPA-3.75 in the final examination of primary education.
"And Allah would not punish them while they seek forgiveness"
Please slide <= right to left <= to show more.
"And whoever puts all his trust in Allah (SWT), He will be enough for him"
"If the sea were ink for the words of my lord, the sea would surely be consumed before the words of my lord are exhausted "
"It may be that you dislike a thing which is good for you and that you like a thing which is bad for you.
"And ask for forgiveness of your Lord and repent to Him. Indeed, my Lord is merciful and loving"
"Indeed, the first house [of worship] established for mankind was that at Makkah – blessed and a guidance for the worlds"
"Do they not see the birds controlled in the atmosphere of the sky? None holds them up except Allah. Indeed in that are signs for a people who believe"
"The good deed and the bad deed are not the same. Return evil with good"


For the demo, we provide two datasets namely 1) case-study and 2) 1000 Genomes datasets that allows to perform pedigree analysis, case-control studies or comparisons across populations.
Case-study dataset: The data from the study "A novel KRT71 variant in curly‐coated dogs" is used for the case-study. This includes 1.1 million variants from 330 samples with one affected sample and 329 unaffected samples.
1000 Genomes dataset: The 1000 Genomes Phase 3 dataset includes 1.2 million variants from 2,504 individuals across 26 populations.
Upload VCF To perform analysis on user specific data please choose the option "Upload VCF" to upload the GQT indexed VCF/BCF files.


The formula for the CBR600RR was simple; take Honda’s ultimate super sports champion - and make it better in every way. Give it more power, more torque and more speed. Give it a more responsive suspension for smoother handling and control. Refine the Dual-Stage Fuel Injection system to give more power throughout the rpm-range. Give Honda’s old favourite a new spin. Now that we’ve finished with her, we think you’ll want to give the CBR600RR a spin, too. We’ve married tradition.
View ProductThis lightweight supersport gets a whole new MotoGP-inspired look that makes it the most radical 300 on the street... or track. Its sleek new bodywork echoes Rossi’s race bike – and the aggressive new dual LED headlights underline its pure R-series DNA. New high-specification 37mm inverted front forks offer enhanced suspension feel and feedback – while a lower fuel tank and revised handlebar position improve rider ergonomics to give you greater comfort and control. Step up to the plate, and enter R-World.
View ProductMT-07LA offers the most fun introduction to the joys of motorcycling for riders Down Under. With power maximised for the LAMs limit, delivered precisely when and where you want it, MT-07LA has that special quality of having heaps of get-up-and-go but without being intimidating. This is helped by a lightweight chassis package, great brakes and sticky tyres. With the new generation MT-07, handling is even more surefooted thanks to increased damping and stiffer springs up front and new rebound adjustment out back. Comfort has also been improved with a new seat.
View ProductMT-07LA offers the most fun introduction to the joys of motorcycling for riders Down Under. With power maximised for the LAMs limit, delivered precisely when and where you want it, MT-07LA has that special quality of having heaps of get-up-and-go but without being intimidating. This is helped by a lightweight chassis package, great brakes and sticky tyres. With the new generation MT-07, handling is even more surefooted thanks to increased damping and stiffer springs up front and new rebound adjustment out back. Comfort has also been improved with a new seat.
View ProductMT-07LA offers the most fun introduction to the joys of motorcycling for riders Down Under. With power maximised for the LAMs limit, delivered precisely when and where you want it, MT-07LA has that special quality of having heaps of get-up-and-go but without being intimidating. This is helped by a lightweight chassis package, great brakes and sticky tyres. With the new generation MT-07, handling is even more surefooted thanks to increased damping and stiffer springs up front and new rebound adjustment out back. Comfort has also been improved with a new seat.
View ProductMT-07LA offers the most fun introduction to the joys of motorcycling for riders Down Under. With power maximised for the LAMs limit, delivered precisely when and where you want it, MT-07LA has that special quality of having heaps of get-up-and-go but without being intimidating. This is helped by a lightweight chassis package, great brakes and sticky tyres. With the new generation MT-07, handling is even more surefooted thanks to increased damping and stiffer springs up front and new rebound adjustment out back. Comfort has also been improved with a new seat.
View Product


Class Trees for Package Batch
Root class AuditMessage
Root class BaseResult
Root class Batch
Root class BatchDelete
Root class BatchDeleteResponse
Root class BatchFetch
Root class BatchFetchResponse
Root class BatchFile
Root class BatchFileDelete
Root class BatchFileDeleteResponse
Root class BatchFileFetch
Root class BatchFileFetchResponse
Root class BatchFileSave
Root class BatchFileSaveResponse
Root class BatchProcess
Root class BatchProcessRequest
Root class BatchProcessResponse
Root class BatchSave
Root class BatchSaveResponse
Root class DeleteRequest
Root class FetchRequest
Root class FilterRequest
Root class FilterResult
Root class IsAuthorized
Root class IsAuthorizedResponse
Root class IsAuthorizedResult
Root class Message
Root class Ping
Root class PingResponse
Root class Profile
Root class SeverityLevel
Root class SoapClient
|


We do not guarantee the accuracy of the information presented here, but hope that this will serve as a useful starting point.
We also reserve the right to remove any submission that is uninformative, speculative and/or misleading.
Alternatively email<EMAIL_ADDRESS>- email transaction slip here, SMS +60193087544 once you have deposited the funds to the account
(From Hanna Saidin's Facebook post)


| I l@ve RuBoard |
The greatest of all weaknesses is the fear of appearing weak.
J. B. Bossuet, Politics from Holy Writ, 1709
One of the cornerstones of the pragmatic philosophy is the idea of taking responsibility for yourself and your actions in terms of your career advancement, your project, and your day-to-day work. A Pragmatic Programmer takes charge of his or her own career, and isn't afraid to admit ignorance or error. It's not the most pleasant aspect of programming, to be sure, but it will happen—even on the best of projects. Despite thorough testing, good documentation, and solid automation, things go wrong. Deliveries are late. Unforeseen technical problems come up.
These things happen, and we try to deal with them as professionally as we can. This means being honest and direct. We can be proud of our abilities, but we must be honest about our shortcomings—our ignorance as well as our mistakes.
Responsibility is something you actively agree to. You make a commitment to ensure that something is done right, but you don't necessarily have direct control over every aspect of it. In addition to doing your own personal best, you must analyze the situation for risks that are beyond your control. You have the right not to take on a responsibility for an impossible situation, or one in which the risks are too great. You'll have to make the call based on your own ethics and judgment.
When you do accept the responsibility for an outcome, you should expect to be held accountable for it. When you make a mistake (as we all do) or an error in judgment, admit it honestly and try to offer options.
Don't blame someone or something else, or make up an excuse.  Any and all of these may play a role, but it is up to you to provide solutions, not excuses.
If there was a risk that the vendor wouldn't come through for you, then you should have had a contingency plan. If the disk crashes—taking all of your source code with it—and you don't have a backup, it's your fault. Telling your boss "the cat ate my source code" just won't cut it.
Tip 3
Provide Options, Don't Make Lame Excuses
Before you approach anyone to tell them why something can't be done, is late, or is broken, stop and listen to yourself. Talk to the rubber duck on your monitor, or the cat.  How's it going to sound to your boss?
Run through the conversation in your mind. What is the other person likely to say? Will they ask, "Have you tried this…" or "Didn't you consider that?" How will you respond? Before you go and tell them the bad news, is there anything else you can try? Sometimes, you just know what they are going to say, so save them the trouble.
Instead of excuses, provide options. Don't say it can't be done; explain what can be done to salvage the situation. Does code have to be thrown out? Educate them on the value of refactoring (see Refactoring). Do you need to spend time prototyping to determine the best way to proceed (see Prototypes and Post-it Notes)? Do you need to introduce better testing (see Code That's Easy to Test and Ruthless Testing) or automation (see Ubiquitous Automation) to prevent it from happening again? Perhaps you need additional resources. Don't be afraid to ask, or to admit that you need help.
Try to flush out the lame excuses before voicing them aloud. If you must, tell your cat first. After all, if little Tiddles is going to take the blame….
How do you react when someone—such as a bank teller, an auto mechanic, or a clerk—comes to you with a lame excuse? What do you think of them and their company as a result?
| I l@ve RuBoard |


Takes an array of group references (ArrayOfIDs) and an integer value to select the index which is connected to the output group reference (RefToConnect).
module ConnectRefToArrayCore <src_file="con_ref.cxx"> { group &ArrayOfIDs<NEportLevels={2,0}>[]; int SelectedIndex<NEportLevels={2,0}>; cxxmethod+notify_inst+req connect( ArrayOfIDs+read+notify+req, SelectedIndex+read+notify+req, RefToConnect+write); group &RefToConnect<NEportLevels={2,0}>; };
Takes an array of group references (ArrayOfIDs) and an integer value to select the index which is connected to the output group reference (RefToConnect). This can be used to generate a dynamic linking mechanism between various input/output ports in a network.
&ArrayOfIDs[]
Takes an array of group references.
SelectedIndex
The array index of the group to connect to the output.
&RefToConnect
Outputs a reference to the selected object in the array.
The low-level module ConnectRefToArrayCore is used in the Connect_func macro. Additionally, these macros also use the Params parameter block group object, as does the ConnectRefUI UI Macro.
An example application ConnectRefToArrayEg is provided.
xp_comm_proj/con_ref/con_mods.v contains the Params group and the ConnectRefToArrayMemberset module V definitions.
The low-level library ConnectRefToArray containing the module ConnectRefToArrayCore does not specify a process. By default the express process will be used.
Brian Selle, Leon Thrane Advanced Visual Systems, Inc.
Ian Guthrie Manchester Visualization Centre


Although the existing inking and note taking apps for tablet like Evernote, OneNote etc. are powerful, but they do not harness all the capabilities of digital medium. Features in these app are limited to most common functions like cut, copy, paste, undo, redo, stroke color changes, etc. The digital medium is very powerful and can do many more things like perform calculations, visualize, search etc. We are trying to embed these features in a note taking app without complicating its interface. We propose a novel stylus based gesture and keyword recognition system that can be used to access these features in simpler way.
Market is flooded with apps that use Inking capabilities, so it was important for us to understand- What all is already existing? What are most common features in inking applications? Gaps in the existing market? Simultaneously, a study of research papers helped us in defining some problems that users face while using inking applications and their solutions.
Design an app for touch devices that uses Inking (Pen based input on digital canvas) as the primary way of input and creation.
Users were questioned to understand their existing inking patterns and needs. Questions for user study encompassed all three aspects of inking i.e. notes, diagrams and drawings. Ten users were interviewed in the process.
We conducted as a way to observe notetaking behavior of users. We asked users to take lecture notes on paper and on tablet. We observed what interactions were natural on paper and how were they different as compared to tablet. Combining these we were able to observe some interaction patterns for the users. Two different activities were undertaken by 5 users each.
Design interactions for a digital note taking application which leverages the experience of paper and the power of digital medium to create more productive content for college students.
We came across some really interesting insights. Users performed micro-interactions like making side notes, “underlining” important points and marking content for later review using different symbols, markers etc. They used other tools in association with the activity of notetaking like calculators, convertors, graphs, etc. They didn't want to think too much while taking notes. They used non-preferred hand for interacting with paper: using one hand to move (reposition) the paper and other to write on paper.
Then we thought about ideas to solve the problem along with scenarios in with scenarios in which they could help. Two scenarios that stood out to us were using a second surface were we can keep notes and second using gestures to perform tasks such as adding reminders, highlighting etc.
Augment capability of notetaking app by providing advanced features using gestures or keywords.
How many additional features does evernote provide as compared to paper? The current app like evernote, one note etc. have only few features like cut, copy, paste, undo redo stroke colour and width change, etc. But digital medium is very powerful and can do many things like perform calculations, visualize, search etc. We are trying to provide these features using a note taking app. These functions have common umbrella of accessing them i.e. pen based gestures/ keywords. A prototype with animation and gestures was designed using powerpoint.
Novelty of the app lies in the way user interacts with the system to perform common tasks. The gestures are adopted from the daily behavior of user while taking notes.


Please mark all references to President Barak
Obama in this text. A reference can be the full name, only last
name or a proposition (he, his, etc). Please mark all words that are
part of the reference. To mark a word, click on the word in the
text. The word will
become hightlighted. If you made a
mistake, simply click again.
For example:
Obama was elected to the Illinois Senate in 1996.


IRepeatInfoUser interface.
This interface must be implemented by classes who want to use TRepeatInfo.
Located in /Web/UI/WebControls/TRepeatInfo.php (line 24)
Renders an item.
Documentation generated on Mon, 22 Feb 2010 12:18:32 +0000 by phpDocumentor 1.3.0RC4


Google+ Community
Meetup Group
You now have:
Looking for more Web App layouts? Check out our layouts collection. You can also preview them live.
This is another card.
Members
Member:{{params.name}}
This is {{params.name}}'s section
Jobs
This is the jobs section
JobJob:{{params.name}}
This is {{params.name}}'s section
Contact
This is the contact section


This file contains the class Tools that contains some methods for the analysis of the BES pictures and the file defines some function for checking the convergence, helping with the input file or creating some plots of the different quantities. It can be a good start to understand how the code works.
Defines a few tools for doing some computations on the BES image
Two different methods of initialization have been made: The first one is the usual __init__ function that take as input the photon radiance, the R,Z coordinates and the psin value, and the second one read a npz file with a standard order and calls the __init__ method.
| Parameters: |
|
|---|
Make a movie from the data and save it in movie_comp.mp4 self should be the density fluctuation
| Parameters: |
|
|---|
Make a picture from the data.
| Parameters: |
|
|---|
Plot the radial correlation for each instance of tools (plus self) and for the reference plane.
| Parameters: |
|
|---|
Plot a comparison of the time correlation for each instance of tools (plus self)
| Parameters: |
|
|---|
Show the vertical correlation as a function of the distance for each instance in tools (plus self).
| Parameters: |
|
|---|
Show the characteristic length of the radial correlation length as a function of the radial position for two different diagnostics.
| Parameters: |
|
|---|
Plot or just compute the shape of the crosscorrelation from the point R[0],Z[0]
| Parameters: |
|
|---|---|
| Returns: | If (figure == False), the correlation and its fourier transform are returned. The size of the two arrays is defined by the cutoff limits (dr_max,dkr_max,...)) |
| Return type: | (np.array[R,Z],np.array[R,Z]) |
Make a movie from the data and save it in movie_fl.mp4
| Parameters: |
|
|---|
Plot a graph of the fluctuation
| Parameters: |
|
|---|
Load of file in the numpy format (npz)
The data inside it should be in the following order: [I,psin,pos_foc,...]
| Parameters: |
|
|---|---|
| Returns: | New instance variable |
| Return type: | Tools |
Interpolate all the data on a spatial mesh and create this mesh. The interpolation is done for each timestep
| Parameters: |
|
|---|---|
| Returns: | r,z of the mesh and I on the mesh |
| Return type: | tuple(np.array[Nr],np.array[Nz],np.array[Ntime,Nr,Nz]) |
Radial correlation for the reference plane.
| Parameters: |
|
|---|---|
| Returns: | (if figure == False) Distance from the reference point, correlation and index used from the fiber |
| Return type: | tuple(np.array[Nr],np.array[Nr],np.array(shape=Nfib,dtype=bool)) |
Compute the time correlation and can show it.
| Parameters: |
|
|---|---|
| Returns: | (if figure==False) Time and the associated value of correlation |
| Return type: | tuple(np.array[2*cut+1],np.array[2*cut+1]) |
Show the characteristic length of the vertical correlation length as a function of the radial position
| Parameters: |
|
|---|---|
| Returns: | If (figure == False), the radius and the correlation are returned. :rtype: (np.array[Nr],np.array[Nr]) |
Compare the beam density of the equilibrium case and of the equilibrium+fluctuations case
Three plots will be done: a first one with the relative difference between the equilibrium and the fluctuation cases, a second one with the absolute value of both and the last one shows the ratio of each components as a function of the distance
Shows the effect of the beam density on the emission and the effect of the lifetime.
Three plots will be done: a first one with the emission without the lifetime, a second one with lifetime and a last one that show the relative difference between the two
| Parameters: |
|
|---|
Plot the error of the beam density at the last computed point as a function of the number of intervals.
| Parameters: |
|
|---|
Plot the error of the field line following integration as a function of the integration step at the position given by the focus point of the fiber and by phi
| Parameters: |
|
|---|
Plot the error of the field line following interpolation as a function of the step size of the field line integration at the position given by the focus point of the fiber and by phi
| Parameters: |
|
|---|
Plot the error as a function of the number of interval for the computation of the emission with lifetime.
| Parameters: |
|
|---|
Plot the error of the image captured by a fiber as a function of the number of interval for the integration along the optical axis
| Parameters: |
|
|---|
Plot the error of the solid angle as a function of the number of interval for R and \(\Theta\)
Is used for checking the convergence to the analytical formula in the case where the intersection tends to a single point
| Parameters: |
|
|---|
Use the coordinate of a fiber for making a field line integration on Nrot tour and plot the value of \(\psi_n\) at each toroidal planes.
| Parameters: |
|
|---|
Plot the geometry read by the synthetic diagnostics The default Tokamak is the D3D (only a very simple model of the tokamak is considered)
| Parameters: |
|
|---|
Help to compute the value to put inside the config file
| Parameters: |
|
|---|
Compute the scaling factor relating the density fluctuations to the BES fluctuations: \(C\frac{\tilde{I}}{I}=\frac{\tilde{n}_e}{n_e}\) This code is more or less a copy of the BES code, therefore it should be changed if the main code is changed
| Parameters: |
|
|---|---|
| Returns: | Position (R or (R,Z)), the coefficient C and the difference between I_fl and I |
| Return type: | (np.array[Nr])*3 or (np.array[Nr])*4 |
Create a R-Z mesh and interpolate the data on it. Is useful for checking if the data are well interpolated
| Parameters: |
|
|---|
When doing two simulations on a different time intervals, this function can be used to put the output in one file.
Use the function compute_scaling_factor() for computing the dependency on the temperature and density fluctuations


Toggle navigation
Home
About
Download
Updates
Music
Shop
Photos
Credits
Contact
Toggle navigation
Credits
Toggle navigation
Home
About
Download
Updates
Music
Shop
Photos
Contact
Updates


Oh! We understand now! We will send a team out at once to research the location!
One thing the eternals were known for was their dedication to supporting the community around them - especially when it came to their local tavern! Despite a global pandemic this dynamic duo made the painful sacrifice
of eating food in their pajamas in the comfort of their own home. The eternals have been such a boon for the tavern that they even helped them survive the great pickle famine that devastated many eateries in the area.
The eternals are truly dedicated to their closest companions and regularly bring them to their local tavern in preparation for future adventures. While the tavern itself hasn't been of any significant note - the role it has
played as a safe haven during many other experiences and tribulations makes it a place we'd like to study further.
What we want to figure out is how the tavern has survived this long. We know the eternals supported it through a pandemic and pickle famine, but there are numerous records of bird swarms in that era. Somehow this
tavern has kept these birds away - it's almost like there are stalwart guardians protecting it! If you were to keep all the birds away, I wonder how many guardians it would take...


Theme comes with two different changelogs, timeline and post style.
Timeline style changelog
Timeline changelog can be added to a page using an include and its data is pulled from a _data/changelog.yml
data file. This changelog is suitable for simple lists of changes.
Add changelog to a page using the following include:
{% include changelog.html %}
Changelog enties are added in _data/changelog.yml
:
- title: Version 0.6.0
label:
date: Aug 15, 2017
list:
- Added style support for radio and checkbox in Firefox
- Removed class from Section component
Post style changelog
This changelog is suitable for changelog entries with more content beyond simple lists adding text and media.
Post styled changelog is displayed by setting layout: changelog
in page YAML Front Matter:
---
layout: changelog
title: Changelog
permalink: /changelog/
---
Changelog enties are added by creating posts in _changelog
:
---
title: January Updates
date: 2019-01-22
---
{% include tag.html tag="added" %}
- Some scheduled changelogs, tweets, and slack messages queued up this weekend and were not published on time. We fixed the issue and all delayed publications should be out.
- We now prioritize keywords over title and body so customers can more effectively influence search results
latency)
- Search engine upgraded. Bringing with it enhancements and bug fixes.
- Replaced login / registration pre-app screens with a cleaner design
{% include tag.html tag="fixed" %}
- Fixed an issue with the sync autolinker only interlinking selectively.
- Fixed up an issue with prematurely logging out users
Tags can be modified in _data/tags.yml
:
added:
text: Added
color: "#3778ff"
changed:
text: Changed
color: "#3aaa55"


{% include 'menu.html' %}
404 : Not Found
You are requesting a page that does not exist!
The remote resource was not found.


To get going, get the application id and password from Google Developer Console (see https://developers.google.com/youtube/v3/getting-started). Enable YouTube APIs. Create OAuth credentials, being sure to select ‘Other’ as your Application Type. Then set the application id and password via the yt_oauth
function. For more information about YouTube OAuth, see YouTube OAuth Guide.
Get Caption of a Video
## <?xml version="1.0" encoding="utf-8"?>
## <transcript>
## <text start="6.614" dur="1.549">Every four seconds,</text>
## <text start="8.163" dur="1.534">someone is diagnosed with</text>
## <text start="9.697" dur="1.885">Alzheimer's disease.</text>
## <text start="11.582" dur="2.172">It's the most common cause of dementia,</text>
## <text start="13.754" dur="2.859">affecting over 40 million people worldwide,</text>
## <text start="16.613" dur="2.52">and yet finding a cure is something that still</text>
## <text start="19.133" dur="2.482">eludes researchers today.</text>
## <text start="21.615" dur="3.273">Dr. Alois Alzheimer, a German psychiatrist,</text>
## <text start="24.888" dur="3.047">first described the symptoms in 1901</text>
## <text start="27.935" dur="2.46">when he noticed that a particular hospital patient</text>
## <text start="30.395" dur="1.917">had some peculiar problems,</text>
## <text start="32.312" dur="1.803">including difficulty sleeping,</text>
## <text start="34.115" dur="3.37">disturbed memory, drastic mood changes,</text>
## <text start="37.485" dur="2.166">and increasing confusion.</text>
## <text start="39.651" dur="1.877">When the patient passed away,</text>
## <text start="41.528" dur="2.211">Alzheimer was able to do an autopsy</text>
## <text start="43.739" dur="2.04">and test his idea that perhaps</text>
## <text start="45.779" dur="2.421">her symptoms were caused by irregularities</text>
## <text start="48.2" dur="1.963">in the brain's structure.</text>
## <text start="50.163" dur="1.951">What he found beneath the microscope</text>
## <text start="52.114" dur="2.473">were visible differences in brain tissue</text>
## <text start="54.587" dur="2.194">in the form of misfolded proteins</text>
## <text start="56.781" dur="1.334">called plaques,</text>
## <text start="58.115" dur="2.433">and neurofibrillary tangles.</text>
## <text start="60.548" dur="2.378">Those plaques and tangles work together</text>
## <text start="62.926" dur="2.419">to break down the brain's structure.</text>
## <text start="65.345" dur="1.792">Plaques arise when another protein</text>
## <text start="67.137" dur="2.643">in the fatty membrane surrounding nerve cells</text>
## <text start="69.78" dur="2.697">gets sliced up by a particular enzyme,</text>
## <text start="72.477" dur="2.585">resulting in beta-amyloid proteins,</text>
## <text start="75.062" dur="1.799">which are sticky and have a tendency</text>
## <text start="76.861" dur="1.587">to clump together.</text>
## <text start="78.448" dur="1.952">That clumping is what forms the things</text>
## <text start="80.4" dur="2.131">we know as plaques.</text>
## <text start="82.531" dur="1.793">These clumps block signaling</text>
## <text start="84.324" dur="1.502">and, therefore, communication</text>
## <text start="85.826" dur="2.336">between cells, and also seem to trigger</text>
## <text start="88.162" dur="2.536">immune reactions that cause the destruction</text>
## <text start="90.698" dur="2.134">of disabled nerve cells.</text>
## <text start="92.832" dur="2.782">In Alzheimer's disease, neurofibrillary tangles</text>
## <text start="95.614" dur="3.085">are built from a protein known as tau.</text>
## <text start="98.699" dur="2.89">The brain's nerve cells contain a network of tubes</text>
## <text start="101.589" dur="2.024">that act like a highway for food molecules</text>
## <text start="103.613" dur="1.563">among other things.</text>
## <text start="105.176" dur="2.543">Usually, the tau protein ensures that these tubes</text>
## <text start="107.719" dur="2.256">are straight, allowing molecules</text>
## <text start="109.975" dur="1.917">to pass through freely.</text>
## <text start="111.892" dur="1.709">But in Alzheimer's disease,</text>
## <text start="113.601" dur="3.463">the protein collapses into twisted strands or tangles,</text>
## <text start="117.064" dur="1.832">making the tubes disintegrate,</text>
## <text start="118.896" dur="2.505">obstructing nutrients from reaching the nerve cell</text>
## <text start="121.401" dur="2.628">and leading to cell death.</text>
## <text start="124.029" dur="2.336">The destructive pairing of plaques and tangles</text>
## <text start="126.365" dur="2.332">starts in a region called the hippocampus,</text>
## <text start="128.697" dur="2.419">which is responsible for forming memories.</text>
## <text start="131.116" dur="1.713">That's why short-term memory loss</text>
## <text start="132.829" dur="2.702">is usually the first symptom of Alzheimer's.</text>
## <text start="135.531" dur="1.884">The proteins then progressively invade</text>
## <text start="137.415" dur="1.616">other parts of the brain,</text>
## <text start="139.031" dur="1.834">creating unique changes that signal</text>
## <text start="140.865" dur="2.416">various stages of the disease.</text>
## <text start="143.281" dur="1.235">At the front of the brain,</text>
## <text start="144.516" dur="3.536">the proteins destroy the ability to process logical thoughts.</text>
## <text start="148.052" dur="3.168">Next, they shift to the region that controls emotions,</text>
## <text start="151.22" dur="2.337">resulting in erratic mood changes.</text>
## <text start="153.557" dur="1.224">At the top of the brain,</text>
## <text start="154.781" dur="2.364">they cause paranoia and hallucinations,</text>
## <text start="157.145" dur="2.053">and once they reach the brain's rear,</text>
## <text start="159.198" dur="1.999">the plaques and tangles work together</text>
## <text start="161.197" dur="2.418">to erase the mind's deepest memories.</text>
## <text start="163.615" dur="1.621">Eventually the control centers governing</text>
## <text start="165.236" dur="2.794">heart rate and breathing are overpowered as well</text>
## <text start="168.03" dur="1.796">resulting in death.</text>
## <text start="169.826" dur="2.039">The immensely destructive nature of this disease</text>
## <text start="171.865" dur="2.999">has inspired many researchers to look for a cure</text>
## <text start="174.864" dur="3.752">but currently they're focused on slowing its progression.</text>
## <text start="178.616" dur="1.387">One temporary treatment</text>
## <text start="180.003" dur="2.627">helps reduce the break down of acetylcholine,</text>
## <text start="182.63" dur="2.653">an important chemical messenger in the brain</text>
## <text start="185.283" dur="2.519">which is decreased in Alzheimer's patients</text>
## <text start="187.802" dur="3.063">due to the death of the nerve cells that make it.</text>
## <text start="190.865" dur="2.316">Another possible solution is a vaccine</text>
## <text start="193.181" dur="2.461">that trains the body's immune system to attack</text>
## <text start="195.642" dur="3.587">beta-amyloid plaques before they can form clumps.</text>
## <text start="199.229" dur="2.801">But we still need to find an actual cure.</text>
## <text start="202.03" dur="1.75">Alzheimer's disease was discovered</text>
## <text start="203.78" dur="1.669">more than a century ago,</text>
## <text start="205.449" dur="2.664">and yet still it is not well understood.</text>
## <text start="208.113" dur="1.667">Perhaps one day we'll grasp</text>
## <text start="209.78" dur="2.916">the exact mechanisms at work behind this threat</text>
## <text start="212.696" dur="2.214">and a solution will be unearthed.</text>
## </transcript>
##
Search Videos
## publishedAt channelId title
## 1 2016-09-06T11:20:20.000Z UC6CZwQv8cbZco3wOwtp7W2g See How Obama Ignored Xi Jinping & Welcomed PM Modi At G20 Summit !
## 2 2016-09-05T06:01:17.000Z UC6RJ7-PaXg6TIH2BzZfTV7w PM Modi Meets Barack Obama at G20 Summit 2016
## 3 2008-03-24T16:31:53.000Z UC4o-h3-3GhrmHB6ytgO3oIQ Top 20 Obama Pastor Comments You Never Saw
## 4 2016-09-03T06:43:38.000Z UC5aeU5hk31cLzq_sAExLVWg LIVE: Obama arrives in China for G20 summit
## 5 2016-09-20T01:30:42.000Z UCmWHDwXFvdKc8OVBbb2dMZg Buy Lot of 20 Obama, 44th U.S. President, 56th Presidential Inauguration coins!
## 6 2016-09-03T06:57:05.000Z UCgrNz-aDmcr2uuto8_DL2jg US President Obama arrives in Hangzhou for G20 Summit