Source code for metabasic.metabasic
from typing import Any, Dict, Optional
import inquirer
import requests
from pandas import DataFrame
from .exceptions import AuthError, ConfigError
[docs]class Metabasic(object):
"""Instantiates a new Metabasic Client
Arguments:
domain (str): The domain of the metabase host (i.e. http://my-metabase-host.com)
session_id (Optional[str]): The metabase session id.
database_id (Optional[int]): The metabase database id.
"""
def __init__(
self,
domain: str,
session_id: Optional[str] = None,
database_id: Optional[int] = None,
):
self.domain: str = domain
self.session_id: Optional[str] = session_id
self.database_id: Optional[int] = database_id
[docs] def query(self, query: str) -> Dict[Any, Any]:
"""Queries the currently selected database.
Arguments:
query (str): The query to run against the currently selected database.
Raises:
AuthError: Raised if the client is unauthenticated.
ConfigError: Raised if the client is unconfigured.
Exception: Raised if an unexpected response is received.
Returns:
(List[List[Any]]): The results of the query.
"""
self.__check_auth()
self.__check_config()
headers = {
"Content-Type": "application/json",
"X-Metabase-Session": self.session_id,
}
body: Dict[str, Any] = {
"database": self.database_id,
"native": {"query": query},
"type": "native",
}
resp = requests.post(f"{self.domain}/api/dataset", json=body, headers=headers)
if resp.status_code != 202:
raise Exception(resp)
return resp.json()["data"]
[docs] def get_dataframe(self, query: str) -> DataFrame:
"""Queries the currently selected database, returning a Pandas DataFrame.
Arguments:
query (str): The query to run against the currently selected database.
Returns:
pd.DataFrame: The results of the query wrapped into a Pandas DataFrame.
"""
res = self.query(query)
df = DataFrame(res["rows"], columns=[i["name"] for i in res["cols"]])
return df
[docs] def authenticate(self, email: str, password: str) -> "Metabasic":
"""Authenticates the client instance with the given email & password.
Arguments:
email (str): The email address to authenticate with.
password (str): The password to authenticate with.
Raises:
Exception: Raised if an unexpected response is received.
"""
headers = {"Content-Type": "application/json"}
body = {"username": email, "password": password}
resp = requests.post(f"{self.domain}/api/session", json=body, headers=headers)
if resp.status_code != 200:
raise Exception(resp)
self.session_id = resp.json()["id"]
return self
[docs] def select_database(self) -> "Metabasic":
"""Start an interactive selection of available databases
Raises:
AuthError: Raised if the client is unauthenticated.
Exception: Raised if an unexpected response is received.
"""
self.__check_auth()
headers = {
"Content-Type": "application/json",
"X-Metabase-Session": self.session_id,
}
resp = requests.get(f"{self.domain}/api/database", headers=headers)
if resp.status_code != 200:
raise Exception(resp)
databases = {db["name"]: db["id"] for db in resp.json()}
prompt = [inquirer.List("name", message="Database", choices=databases.keys())]
target = inquirer.prompt(prompt)
self.database_id = databases[target["name"]]
return self
def __check_auth(self):
if not self.session_id:
raise AuthError(
"Client is unauthenticated.",
"Provide a session_id or start a new session with the authenticate method.",
)
def __check_config(self):
if not self.database_id:
raise ConfigError(
"Client is not configured",
"Provide a database_id or select a one with the select_database method.",
)


Titanica (1992) Imax Corporation documentary directed and produced by Stephen Low. 40 minutes (a 94 minute version is also in circulation). NR, 3.5 (out of five stars)
Review by Ed Johnson-Ott, NUVO Newsweekly www.nuvo-online.com/film/ Archive reviews at http://us.imdb.com/M/reviews_by?Edward+Johnson-ott
This 40 minute Titanic is a beautiful, eerie piece of work, plunging 12, 500 feet beneath the unforgiving waters of the North Atlantic to examine the remains of the doomed ship. After seeing James Cameron's epic, gazing at the real thing becomes even more chilling.
The camera glides silently through the watery depths, capturing ghostly images: dinnerware strewn over the ocean floor, the remains of the steering mechanism of the captain's wheel, J.P. Morgan's cabin. For me, the line between fiction and reality blurred for just a moment, as I caught myself scanning the sandy sea bottom looking for Rose's necklace.
Intercut with the remarkable deep sea footage are vintage photographs of the ship and an interview with Eva Hart, who was 7 years old when her father placed her in the lifeboat and said "Be a good girl, hold mummy's hand." She never saw him again.
Eva's commentary is memorable. "I was calm until I saw the ship sinking and heard the people screaming," she explains in quiet tones, "I remember everything." Sitting in her English garden, the elderly woman reflects on the ship billed as unsinkable, saying "Mother thought to call it unsinkable was flying in the face of the Almighty."
Hart was worried when she heard about the 1985 discovery of the wreckage, fearing the site would be looted. Two years later it was. "They robbed a grave," she says, "The IMAX Titanic expedition weren't going down to plunder it. I think it's splendid."
The documentary is splendid as well. Commentary from a salty Russian expedition member adds welcome humor while maintaining the dignity such an excursion demands. Even in the huge theater, you feel a bit claustrophobic watching the two small submersibles fighting the incredible deep sea pressure as they head for the ocean floor. The photography is stunning, amazingly well-lighted and so clear that in some scenes it's difficult to remember that there is water between the camera and the remnants of the ship.
The film ends with an appropriate and touching gesture, as the crew leaves a bundle of flowers on the ocean floor, "for the children of Titanic." Like "Titanic," "Titanica" is a thoughtful remembrance of the lives lost when mankind's reach exceeded its grasp.
© 1998 Ed Johnson-Ott
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The essential function of the Web in conjunction with the internet is to exchange information over a digital platform with other users around the globe. Web accessibility is absolutely vital in order to uphold this basic purpose of the internet. The W3C described web accessibility as the “means that websites, tools, and technologies are designed and developed so that people with disabilities can use them” (Web Accessibility Initiative). The variety of disabilities includes “all visual, auditory, physical, speech, cognitive, and all other neurological disabilities that make it difficult or impossible to use any website” (Walker). To put the importance of accessibility into a better perspective, around 15% of the world’s population, to include about 19% of American people, are disabled (Walker). This enormous figure would equate to roughly a billion people worldwide and it is impossible to ignore this figure.To blatantly ignore the importance of accessibility in the development of a new website would be a serious violation of the morals, ethics, and responsibilities a creator owes to their consumers. However, putting aside the moral responsibilities a creator has to their consumers, web accessibility garners loyalty and trust to potential customers: the two hallmarks of a successful business. The benefits of accessibility not only favor disabled users but also everyone. Web accessibility “helps you rank better on search engines, improve conversion rates, optimize your site's overall performance and create more loyal and satisfied users” (Gevorkian). Though it seems daunting to incorporate additional features to improve web accessibility, there are a multitude of resources and tools available online to help. The W3C Web Accessibility Initiative developed several comprehensive lists, guidelines. and references on the accessibility solutions. The Accessible Rich Internet Applications (ARIA) also has a list of standards in incorporating these features into web applications that benefit disabled people. Ultimately, “access to information and communications technologies, including the Web, is defined as a basic human right in the United Nations Convention on the Rights of Persons with Disabilities” (Web Accessibility Initiative). With the rapid growth in technology and the unending growth of the world’s population, the importance of accessibility in web design is mandatory to the natural and organic growth of the internet.


A MOMENT OF INNOCENCE (NUN VA GOLDOON)
Reviewed by Harvey Karten New Yorker Films/MK2 Productions Director: Mohsen Makhmalbaf Writer: Mohsen Makhmalbaf Cast: Ali Bakhsi, Mohsen Makhmalbaf, Maryann Mohamadamini, Ammar Tafti, Mirhadi Tayebi, Moharram, Zaynalzadeh
Surely you've had at least one moment in your life that you consider one of consummate meaning, that gives essence to your being and which you mull over in the mind and in your dreams. Iran's great director, Mohsen Makhmalbaf, had one single particular which impacted so greatly on his life that the incident never left his consciousness. With the resources at his command, however, he was able to do with this moment what most of us can only dream of accomplishing. He dramatized the episode for the motion picture screen, shaping the affair in a way that would be not only entertaining for people of various cultures but would cause them to stop and think, "If only I did things a little bit differently, how my personal history would have changed!"
Makhmalbaf was, like many artists of his time, opposed to the Iranian regime under the Shah, a government which he believed ignored the authentically pious identity of its people and sided far too greatly with the cultures of the West, particularly the United States. As a form of protest in 1976, he tried to disarm a policeman, using a young woman to distract the officer, and in the process stabbed the poor man and wound up with a five-year sentence in jail, where he was tortured and his life threatened. In 1996, when "A Moment of Innocence" (known in Farsi as "Nun va Goldoon") was filmed, he hired actors to re-enact that situation using the actual officer whom he victimized twenty years earlier to direct a younger version of himself! Now, there's a concept that would have pleased the great Sicilian playwright, Luigi Pirandello, whose staged works questioned the nature of reality and pondered the relationship of art to life.
Given the nature of the human beast to forgive especially when there is some reward attached to absolution, the officer in question has no desire for vengeance against his attacker but is far more absorbed in training a young actor to come across to the movie audience as a dashing young man. It's no wonder, therefore, that when asked to choose from a line- up of 17-year-old applicants for the job, he picks the handsomest lad rather than the best performer. When his choice is vetoed by the director, Mohsen Makhmalbaf (playing himself), he stalks off angrily but is drawn quickly back to the studio as his vanity gets the better of him.
Meanwhile Makhmalbaf, coaching the younger version of himself, instructs the 17-year-old about the ironic nature of his confrontation with the police officer. He had used an attractive young woman to distract the victim, sending her each day to ask for the time or for directions, so that the officer thought the woman was showing a romantic interest in him. The policeman was determined to give a flower to the woman but the thought of doing so made his hand tremble. How heartbreaking to find out that this lovely person draped in a black chodor was simply using him, setting him up for a tragedy!
Since art is never the same as life, things do not work out in the photographic re-enactment quite as they did twenty years previous. In fact a far warmer turn of events transpires in the present, one if, hit come to pass in '76, would have changed Makhmalbaf's life significantly and might even have led to choose a career other than film-making.
For lovers of Pirandello-like films and for people who never heard of the Sicilian dramatist but who like to ponder what-if's of human existence, "A Moment of Innocence" is a moment of meta-cinematic intensity. If you had seen that director's "The Silence" immediately preceding as I did, you'd not have believed the two movies were by the same fellow, as "Innocence" accommodates a less meditative, wittier, lighter touch with quite a bit more depth of plot--involving other people in the director's life whom he takes his protege to meet and with whose daughter the young colleague is about to recapitulate the older man's experience. The most humorous scene involves a tailor who is fashioning a general's costume for the would-be cop, a man who looks with fondness to some of the great American films of the past like "Spartacus" and the works of John Ford. Weaving memories of the past into an artistic re-creation, the Iranian director scores with a subtle, diverting, and many-tiered comedy-drama.
Not Rated. Running Time: 74 minutes. (C) 1999 Harvey Karten
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
BitShares-Core
6.1.0
BitShares blockchain implementation and command-line interface software
|
Withdraw from a liquidity pool. More...
#include <liquidity_pool.hpp>
Classes | |
| struct | fee_parameters_type |
Public Member Functions | |
| account_id_type | fee_payer () const |
| void | validate () const |
| Public Member Functions inherited from graphene::protocol::base_operation | |
| virtual | ~base_operation ()=default |
| template<typename T > | |
| share_type | calculate_fee (const T ¶ms) const |
| virtual void | get_required_authorities (vector< authority > &) const |
| virtual void | get_required_active_authorities (flat_set< account_id_type > &) const |
| virtual void | get_required_owner_authorities (flat_set< account_id_type > &) const |
| fc::optional< fc::future< void > > | validate_parallel (uint32_t skip) const |
Public Attributes | |
| asset | fee |
| Operation fee. More... | |
| account_id_type | account |
| The account who withdraws from the liquidity pool. More... | |
| liquidity_pool_id_type | pool |
| ID of the liquidity pool. More... | |
| asset | share_amount |
| The amount of the share asset to use. More... | |
| extensions_type | extensions |
| Unused. Reserved for future use. More... | |
Additional Inherited Members | |
| Static Public Member Functions inherited from graphene::protocol::base_operation | |
| static uint64_t | calculate_data_fee (uint64_t bytes, uint64_t price_per_kbyte) |
Withdraw from a liquidity pool.
Definition at line 94 of file liquidity_pool.hpp.
|
inline |
Definition at line 105 of file liquidity_pool.hpp.
|
virtual |
Reimplemented from graphene::protocol::base_operation.
Definition at line 53 of file liquidity_pool.cpp.
| account_id_type graphene::protocol::liquidity_pool_withdraw_operation::account |
The account who withdraws from the liquidity pool.
Definition at line 99 of file liquidity_pool.hpp.
| extensions_type graphene::protocol::liquidity_pool_withdraw_operation::extensions |
Unused. Reserved for future use.
Definition at line 103 of file liquidity_pool.hpp.
| asset graphene::protocol::liquidity_pool_withdraw_operation::fee |
Operation fee.
Definition at line 98 of file liquidity_pool.hpp.
| liquidity_pool_id_type graphene::protocol::liquidity_pool_withdraw_operation::pool |
ID of the liquidity pool.
Definition at line 100 of file liquidity_pool.hpp.
| asset graphene::protocol::liquidity_pool_withdraw_operation::share_amount |
The amount of the share asset to use.
Definition at line 101 of file liquidity_pool.hpp.


[gecode-users] counting constraint with BoolVarArgs
Philippe
aqwzsxaqwzsx at orange.fr
Tue Aug 6 15:46:02 CEST 2013
Hello Everybody,
I need to count the number of 'true' values stored in a BoolVarArray
(accessed through a Matrix<BoolVarArgs>). However, the counting constraint
(as described page 63 of gecode 4.2.0 manual) only takes integer variables.
Thus, the following pseudo-code doesn't work :
BoolVarArray _FPR(*this, _Na, _Ne);
IntVarArray _NFPR(*this, _Na);
Matrix<BoolVarArgs> fpr(_FPR, _Na, _Ne);
for(int i = 0 ; i < _Na ; ++i)
{
// after count's call,
// _NFPR[i] = number of 'true' in fpr.row(i)
count(*this, fpr.row(i), true, IRT_EQ, _NFPR[i]);
}
1) What is the reason to forbide BoolVar in count ?
2) Is it legal (don't think so) to write :
Matrix<IntVarArgs> fpr(_FPR, _Na, _Ne);
for(int i = 0 ; i < _Na ; ++i)
count(*this, fpr.row(i), 1, IRT_EQ, _NFPR[i]);
3) Or do I need to replace fpr's definition by :
Matrix<IntVarArgs> fpr(_FPR, _Na, _Ne);
4) Or, do I need to use channeling ?
But i don't find the way to express it
It seems that the tips page 67 is not relevant here.
help please !
5) Or something else ?
Thanks for any help,
Philippe
More information about the users
mailing list


Snapshot Event logging manager for logging blocks of memory, strings in memory
and names of dynamically created objects
The following configuration script shows the simplest way
to configure an application to use log snapshot events:
The second line causes the LogSnapshot .xs script to run during the configuration
process when building the application. The script detects that a logger has
not been assigned to the LogSnapshot module, so it checks if
a logger has been configured for either the Main module or the Defaults module.
Since there is a logger for the Main module, the script configures the LogSnapshot
module to log events to the same logger instance.
The following is an example of the configuration script used
to configure the default mask for modules to have Analysis events such as
the UIASnapshot events always on.
| struct LogSnapshot_EventRec |
|
The target representation of a recorded event
typedef struct LogSnapshot_EventRec {
// time event was written
Bits32 serial;
// serial number of event
// target encoding of an Event
UArg snapshotId;
IArg fmt;
Ptr pData;
UInt16 lengthInMAUs;
// arguments passed via Log_write/print
} LogSnapshot_EventRec;
DETAILS
This structure defines how events are recorded on the target.
| config LogSnapshot_injectIntoTraceFxn // module-wide |
|
Callback function that handles injection of info such as serial numbers
of sync point events, context change events or snapshot events into a
hardware trace stream. (e.g. GEM CPU Trace, System Trace, etc.)
DETAILS
Users can provide their own custom injectIntoTraceFxn to log whatever
additional information they wish to record when the hook function is called.
For example, event serial numbers can be injected into the CPU
trace stream and / or STM trace stream in order to enable correlation
of information logged in these streams with UIA software events.
EXAMPLES
Example 1: Correlating events with C64X+ and C66 CPU Trace
The following is an example of the configuration script used
to inject serial numbers of sync point events or context change events or
snapshot Ids associated with snapshot events.
Note that the GemTraceSync module's .xs script takes care of finding
all modules that implement the IUIATraceSyncClient and assigning the
GemTraceSync_injectIntoTrace function pointer to those modules'
injectIntoTraceFxn config option.
//The following 3 modules all implement the IUIATraceSyncClient interface
var LogSnapshot = xdc.useModule('ti.uia.runtime.LogSnapshot');
var LogCtxChg = xdc.useModule('ti.uia.runtime.LogCtxChg');
var LogSync = xdc.useModule('ti.uia.runtime.LogSync');
//For C66 devices, replace the following line with
// var GemTraceSync = xdc.useModule('ti.uia.family.c66.GemTraceSync');
var GemTraceSync = xdc.useModule('ti.uia.family.c64p.GemTraceSync');
Example 2: How to create a custom hook function
and assign it to the LogSnapshot module
The following is an example of a 'C' code program that implements
a hook function that prints out the snapshot ID that is passed in
as the serialNumber
#include <xdc/std.h>
#include <xdc/runtime/Gate.h>
#include <ti/uia/runtime/IUIATraceSyncProvider.h>
#include <ti/uia/runtime/LogSnapshot.h>
#include <stdio.h>
#include <string.h>
extern Void myHookFxn(UInt32 serialNumber, IUIATraceSyncProvider_ContextType ctxType);
Void Test();
char name[32]={"Bob"};
UInt32 newAppId = 0;
Void myHookFxn(UInt32 serialNumber, IUIATraceSyncProvider_ContextType ctxType){
volatile UInt32 syncWord;
IArg key = Gate_enterSystem();
printf("newAppId written with serialNumber %d and ctxType = %d\n",serialNumber,ctxType);
Gate_leaveSystem(key);
}
Void Test(){
// note that the hook function is triggered by calling LogSnapshot_getSnapshotId()
// since that is where the unique snapshot ID that is passed to the
// hook function is generated.
Int snapshotId = LogSnapshot_getSnapshotId();
LogSnapshot_writeString(snapshotId,"User-defined name=%s.",name, strlen(name));
}
Void main(){
while(TRUE){ Test(); }
}
In order to have the above user-defined function called by the LogSnapshot
module whenever it writes an event, the following configuration script
is needed:
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
var LogSnapshot = xdc.useModule('ti.uia.runtime.LogSnapshot');
var IUIATraceSyncClient = xdc.useModule('ti.uia.runtime.IUIATraceSyncClient');
LogSnapshot.injectIntoTraceFxn = $externFxn('myHookFxn');
SEE
| config LogSnapshot_isTimestampEnabled // module-wide |
|
used to enable or disable logging the 64b local CPU timestamp
at the start of each event
extern const Bool LogSnapshot_isTimestampEnabled;
| config LogSnapshot_loggerObj // module-wide |
|
handle of the logger that is to be used to log snapshot events
extern const Ptr LogSnapshot_loggerObj;
| config LogSnapshot_maxLengthInMAUs // module-wide |
|
Maximum number of MAUs (miniumum addressable units, e.g. bytes)
supported by LogSnapshot events
extern const Int LogSnapshot_maxLengthInMAUs;
DETAILS
Attempting to write more than the maximum length results in the
multiple events being logged. The maxLengthInMAUs must be
lower than the size of the buffer that the events are being logged to.
Must be less than 1400 in order to support streaming of event
data over UDP.
| LogSnapshot_doPrint() // module-wide |
|
Render an event as text via System_printf
ARGUMENTS
evRec
a nonNULL pointer to an initialized
LogSnapshot_EventRecstructure to be formated via
System_printf`.
DETAILS
This method is not currently implemented.
| LogSnapshot_getSnapshotId() // module-wide |
|
returns a unique ID to use to group a set of snapshot event logs together
UArg LogSnapshot_getSnapshotId();
DETAILS
Allows tooling to treat a set of consecutive event logs as a unit and
display all of the relevent data together as a set
EXAMPLE
The following C code shows how to log two snapshot events that capture
the target state of two different data structures, using a common unique
non-zero snapshot ID provided by the getSnapshotId to inform the host-side
tooling that the events represent the target state at the same point in time
#include <ti/uia/runtime/LogSnapshot.h>
...
MyStruct1 myStruct1;
MyStruct2 myStruct2;
UInt32 snapshotId;
...
snapshotId = LogSnapshot_getSnapshotId();
LogSnapshot_writeMemoryBlock(snapshotId,"myStruct1 ptr=0x%x, numBytes=%d",(UInt32)&myStruct1,sizeof(MyStruct1));
LogSnapshot_writeMemoryBlock(snapshotId,"myStruct2 ptr=0x%x, numBytes=%d",(UInt32)&myStruct2,sizeof(MyStruct2));
...
RETURN
a unique non-zero snapshot ID to pass in as a parameter to the
LogSnapshot APIs
| LogSnapshot_putMemoryRange() // module-wide |
|
Unconditionally put the specified Types event.
Supports both writeMemoryRange and writeString
macro Void LogSnapshot_putMemoryRange(
Types_Event evt,
Types_ModuleId mid,
IArg fileName,
IArg lineNum,
UArg snapshotID,
IArg fmt,
IArg startAdrs,
IArg lengthInMAUs);
ARGUMENTS
evt
the Types event to put into the log
mid
the module ID of the caller
snapshotId
unique ID that binds together a series of events used to
log a large memory range. Upper 16b hold the ID Tag (0 for UIA)
fileName
the name of the file that the event was logged from
lineNum
the line number that the event was logged from
fmt
a user-specified print format string
startAdrs
the start address of the memory range to log
lengthInMAUs
the number of minimum addressable units (e.g. bytes) to log
DETAILS
This method unconditionally puts the specified memoryRange
Types.Event
evt into the log. This type of event is created either implicitly
(and passed to an
ISnapshotLogger implementation) or explicitly
via
Types.makeEvent().
RETURN
value to use as snapshotId parameter for subsequent events
| LogSnapshot_writeMemoryBlock() // module-wide |
|
Generate a LogSnapshot event for a block of memory
macro Void LogSnapshot_writeMemoryBlock(UInt32 snapshotID, IArg fmt, Ptr pMemoryRange, UInt16 lengthInMAUs);
ARGUMENTS
snapshotID
ID used to identify snapshot events taken at the same
time. Set to 0 for first in series, set rest to return
value of LogSnapshot API. see getSnapshotId()
fmt
a constant string that provides a user-readable description
of what information the event is capturing
pMemoryRange
the start address of the range of memory
lengthInMAUs
the number of MAUs of data payload for the
multi-event data record
EXAMPLES
Example: The following C code shows how to log a snapshot event to
capture a block of memory.
#include <ti/uia/runtime/LogSnapshot.h>
...
UInt32* pIntArray = (UInt32 *)malloc(sizeof(UInt32) * 200);
...
LogSnapshot_writeMemoryBlock(0,"pIntArray ptr=0x%x, numBytes=%d",(UInt32)pIntArray,200);
...
The following text will be displayed for the event, if it was logged
from file demo.c at line 1234 and all 200 bytes were logged in the
same event.
Memory Snapshot at [demo.c:1234] [snapshotID=0,adrs=0x80002000,
numMAUsDataInEvent=200,numMAUsDataInRecord=200] ptr=0x80002000, numBytes=200
If the 200 bytes were spread across multiple events,
the numMAUsDataInRecord would indicate how many bytes were in the
memory block, and numMAUsDataInEvent would indicate how many bytes
were stored in that particular event.
| LogSnapshot_writeMemoryBlockWithIdTag() // module-wide |
|
Generate a LogSnapshot event for a block of memory
macro Void LogSnapshot_writeMemoryBlockWithIdTag(UInt16 idTag, UInt32 snapshotID, IArg fmt, Ptr pMemoryRange, UInt16 lengthInMAUs);
ARGUMENTS
idTag
ID used to identify who logged the event. Set to 0 for a
standard UIA event. Can be used to filter snapshot events on host.
snapshotID
ID used to identify snapshot events taken at the same
time. Set to 0 for first in series, set rest to return
value of LogSnapshot API. see getSnapshotId()
fmt
a constant string that provides a user-readable description
of what information the event is capturing
pMemoryRange
the start address of the range of memory
lengthInMAUs
the number of MAUs of data payload for the
multi-event data record
EXAMPLES
Example: The following C code shows how to log a snapshot event to
capture a block of memory.
#include <ti/uia/runtime/LogSnapshot.h>
...
UInt32* pIntArray = (UInt32 *)malloc(sizeof(UInt32) * 200);
...
UInt16 myCustomIdTag = 1;
LogSnapshot_writeMemoryBlockWithIdTag(myCustomIdTag,0,"pIntArray ptr=0x%x, numBytes=%d",(UInt32)pIntArray,200);
...
The following text will be displayed for the event, if it was logged
from file demo.c at line 1234 and all 200 bytes were logged in the
same event.
Memory Snapshot at [demo.c:1234] [snapshotID=0,adrs=0x80002000,
numMAUsDataInEvent=200,numMAUsDataInRecord=200] ptr=0x80002000, numBytes=200
If the 200 bytes were spread across multiple events,
the numMAUsDataInRecord would indicate how many bytes were in the
memory block, and numMAUsDataInEvent would indicate how many bytes
were stored in that particular event.
| LogSnapshot_writeNameOfReference() // module-wide |
|
Used to log the contents of a dynamic string on the heap so that host-side
tooling can display this string as the name of handle / reference ID
macro Void LogSnapshot_writeNameOfReference(UArg refID, IArg fmt, Ptr pString, UInt16 lengthInMAUs);
ARGUMENTS
refID
reference ID (e.g. task handle) that the name is
associated with
pString
the start address of the string on the heap
lengthInMAUs
the number of MAUs to log (e.g. strlen(pString))
fmt
a constant string that provides format specifiers
describing the string
EXAMPLE
The following C code shows how to log a task name for use by task
execution graphs etc.
#include <ti/uia/runtime/LogSnapshot.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Task.h>
...
// Task create hook function that logs the task name.
// Notes: Task name is not trequired when creating a BIOS task. Please \
// make sure a name is provided in order for the host side analysis tool
// to work properly.
Void tskCreateHook(Task_Handle hTask, Error_Block *eb) {
String name;
name = Task_Handle_name(hTask);
LogSnapshot_writeNameOfReference(hTask,"Task_create: name=%s",
name,strlen(name)+1);
}
This event prints the Log call site (%$F) and a format string (%$S)
which describes what information the event is logging.
The following text will be displayed for the event:
nameOfReference at [demo.c:line 1234] [refID=0x80002000,adrs=0x80001234,40,40] Task_create: name=10msThread.
| LogSnapshot_writeString() // module-wide |
|
Generate a LogSnapshot event for a string in memory
macro Void LogSnapshot_writeString(UArg snapshotID, IArg fmt, Ptr pString, UInt16 lengthInMAUs);
ARGUMENTS
snapshotID
ID used to identify snapshot events taken at the same
time. Set to 0 for first in series, set rest to return
value of LogSnapshot API. see getSnapshotId()
fmt
a constant string that provides a user-readable description
of what information the event is capturing
pString
the start address of the string in memory
lengthInMAUs
the number of MAUs to log (e.g. strlen(pString))
EXAMPLE
The following C code shows how to log a snapshot event to log the
contents of a string in memory.
#include <ti/uia/runtime/LogSnapshot.h>
...
Void myFunc(String name){
...
LogSnapshot_writeString(0,"User-defined name=%s.",name, strlen(name));
}
The following text will be displayed for the event, if it was logged
from file demo.c at line 1234 and all bytes in the 40 character string
was logged in the same event.
String Snapshot at [../demo.c:1234] [snapshotID=0,adrs=0x80001234,40,40] User-defined name=ValueOfParm.
| LogSnapshot_writeStringWithIdTag() // module-wide |
|
Generate a LogSnapshot event for a string in memory
macro Void LogSnapshot_writeStringWithIdTag(UInt16 idTag, UInt32 snapshotID, IArg fmt, Ptr pString, UInt16 lengthInMAUs);
ARGUMENTS
idTag
ID used to identify who logged the event. Set to 0 for a
standard UIA event. Can be used to filter snapshot events on host.
snapshotID
ID used to identify snapshot events taken at the same
time. Set to 0 for first in series, set rest to return
value of LogSnapshot API. see getSnapshotId()
fmt
a constant string that provides a user-readable description
of what information the event is capturing
pString
the start address of the string in memory
lengthInMAUs
the number of MAUs to log (e.g. strlen(pString))
EXAMPLE
The following C code shows how to log a snapshot event to log the
contents of a string in memory.
#include <ti/uia/runtime/LogSnapshot.h>
...
Void myFunc(String name){
...
UInt16 myCustomIdTag = 1;
LogSnapshot_writeStringWithIdTag(myCustomIdTag,0,"User-defined name=%s.",name, strlen(name));
}
The following text will be displayed for the event, if it was logged
from file demo.c at line 1234 and all bytes in the 40 character string
was logged in the same event.
String Snapshot at [../demo.c:1234] [snapshotID=0,adrs=0x80001234,40,40] User-defined name=ValueOfParm.
| Module-Wide Built-Ins |
|
// Get this module's unique id
Bool LogSnapshot_Module_startupDone();
// Test if this module has completed startup
// The heap from which this module allocates memory
Bool LogSnapshot_Module_hasMask();
// Test whether this module has a diagnostics mask
Bits16 LogSnapshot_Module_getMask();
// Returns the diagnostics mask for this module
Void LogSnapshot_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
| struct LogSnapshot.EventRec |
|
The target representation of a recorded event
var obj = new LogSnapshot.EventRec;
// time event was written
obj.serial = Bits32 ...
// serial number of event
obj.evt = Bits32 ...
// target encoding of an Event
obj.snapshotId = UArg ...
obj.fmt = IArg ...
obj.pData = Ptr ...
obj.lengthInMAUs = UInt16 ...
// arguments passed via Log_write/print
DETAILS
This structure defines how events are recorded on the target.
C SYNOPSIS
| config LogSnapshot.injectIntoTraceFxn // module-wide |
|
Callback function that handles injection of info such as serial numbers
of sync point events, context change events or snapshot events into a
hardware trace stream. (e.g. GEM CPU Trace, System Trace, etc.)
DETAILS
Users can provide their own custom injectIntoTraceFxn to log whatever
additional information they wish to record when the hook function is called.
For example, event serial numbers can be injected into the CPU
trace stream and / or STM trace stream in order to enable correlation
of information logged in these streams with UIA software events.
EXAMPLES
Example 1: Correlating events with C64X+ and C66 CPU Trace
The following is an example of the configuration script used
to inject serial numbers of sync point events or context change events or
snapshot Ids associated with snapshot events.
Note that the GemTraceSync module's .xs script takes care of finding
all modules that implement the IUIATraceSyncClient and assigning the
GemTraceSync_injectIntoTrace function pointer to those modules'
injectIntoTraceFxn config option.
//The following 3 modules all implement the IUIATraceSyncClient interface
var LogSnapshot = xdc.useModule('ti.uia.runtime.LogSnapshot');
var LogCtxChg = xdc.useModule('ti.uia.runtime.LogCtxChg');
var LogSync = xdc.useModule('ti.uia.runtime.LogSync');
//For C66 devices, replace the following line with
// var GemTraceSync = xdc.useModule('ti.uia.family.c66.GemTraceSync');
var GemTraceSync = xdc.useModule('ti.uia.family.c64p.GemTraceSync');
Example 2: How to create a custom hook function
and assign it to the LogSnapshot module
The following is an example of a 'C' code program that implements
a hook function that prints out the snapshot ID that is passed in
as the serialNumber
#include <xdc/std.h>
#include <xdc/runtime/Gate.h>
#include <ti/uia/runtime/IUIATraceSyncProvider.h>
#include <ti/uia/runtime/LogSnapshot.h>
#include <stdio.h>
#include <string.h>
extern Void myHookFxn(UInt32 serialNumber, IUIATraceSyncProvider_ContextType ctxType);
Void Test();
char name[32]={"Bob"};
UInt32 newAppId = 0;
Void myHookFxn(UInt32 serialNumber, IUIATraceSyncProvider_ContextType ctxType){
volatile UInt32 syncWord;
IArg key = Gate_enterSystem();
printf("newAppId written with serialNumber %d and ctxType = %d\n",serialNumber,ctxType);
Gate_leaveSystem(key);
}
Void Test(){
// note that the hook function is triggered by calling LogSnapshot_getSnapshotId()
// since that is where the unique snapshot ID that is passed to the
// hook function is generated.
Int snapshotId = LogSnapshot_getSnapshotId();
LogSnapshot_writeString(snapshotId,"User-defined name=%s.",name, strlen(name));
}
Void main(){
while(TRUE){ Test(); }
}
In order to have the above user-defined function called by the LogSnapshot
module whenever it writes an event, the following configuration script
is needed:
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
var LogSnapshot = xdc.useModule('ti.uia.runtime.LogSnapshot');
var IUIATraceSyncClient = xdc.useModule('ti.uia.runtime.IUIATraceSyncClient');
LogSnapshot.injectIntoTraceFxn = $externFxn('myHookFxn');
SEE
C SYNOPSIS
| config LogSnapshot.isTimestampEnabled // module-wide |
|
used to enable or disable logging the 64b local CPU timestamp
at the start of each event
LogSnapshot.isTimestampEnabled = Bool true;
C SYNOPSIS
| config LogSnapshot.loggerObj // module-wide |
|
handle of the logger that is to be used to log snapshot events
LogSnapshot.loggerObj = Ptr null;
C SYNOPSIS
| config LogSnapshot.maxLengthInMAUs // module-wide |
|
Maximum number of MAUs (miniumum addressable units, e.g. bytes)
supported by LogSnapshot events
LogSnapshot.maxLengthInMAUs = Int 512;
DETAILS
Attempting to write more than the maximum length results in the
multiple events being logged. The maxLengthInMAUs must be
lower than the size of the buffer that the events are being logged to.
Must be less than 1400 in order to support streaming of event
data over UDP.
C SYNOPSIS
| metaonly config LogSnapshot.common$ // module-wide |
|
Common module configuration parameters
DETAILS
All modules have this configuration parameter. Its name
contains the '$' character to ensure it does not conflict with
configuration parameters declared by the module. This allows
new configuration parameters to be added in the future without
any chance of breaking existing modules.
| metaonly config LogSnapshot.idToInfo // module-wide |
|
LogSnapshot.idToInfo = String[string] [ ];
| metaonly config LogSnapshot.isInjectIntoTraceEnabled // module-wide |
|
set false to turn off injection of sync point info into trace even
if a module that implements IUIATraceSyncProvider is configured
LogSnapshot.isInjectIntoTraceEnabled = Bool true;
DETAILS
The XDCScript associated with a module that implements IUIATraceSyncProvider
is responsible for checking this config option for all IUIATraceSyncClient
modules before automatically configuring the client callback function.
This allows users to control which features have sync points injected
into the trace stream. For example, a user may wish to configure
LogSync.isInjectIntoTraceEnabled = true and
LogCtxChg.isInjectIntoTraceEnabled = false in order to reduce the number
of sync point events injected into the trace stream.


About Me
To thy own self be true – Shakespeare, Act 1, Scene 3, Hamlet
I value wisdom and knowledge gained through constant learning.
Growth maters to me a lot. My deepest desire is to be wise.
And so I am always learning and growing.
Education is an important part of life for me and within my family it comes before most things.
I am a natural learner.
I think being a web developer will suit me well, because it involves constant learning.
Knowledge is power and to people of colour it is our freedom.
I come from a collectivist culture where it takes a village to raise a child.
Now living in the diaspora, I have this constant battle with the individualistic society.
African family relationships are not as simplistic as European or Western family structures.
I grew up in a village setting where it wasn’t just my parents who read my school report.
My life and academic progress was everyone's business.
In my culture everything we do to further our lives, education or career is not done for oneself.
All is done for family and the community.
Strengths
| MBTI-INFJ |
Gallup Top 5 Strengths |
INFJ is often described as the rarest MBTI type with 1% - 1.5% of the world’s population.
- I am a confidant. People do often tell me things they do not intend to share. Quite often they share their pain and shame with me.
- I prefer to listen. I intentionally worked had to grow my listening skills.
- I take a lot of time out alone to reenergise. People don’t often understand or respect introversion which mean I am often misunderstood.
- I am very empathetic. This is one of my traits that I sometimes see as a limitation. A bleeding heart. But I have leaned how to not become a bleeding heart.
- I trust my intuition and so far it has not let me down. When I am wrong, it’s because I did not trust my intuition.
- I am a very organised person. I plan everything. I even plan how I’m going to get out of bed in the morning.
|
- Context – I look to the past to understand the present. If you do not understand history, you will repeat the mistakes of the past.
- Empathy – I can sense people’s feelings and understand what its like to be them.
- Developer – recognise and cultivate the potential in others. Queens build each other up.
- Achiever – I live to be busy and productive – I do not fear hard work.
- Intellection – I appreciate and often engage in intellectual discussions and activities.
|


ApiMethodTestCase
open class ApiMethodTestCase : XCTestCase
Responsible for validating the API method.
-
Performs validation for api method
Declaration
Swift
public func validate<M: ApiMethod>( _ apiMethod: M, _ stubsResponse: StubsResponse.Type, _ testClass: Swift.AnyClass, verify: @escaping (Result<M.Response>) -> Void)
Parameters
responseType
Response type
apiMethod
Api method
stubsResponse
Stubs response
verify
Will be called after stubs response retrieved or in case of error


Note: If you are trying to access files on your server you need
to first configure the
file access settings.
There are lots of ways of getting information and data ingested into RAMADDA.
If you have a large and/or dynamic collection of files that you want quick view only access try the
Server Side File entry. If you have a directory of data you want fully ingested you can use a
harvester.
Server Side File Entry
If you have a very large set of files or you have a set of files that are changing all of the time (e.g,, real-time feeds)
it might not be practical or possible to have RAMADDA ingest each and every file. However, you can provide RAMADDA view access
to these files by creating a Server Side File Entry.
- Go to the some destination folder in RAMADDA
- Select "New Entry" under the File menu.
- Under the "General" list choose Server Side Files.
- This will take you to the Server Side File View Entry create form.
Enter a name, the server file path and any patterns to use to include or exclude specific files.
- Once created all of the entries shown under the new entry are dynamic and are not stored
in the RAMADDA database.
Data and project organization
You can organize a file system directory tree that can represent project or data sets
harvester.
There are a number of constructs provided by RAMADDA to help you create and organize your information and data.
You might for example have a directory tree as shown below that you want to harvest into RAMADDA. Normally the
harvester would create generic File and Folder entries for the directories and files. You can configure the types and metadata with
Entry XML Configuration. Copy this
dataset.xml as a
.ramadda.xml file under the same parent directory before the harvest.
Dataset_1
datafile1.suff
datafile2.suff
...
Dataset_2
datafile1.suff
datafile2.suff
There are numerous other organizational schemes and constructs available. One could have Project information, Sites, Site Visits, etc. The entrtypes and metadata for the data files can be specified as well.


It is LangBridge's policy to respect your privacy regarding any information we may collect while operating our website. This Privacy Policy applies to https://lang-bridge.com (hereinafter, "us", "we", or "https://lang-bridge.com"). We respect your privacy and are committed to protecting personally identifiable information you may provide us through the Website. We have adopted this privacy policy ("Privacy Policy") to explain what information may be collected on our Website, how we use this information, and under what circumstances we may disclose the information to third parties. This Privacy Policy applies only to information we collect through the Website and does not apply to our collection of information from other sources.
This Privacy Policy, together with the Terms and conditions posted on our Website, set forth the general rules and policies governing your use of our Website. Depending on your activities when visiting our Website, you may be required to agree to additional terms and conditions.
Like most website operators, LangBridge collects non-personally-identifying information of the sort that web browsers and servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request. LangBridge's purpose in collecting non-personally identifying information is to better understand how LangBridge's visitors use its website. From time to time, LangBridge may release non-personally-identifying information in the aggregate, e.g., by publishing a report on trends in the usage of its website.
LangBridge also collects potentially personally-identifying information like Internet Protocol (IP) addresses for logged in users and for users visiting our landing page. LangBridge only discloses logged in user IP addresses under the same circumstances that it uses and discloses personally-identifying information as described below.
Certain visitors to LangBridge's websites choose to interact with LangBridge in ways that require LangBridge to gather personally-identifying information. The amount and type of information that LangBridge gathers depends on the nature of the interaction. For example, we ask visitors who sign up for an account at https://lang-bridge.com to provide a name and email address.
The security of your Personal Information is important to us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While we strive to use commercially acceptable means to protect your Personal Information, we cannot guarantee its absolute security.
Ads appearing on our website may be delivered to users by advertising partners, who may set cookies. These cookies allow the ad server to recognize your computer each time they send you an online advertisement to compile information about you or others who use your computer. This information allows ad networks to, among other things, deliver targeted advertisements that they believe will be of most interest to you. This Privacy Policy covers the use of cookies by LangBridge and does not cover the use of cookies by any advertisers.
Our Service may contain links to external sites that are not operated by us. If you click on a third party link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy and terms and conditions of every site you visit.
We have no control over, and assume no responsibility for the content, privacy policies or practices of any third party sites, products or services.
LangBridge discloses potentially personally-identifying and personally-identifying information only to those of its employees, contractors and affiliated organizations that (i) need to know that information in order to process it on LangBridge's behalf or to provide services available at LangBridge's website, and (ii) that have agreed not to disclose it to others. Some of those employees, contractors and affiliated organizations may be located outside of your home country; by using LangBridge's website, you consent to the transfer of such information to them. LangBridge will not rent or sell potentially personally-identifying and personally-identifying information to anyone. Other than to its employees, contractors and affiliated organizations, as described above, LangBridge discloses potentially personally-identifying and personally-identifying information only in response to a subpoena, court order or other governmental request, or when LangBridge believes in good faith that disclosure is reasonably necessary to protect the property or rights of LangBridge, third parties or the public at large.
If you are a registered user of https://lang-bridge.com and have supplied your email address, LangBridge may occasionally send you an email to tell you about new features, solicit your feedback, or just keep you up to date with what's going on with LangBridge and our products. If you send us a request (for example via a support email or via one of our feedback mechanisms), we reserve the right to publish it in order to help us clarify or respond to your request or to help us support other users. LangBridge takes all measures reasonably necessary to protect against the unauthorized access, use, alteration or destruction of potentially personally-identifying and personally-identifying information.
LangBridge may collect statistics about the behavior of visitors to its website. LangBridge may display this information publicly or provide it to others. However, LangBridge does not disclose your personally-identifying information.
To enrich and perfect your online experience, LangBridge uses "Cookies", similar technologies and services provided by others to display personalized content, appropriate advertising and store your preferences on your computer.
A cookie is a string of information that a website stores on a visitor's computer, and that the visitor's browser provides to the website each time the visitor returns. LangBridge uses cookies to help LangBridge identify and track visitors, their usage of https://lang-bridge.com, and their website access preferences. LangBridge visitors who do not wish to have cookies placed on their computers should set their browsers to refuse cookies before using LangBridge's websites, with the drawback that certain features of LangBridge's websites may not function properly without the aid of cookies.
By continuing to navigate our website without changing your cookie settings, you hereby acknowledge and agree to LangBridge's use of cookies.
Although most changes are likely to be minor, LangBridge may change its Privacy Policy from time to time, and in LangBridge's sole discretion. LangBridge encourages visitors to frequently check this page for any changes to its Privacy Policy. Your continued use of this site after any change in this Privacy Policy will constitute your acceptance of such change.
This privacy policy was created at termsandconditionstemplate.com. If you have any questions about this Privacy Policy, please contact us via email.


{% extends "base.html" %} {% block content %}
When viewing this page from a local server, you can use the server to quickly update and build front-end Larva modules. As a static site, this pattern library is for documentation.
View available patterns by clicking the "Show Larva UI" button on the bottom right. Anything under the "Larva" column is shared across all brands and themed with design tokens. Anything under the "Project" column is a brand-specific pattern. If there is no "Project" column, then the brand is only using shared patterns.


It’s official – Hillary Clinton is running for president. Clinton announced her bid for the 2016 U.S. presidential race on Twitter this afternoon, ending years of conjecture over what many assumed was a sure thing.
It’s official – Hillary Clinton is running for president. Clinton announced her bid for the 2016 U.S. presidential race on Twitter this afternoon, ending years of conjecture over what many assumed was a sure thing.
The tweet was sent after an email from Clinton aide John Podesta went out to supporters of Clinton from the 2008 campaign, “spoiling” what political reporters had been expecting since Thursday.
In addition to her tweet, Clinton’s team has already launched the official campaign site, which includes a bio page that gives us a look at the experience Clinton will emphasize as the election cycle ramps up.


A shortcut (also called a key binding or just binding) is a way to invoke a command by typing some combination of keys (vs. moving the mouse or using the menus). It is advisable to learn to use these shortcuts, since they can significantly speed up your interaction with Tycho, and they can reduce the stress on your hands. When shortcuts have an equivalent menu command, then the shortcut is noted in the menu to aid learning. In addition, the menus can be traversed using the keyboard, a mechanism that we highly recommend using. Many shortcuts work equally with text and graphics, although some will be obviously specific to one or the other.
Three sets of shortcuts are currently provided with Tycho:
The first set follows the conventions used in most applications that run under Microsoft Windows, like Microsoft Word. The second set follows the conventions of the popular Unix program Emacs. The third set preserves the most common Emacs bindings (those for navigation) and uses Windows bindings for everything else (those that do not conflict with the Emacs bindings). The third set is advised for Unix users who are transitioning to Windows. In all cases, only a subset of the shortcuts, hopefully the most useful ones, are provided.
By default, the set of bindings is chosen for you automatically. If your platform is a Unix machine, then Unix bindings are selected.  You can override this through the preferences editor. Under the Help menu, select "Style Preferences..." The style sheet that controls the shortcuts is called "Interaction". Click its Edit button. The "Keyboard shortcuts" preference lists the options. Select your preference and close the window. You must restart Tycho for the changes to take effect.
The following shortcuts are implemented in all binding sets.
Menus in Tycho are carefully designed to provide access to all but the most basic navigation operations. As such, they should be viewed as documentation of the capabilities of a widget as well as a mechanism for invoking commands. Although menu commands are normally invoked using the mouse, it is often more convenient (and easier on your hands) to invoke them through the keyboard. Two mechanisms are provided for doing this.
First, note that the menu labels have an underlined character.
Holding the Alt
button in combination with the underlined letter
causes the corresponding menu to be posted.
Note further that each menu entry has an underlined letter.
While the menu is posted, typing the underlined letter causes that
command to be invoked. If the menu is hierarchical, it may instead
cause a submenu to be posted.
This mechanism can be very quick and easy to learn for frequently
used commands. For example, Alt-F O
invokes "open file" and is
some feel that it is easier to type than Ctrl+X Ctrl+F
(the Emacs binding for the same function).
In a second mechanism,
the function key F10
will post the leftmost menu.
Arrow keys can be used to switch between menus and between items
in the menu. This mechanism is not generally as convenient as using
the Alt key for users who type well.
Most keyboards have a number of keys that are specialized to particular functions. The functions are explained here.
Arrow keys
Shift+Arrow keys
Ctrl+Arrow keys
Ctrl+Shift+Arrow keys
Backspace
Ctrl+Backspace
Delete
Ctrl+Delete
End
Home
Ctrl+End
Ctrl+Home
Shift+End
Shift+Home
Ctrl+Shift+End
Ctrl+Shift+Home
Page down
Shift+Page down
Page up
Shift+Page up
The following shortcuts work in the HTML viewer:
Space
Home
End
Button-2
Shift+Button-1
Ctrl+Left arrow
Ctrl+Right arrow
Ctrl+Tab
In addition, the toolbar buttons in the HTML viewer have underlined characters that can be used as shortcuts to invoke the buttons.
Most dialog boxes have a button that is surrounded by an extra sunken or highlighted ring that can be invoked by typing Return. In addition, dialogs can be dismissed without invoking any buttons by typing Escape.
Escape
Return
In addition, buttons generally have an underlined character. Typing that character will invoke the button, unless the focus is in a text entry box. The focus can be move out of a text entry box using any of the following mechanisms:
Tab
Ctrl+Tab
Ctrl+Shift+Tab
Note that in multi-line text entry boxes, Tab
simply inserts
a tab character, so you must use Ctrl+Tab
.
Some dialog boxes have checkbuttons. To change the state of these
from the keyboard, move the focus to the checkbutton and type
Space
.
Space
In Windows applications, navigation (moving the cursor around) is done primarily with special keys, like the arrow keys. This contrasts with the Unix (Emacs) shortcuts, which use control characters for this purpose. In addition, Windows programs rely more heavily on keyboard-driven menu traversal, while Emacs uses a very long list of complicated key combinations.
Alt+Tab
Alt+Shift+Tab
Ctrl+F6
Ctrl+Shift+F6
Ctrl+Tab
Ctrl+F9
Ctrl+F10
Ctrl+F5
Ctrl+F7
Alt+F4
Ctrl+A
Ctrl+C
Ctrl+H
Ctrl+O
Ctrl+O Ctrl+O
Ctrl+P
Ctrl+Q
Ctrl+R
Ctrl+S
Ctrl+V
Ctrl+W
Ctrl+X
Ctrl+Y
Ctrl+Z
In addition to the above bindings, text editors support:
Ctrl+D
Ctrl+F
Ctrl+G
Ctrl+H
Ctrl+I
Ctrl+J
Ctrl+K
Ctrl+L
Ctrl+R
Ctrl+T
Ctrl+U
Ctrl+Z
In the explanations below, x
and y
are used
generically to refer to some key on the keyboard.
C-x
x
key.
C-X
x
key
at the same time.
Esc-x
M-x
x
key. The meta key is labeled on
some keyboards with a diamond. If you have no meta key, try
sequentially hitting the escape key followed by the x
key.
M-x y
x
key. Then hit the y
key.
C-a
C-b
M-b
C-e
C-f
M-f
C-c C-g
C-l
C-n
C-p
C-r
C-s
C-v
M-v
M-<
M->
The following commands are available in the File
menu
in many windows as well
through key bindings:
C-x C-f
C-x C-v
C-x i
C-x C-s
C-x C-w
C-x p
C-x C-r
C-x C-q
C-x v
C-x k
C-x C-c
Delete
, C-h
, and Backspace
all erase the previous character,
unless there is a selection, in which case they erase the selection.
M-Delete
, M-C-h
, and M-Backspace
behave the same way, except that
they erase a word at a time. In addition, the following bindings apply:
M-C
C-d
M-d
C-k
C-o
C-x u
M-l
M-u
C-u
C-w
M-w
C-y
C-/
C-\
Any set of contiguous character deletions are collected into a single undo action.
M-q
C-x f
C-x .
The fill capability requires some explanation.
The Fill Region
command fills text so that the lines
are approximately of equal length and line breaks occur
on word boundaries. It can optionally add a prefix to
each filled line (for example a comment character), and
typically does so in language-specific editors, which are derived
from the basic editor. If a
region of text has been selected, then it fills that
region. Otherwise, it fills the paragraph that contains
the insertion cursor. A paragraph is bounded by a blank
line before and after, or possibly a line with only the comment
character.
C-x o
C-x O
C-x 0
C-x 1
C-x 2
C-x 6
This set of shortcuts preserves the most common Emacs bindings (those for navigation) and uses Windows bindings for everything else, where they do not conflict with the Emacs bindings. This set is advised for Unix users who are transitioning to Windows.
The Windows bindings that are changed are:
C-A
C-F
C-P
This is so that the most important Emacs bindings can be respected:
C-a
C-b
C-d
C-e
C-f
C-k
C-l
C-n
C-p
The right mouse button brings up a context-sensitive pop-up menu that with some of the following choices:
Not all of the above right menu choices are available in all of the windows.The interaction of the mouse with text is otherwise that implemented in the text widget in Tk. Thus, the following documentation is again copied from the man page for the text widget, written by John Ousterhout, with minor editing.
"Pressing mouse button 1 in an text positions the insertion cursor just before the character underneath the mouse cursor and sets the input focus to this widget. Dragging with mouse button 1 strokes out a selection between the insertion cursor and the character under the mouse.
If you double-click mouse button 1 then the word under the mouse cursor will be selected, the insertion cursor will be positioned at the beginning of the word, and dragging the mouse will stroke out a selection whole words at a time. [Note that in some derived classes, double clicking activates a hypertext link.]
If you triple-click mouse button 1 then the line under the mouse cursor will be selected, the insertion cursor will be positioned at the beginning of the line, and a dragging the mouse will stroke out a selection whole line at a time.
The ends of the selection can be adjusted by dragging with mouse button 1 while the shift key is down; this will adjust the end of the selection that was nearest to the mouse cursor when button 1 was pressed. If the button is double-clicked before dragging then the selection will be adjusted in units of whole words; if it is triple-clicked, then the selection will be adjusted in units of whole lines.
Clicking mouse button 1 with the Control key down will reposition the insertion cursor without affecting the selection.
The view in the widget can be adjusted by dragging with mouse button 2. If mouse button 2 is clicked without moving the mouse, the selection is copied into the text at the position of the insertion cursor. The Insert key also inserts the selection."


Added new property in colModel editoptionsNullIfEmpty. If set to true empty values are posted and set/added in the database as NULLs.
Added option fontsize in autocomplete widget to control the font size of the widget. Default is 11px;
Added option fontsize in calender widget to control the font size of the widget. Default is 70%;
Added option strictcheck in autocomplete widget - If target is set determines the behaviour of setting the value. If strictcheck is false the value in autcomplete input field is not cleared if it is not found in list.
If to a row in grid is added class ui-state-disabled the row can not be selected. Also work in multiselect mode.
Fixes
jqGrid
Fix setSelect (second fix) method to interpret correct ORDER BY clause when present in the query.
Fix for grid cmTemplate for editable fields.
Fix for addCol method to add in correct place the column when not first or last.
Fix for Autocomplete to work correct with Mysqli driver (the driver requiere special handling)
Fix fetch_bject method in Array driver
Fix for IE9 to support the height=>auto proerty.
Fix when scroll option is set to 1 - to return correct the last page


--- layout: page title: "About" description: "This is me" header-img: "img/about-bg.jpg" ---
欢迎你来到这里，我是ian


Bolt Preview
0.4.4
C++ template library with support for OpenCL
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Modules
Here is a list of all modules:
[detail level
1
2
3
]
Miscellaneous
ClCode: Traits and Helper Macros
Control
Algorithms
Reductions
Counting
Reduce
Transform_reduce
Prefix Sums
Scan
Sorting
Sort
Transformations
Transform
Containers
Device
Generated on Fri Dec 14 2012 14:12:49 for Bolt Preview by
<IP_ADDRESS>


Prerequisites
Kafka is used to forward reports from the WebRTC-Observer. The Reports are being forwarded to Kafka for processing to be consumed by the exporter (e.g. Kafka connectors).
Install & Run WebRTC-Observer
In this quickstart we use Docker to demonstrate a
simple local deployment of the service. For kubernetes deployment
please check out our tutorial for it.
- Clone the docker targeted deployment repository:
git clone https://github.com/ObserveRTC/docker-webrtc-observer
This will clone the necessary files to your local machine in order to run the observer in a container.
- Run the docker image
cd docker-webrtc-observer
docker-compose up
This will run the container locally,
opening the port 7080
to receive samples from integrations.
Install & Run WebExtrApp
To tryout webrtc locally
Currently we support Jitsi, and TokBox integrations. The integration is described in the appropriate tutorials, here, for simplicity we use a local webrtc call
- Clone and install the core library
git clone https://github.com/ObserveRTC/webextrapp
cd webextrapp
npm install -g typescript
npm ci
npm run build-library-dev
- Configure the local development integration to point to your server
Navigate yourself to
cd __test__/example-demo/js/
nano integrations.js
And check if the wsServerURL
points to localhost:7080
.
The rest of the URL is explained in our tutorials
- Run the local server by
npm run start-server
- Go to
localhost:9090
, and start a call.
Process Reports
Once you initiated a flow from your local integrations
to the Observer, you can observe Reports by consuming a kafka topics.
By default Observer forward reports to the reports
topic, so you
can check the occurrences with kafkacat
.
kafkacat -b localhost:9092 -t reports -C
Once the report has appeared you can process or save it by using your favored stream processors, which can read kafka (i.e.: Kafka Connectors).
Note: If you want to run a specific version of the WebRTC-Observer, please checkout the proper release tags llisted in here


Guidance
Types of apprenticeships that you can apply for in the horticulture sector.
This apprenticeship covers both amenity and production horticulture which includes a vast range of horticulture occupations.
Amenity horticulture includes:
Production horticulture deals with the large-scale production of plants for food and ornamental purposes. This includes fruit, vegetables, herbs, mushrooms, plants, flowers and trees for sale.
The nature of the apprenticeship will depend on your employer – you could find yourself working as a landscaper or gardener. You may learn how to clear sites for planting or how to maintain equipment.
There are 2 types of horticulture apprenticeships.
You could train in roles like:
You could train in roles like:
You can become an apprentice in England if you’re:
Published: 12 April 2012


Someone identifying themselves as has accepted your request. Would you like to add them to your contact list?


3.0.4 (2012-01-31)
- Ensure `option=argument` syntax does not consume following arguments (55).
3.0.3 (2012-01-30)
- Ensure options passed after option terminator do not raise an exception (54, Amon Sha)
3.0.2 (2012-01-27)
- Ensure `—option=value` is being evaluated before multiple switches (52)
3.0.1 (2012-01-27)
- Ensure tests run green on 1.8.7
- Ensure `:argument => :optional` works with `:option=` format.
- Ruby 1.8.7 compat fix (dont chain Enumerable methods!) (Eric Anderson)
3.0.0 (2012-01-24)
- value_to_range returns an x..x range if the value looks like an integer.
- Lots of code refactoring
- Use TomDoc documentation
- Added `Slop::Commands` and removed existing command system
- Configuration options altered:
* `:optional` has been renamed to `:optional_argument` * Added `:required` for mandatory options * `:argument` now accepts an `:optional` symbol as well as boolean value
- Removed Slop instance methods:
* description=, description * summary=, summary * command * on_empty * on_noopts * execute * to_struct
- Added Slop instance methods:
* separator * fetch_option * add_callback
2.4.3 (2012-01-16)
- Allow the `:as` option to accept an object responding to :call for custom type conversions (45)
- Ensure negative integers are not parsed as possible options (46)
2.4.2 (2011-12-18)
- Fix checking of required options (Dominik Honnef)
2.4.1 (2011-12-08)
- Ensure optional arguments are returned correctly
2.4.0 (2011-11-26)
- Avoid `define_method` for checking an options presence (and caching it) 37
- Ensure the short option allows an appended `=` for accepting arguments
- Implement `respond_to?`
2.3.1 (2011-11-11)
- Return `nil` for any options using casting which don’t expect arguments (33)
- Fix parenthesis warning on 1.8.7 (@shevegen)
- Ensure long argument is a string before attempting to use `#[]` method on it
2.3.0 (2011-11-04)
- Allow flags to have suffixed `=` char for options which accept an argument
2.2.0 (2011-11-02)
- Support `bup.options` style optspec parsing
* http://apenwarr.ca/log/?m=201111
- Allow `:as` to accept a `count` value (Conrad Irwin):
`on :v, :verbose, :as => :count # -vv; opts[:verbose] #=> 2`
2.1.0 (2011-08-03)
- Added `Slop#missing` for returning a list of missing options parsed
- Allow `Slop#present?` to accept multiple arguments
- Added `:all_accept_arguments` to Slop configuration options, this saves having to specify that every option takes an argument
- Added `Slop#to_struct` for building new classes from options
2.0.0 (2011-07-07)
- Deprecations:
- Removed `Slop::Options#to_hash` continue using `Slop#to_hash` directly. This method also now returns symbols by default instead of strings. If you want strings use `opts.to_hash(false)`
- `:multiple_switches` is now enabled by default, to parse `fbar` as the option `f` with value `bar` you must disable `:multiple_switches`
- Removed `Slop::Options#to_help` and merged its contents into `Slop#help`
- Removed `lib/slop/options.rb` and merged `Slop::Options` into slop.rb
- Removed `lib/slop/option.rb` and merged `Slop::Option` into slop.rb
- These changes make Slop much easier to vendor in libraries
- `Slop::Option` now inherits from `Struct.new`
- Added Slop::Error subclassing from StandardError which all exception classes should inherit from
- Added Slop::MissingOptionError and `:required` option to Slop::Option. This exception is raised when a mandatory option is not used
1.9.1 (2011-06-16)
- Ensure optional items with no arguments still return true when searching for presence
1.9.0 (2011-06-15)
- Add command completion and support for an error message when ambiguous commands are used
- Add command aliases
- Fix: Ensure parsed elements are removed from original arguments when using `:multiple_switches`
- Ensure anything after `—` is parsed as an argument and not option even if prefixed with `/—?/`
- Performance improvements when making many calls to `Slop#option?` for checking an options presence (Rob Gleeson)
- Ensure `execute` passes command arguments to the block
- Support for summary and description (Denis Defreyne)
1.8.0 (2011-06-12)
- Added `execute` method to Slop for commands. This block will be invoked when a specific command is used. The Slop object will be yielded to the block
- Allow passing a class name to `on` to be used as an `:as` option. ie: `on :people, ‘Some people’, Array`
- Get smart with parsing options optparse style: `on ’—name NAME’` and `on ‘password [OPTIONAL]’`
- Feature: `:arguments` setting to enable argument passing for all options
1.7.0 (2011-06-06)
- Feature: Autocreate (auto create options at parse time, making assumptions)
- Feature: When parsing options as arrays, push multiple arguments into a single array
1.6.1 (2011-06-01)
- Fix tests and using a temporary Array for ARGV, fixes RubyGems Test issues
- General cleanup of code
1.6.0 (2011-05-18)
- Add `:ignore_case` to Slop options for case insensitive option matching
- Add `:on_noopts` for triggering an event when the arguments contain no options
- Add `:unless` to Slop::Option for omitting execution of the Options block when this object exists in the Array of items passed to Slop.new
- Bugfix: Do not parse negative integers as options. A valid option must start with an alphabet character
- Bugfix: Allow a Range to accept a negative Integer at either end
1.5.5 (2011-05-03)
- Bugfix: only attempt to extract options prefixed with `-`
1.5.4 (2011-05-01)
- Bugfix: `parse!` should not remove items with the same value as items used in option arguments. Fixes 22 (Utkarsh Kukreti)
1.5.3 (2011-04-22)
- Bugfix: Use integers when fetching array indexes, not strings
1.5.2 (2011-04-17)
- Bugfix: Ensure `ARGV` is empty when using the `on_empty` event
1.5.0 (2011-04-15)
- Add `Slop#get` as alias to `Slop#[]`
- Add `Slop#present?` as alias for `Slop#
- Add `Option#count` for monitoring how many times an option is called
- Add `:io` for using a custom IO object when using the `:help` option
- Numerous performance tweaks


Two People Killed in Small Airplane Crash in Spain's Toledo Province - Reports
At least two unidentified people were killed as a result of a small plane crashing in Spain's central province of Toledo, Europa Press reported on Sunday, citing a local emergency service.
According to the Europa Press news outlet, the crash occurred at the Casarrubios del Monte airport in Toledo. Encastillalamancha.es portal added that the plane left the airfield earlier in the day and crashed on its way back.
At the same time, the Government Delegation in Castilla-La Mancha has told journalists that the damaged plane fell to the ground at around 11:38 AM local time in La Solana municipality.
Local emergency services confirmed the incident, adding that the aircraft was engulfed in fire, so they could have not saved the people on board.
Spain's Civil Guard officers, medics, and firefighters have been dispatched to the scene. At the moment, the identities of both the deceased remain unclear.


Defacto is an open source, crowd sourcing information initiative to stop the dissemination of so called "fake news" and "alternative facts." DeFacto utilizes machine learning techniques as well as other apis to help you determine whether or not news sources are credible. DeFacto also collects helpful data about news sources that can be used for data analysis, tracking, and machine learning seeding.
This project was created in order to combat fake news. The authors had a vision of a tool that analyzed a news article for users on the spot. This way, users could stay informed about whether the news they are reading is legitimate. This website and chrome extension represents our best attempt at making this vision a reality.


|
OIS
1.5
Object-oriented Input System
|
#include <OISMultiTouch.h>
Public Member Functions | |
| virtual | ~MultiTouch () |
| virtual void | setEventCallback (MultiTouchListener *touchListener) |
| MultiTouchListener * | getEventCallback () |
| void | clearStates (void) |
| std::vector< MultiTouchState > | getMultiTouchStates () const |
| const std::vector< MultiTouchState > | getFirstNTouchStates (int n) |
| const std::vector< MultiTouchState > | getMultiTouchStatesOfType (MultiTypeEventTypeID type) |
| Public Member Functions inherited from OIS::Object | |
| virtual | ~Object () |
| Type | type () const |
| const std::string & | vendor () const |
| virtual bool | buffered () const |
| InputManager * | getCreator () const |
| virtual void | setBuffered (bool buffered)=0 |
| virtual void | capture ()=0 |
| virtual int | getID () const |
| virtual Interface * | queryInterface (Interface::IType type)=0 |
| virtual void | _initialize ()=0 |
Protected Member Functions | |
| MultiTouch (const std::string &vendor, bool buffered, int devID, InputManager *creator) | |
| Protected Member Functions inherited from OIS::Object | |
| Object (const std::string &vendor, Type iType, bool buffered, int devID, InputManager *creator) | |
Protected Attributes | |
| std::vector< MultiTouchState > | mStates |
| The state of the touch device, implemented in a vector to store the state from each finger touch. More... | |
| MultiTouchListener * | mListener |
| Used for buffered/actionmapping callback. More... | |
| Protected Attributes inherited from OIS::Object | |
| std::string | mVendor |
| Vendor name if applicable/known. More... | |
| Type | mType |
| Type of controller object. More... | |
| bool | mBuffered |
| Buffered flag. More... | |
| int | mDevID |
| Not fully implemented yet. More... | |
| InputManager * | mCreator |
| The creator who created this object. More... | |
MultiTouch base class. To be implemented by specific system (ie. iPhone UITouch) This class is useful as you remain OS independent using this common interface.
|
inlinevirtual |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
| touchListener | Send a pointer to a class derived from MultiTouchListener or 0 to clear the callback |
|
protected |
Used for buffered/actionmapping callback.
|
protected |
The state of the touch device, implemented in a vector to store the state from each finger touch.


Minimal Boilerplate for building content for hicetnunc.xyz based on Laravel Mix 6, TailwindCSS 2, PostCSS 8, and ES6 Vanilla JS components.
The file you're looking at is the index.html file in the repository you just cloned.
Edit that and the supporting files, while running yarn watch from your command line. When you're ready to deploy, run yarn production and ZIP up the dist folder. Upload that to Hic Et Nunc for minting and be careful to check the preview.


--- layout: post title: The best tool for outlook ---
Well, I’ve been testing Lookout for quite some time now, and I must recognize that’s one of the best tool I’ve used. When like me you’re an archive junkie, you have a tendency to have huge pst files. And when I say huge, I really mean HUGE. With Lookout, I can search all my post archive whenever I blog about something. Invaluable. And it can also index your documents. This is an absolute must have.
The Lookout web site here. From James from Scoble. I cannot stress how huge this tool is. Especially when used with newsgator.


int array_unshift ( array &$array , mixed $var [, mixed $... ] )
array_unshift() prepends passed elements to the front of the array. Note that the list of elements is prepended as a whole, so that the prepended elements stay in the same order. All numerical array keys will be modified to start counting from zero while literal keys won't be touched.
Returns the new number of elements in the array.


The High Six Figures!!
Play all their almost pop hits for you!
Every band has a story, this is ours:
(Body heat). Turn of the heat, take off that pressure. You see, man made the cars to take us over the roads. You choose and you lose . (Try me). When your body won't do what you want it to. Got to go to church, y'all. Got to go to church, y'all. I'm having bad luck, I'm having bad luck. Man made the boat for the water, like Noah made the ark. He ain't too hip about that new breed babe. (Try me).<PHONE_NUMBER>242). Darlin' tell me. What's that?
Our last show rocked!
I'm having bad luck, I'm having bad luck. Man made the trains to carry the heavy loads. (Body heat). If you hesitate . (Body heat). Take me. But it wouldn't be nothing. Turn off the heat, take off that pressure. Without a woman or a girl. This is a man's world. How do you stop . What's that?. When I was a little boy about the age of three. Don't want nobody bothering me. Got to release the body


Available Modules¶
data (data.R)¶
Sample data sets of varying types. These include:
- a collection of gene sets, as used in the Lamb 2006 CMap paper
- An example metadata table, as one might find in a .gct or .gctx file
- An example GCT object, with row and column metadata and a matrix of expression values.
Maintainer: Ted Natoli<EMAIL_ADDRESS>io (io.R)¶
A collection of GCT class and methods definitions.
Maintainer: Ted Natoli<EMAIL_ADDRESS>utils (utils.R)¶
A collection of utility methods for GCT class objects.
Maintainer: Ted Natoli, tnatoli@broadinstitute.org


Sequence and Annotation Downloads
This page contains links to sequence and annotation data downloads for the genome assemblies
featured in the UCSC Genome Browser. Table downloads are also available via the Genome
Browser FTP server. For
quick access to the most recent assembly of each genome, see the
current genomes directory. This directory may be useful to individuals with
automated scripts that must always reference the most recent assembly.
To view the current descriptions and formats of the tables in the annotation database, use
the "describe table schema" button in the Table Browser.
All tables in the Genome Browser are freely usable for any purpose except as indicated in the
README.txt files in the download directories. To view restrictions specific to a particular data
set, click on the corresponding download link and review the README text. These data were
contributed by many researchers, as listed on the Genome Browser
credits page. Please acknowledge the
contributor(s) of the data you use.
Human
Mammals
Other vertebrates
Deuterostomes
Insects
Nematodes
Other genomes
Other downloads
Source and utilities downloads
The source for the Genome Browser, Blat, liftOver and other utilities is free for non-profit
academic research and for personal use. For information on commercial licensing, see the
Genome Browser and
Blat licensing requirements.
The source and executables for several of these products can be downloaded or purchased from our
online store.
Mirroring the Genome Browser
Precompiled executable binaries are available for installing a local mirrored copy of the Genome
Browser website on your web server, eliminating the need to compile the entire source tree.
If you encounter difficulties with slow download speeds, try using
UDT Enabled Rsync (UDR), which
improves the throughput of large data transfers over long distances. The 32-bit and 64-bit versions
can be downloaded here.
Utilities
The utilities directory offers downloads of
pre-compiled standalone binaries for:
-
LiftOver (which may also be accessed via the
web version). The over.chain liftOver
conversion files are located in the individual assembly download sections.
-
Blat
-
Other command-line utilities
Note about 'permission denied' error:
In order for your computer to run a freshly downloaded utility, you will need to update the file
system permissions to allow your operating system to run the program.
To make utilities usable, turn on its 'executable'
bit:
$ chmod +x ./filePath
$ ./filePath/utility_name
Example:
$ chmod +x /home/user/liftover/liftOver
See also:
http://en.wikipedia.org/wiki/Chmod
Please review the userApps
README
for information on fetching specific directories from the kent source tree or downloading
userApps.src.tgz to install all kent utilities.
Note that commercial download and installation of the Blat and In-Silico PCR software requires
a licence, which may be obtained from Kent Informatics.
Human genome
Dec. 2013 (GRCh38/hg38)
Feb. 2009 (GRCh37/hg19)
Mar. 2006 (NCBI36/hg18)
-
Data
and annotations
May 2004 (NCBI35/hg17)
-
Data
and annotations
Jul. 2003 (NCBI34/hg16)
-
Data
and annotations
Apr. 10, 2003 (hg15)
-
Data
and annotations
Nov. 14, 2002 (hg13)
-
Data
and annotations
Jun. 28, 2002 (hg12)
-
Data
and annotations
Apr. 5, 2002 (hg11)
-
Data
and annotations
Dec. 22, 2001 (hg10)
-
Data
and annotations
Aug. 6, 2001 (hg8)
-
Data
and annotations
Apr. 1, 2001 (hg7)
-
Data
and annotations
Dec. 12, 2000 (hg6)
-
Data
and annotations
Oct. 7, 2000 (hg5)
-
Data
and annotations
Oct. 7, 2000 preliminary version
Sep. 5, 2000 (hg4)
-
Data
and annotations
Jun. 15, 2000
May 24, 2000
Older human data and documentation
Alpaca genome
Mar. 2013 (Vicugna_pacos-2.0.1/vicPac2)
Jul. 2008 (Broad/vicPac1)
African clawed frog
Aug. 2016 (Xenopus_laevis_v2)/xenLae2)
American alligator
Aug. 2012 (allMis0.2/allMis1)
Armadillo genome
Dec. 2011 (Baylor/dasNov3)
Atlantic cod genome
May 2010 (Genofisk GadMor_May2010/gadMor1)
Baboon genome
Apr. 2017 (Panu_3.0/papAnu4)
Mar. 2012 (Baylor Panu_2.0/papAnu2)
Nov. 2008 (Baylor Pham_1.0/papHam1)
Bison genome
Oct. 2014 (Bison_UMD1.0/bisBis1)
Bonobo genome
Aug. 2015 (MPI-EVA panpan1.1/panPan2)
May 2012 (Max-Planck/panPan1)
Brown kiwi genome
Jun. 2015 (MPI-EVA AptMant0/aptMan1)
Budgerigar genome
Sep. 2011 (WUSTL v6.3/melUnd1)
Bushbaby genome
Mar. 2011 (Broad/otoGar3)
Cat genome
Nov. 2017 (Felis_catus_9.0/felCat9)
Nov. 2014 (ICGSC Felis_catus_8.0/felCat8)
Sep. 2011 (ICGSC Felis_catus 6.2/felCat5)
Dec. 2008 (NHGRI/GTB V17/felCat4)
Mar. 2006 (Broad/felCat3)
Chicken genome
Mar. 2018 (Gallus_gallus-6.0/galGal6)
Dec. 2015 (Gallus_gallus-5.0/galGal5)
Nov. 2011 (ICGSC Gallus_gallus-4.0/galGal4)
May 2006 ((WUGSC 2.1/galGal3)
Feb. 2004 (WUGSC 1.0/galGal2)
Chimpanzee genome
Jan. 2018 (Clint_PTRv2/panTro6)
May. 2016 (Pan_tro 3.0/panTro5)
Feb. 2011 (SAC 2.1.4/panTro4
Oct. 2010 (CGSC 2.1.3/panTro3)
Mar. 2006 (CGSC 2.1/panTro2)
Nov. 2003 (CGSC 1.1/panTro1)
Chinese hamster genome
Jun. 2017 (CHOK1S_HZDv1/criGriChoV2)
Jul. 2013 (C_griseus_v1.0/criGri1)
Aug. 2011 (CriGri_1.0/criGriChoV1)
Chinese pangolin genome
Aug. 2014 (M_pentadactyla-1.1.1/manPen1)
Coelacanth genome
Aug. 2011 (LatCha1/latCha1)
Cow genome
Apr. 2018 (ARS-UCD1.2/bosTau9)
Jun. 2014 (UMD_3.1.1/bosTau8)
Oct. 2011 (Btau_4.6.1/bosTau7)
Nov. 2009 (Bos_taurus_UMD_3.1/bosTau6)
Apr. 2009 (bosTau5)
Oct. 2007 (Baylor 4.0/bosTau4)
Aug. 2009 (bosTauMd3)
Aug. 2006 (Baylor 3.1/bosTau3)
Mar. 2005 (Baylor 2.0/bosTau2)
May 2004 (bosTau1)
Crab-eating macaque genome
Jun. 2013 (Macaca_fascicularis_5.0/macFas5)
Dog genome
Sep. 2011 (Broad CanFam3.1/canFam3)
May 2005 (Broad/canFam2)
Jul. 2004 (Broad/canFam1)
Dolphin genome
Oct. 2011 (Baylor Ttru_1.4/turTru2)
Elephant genome
Jul. 2009 (Broad/loxAfr3)
May 2005 (loxAfr1/loxAfr1)
Elephant shark genome
Dec. 2013 (Callorhinchus_milii-6.1.3/calMil1)
Ferret genome
Apr. 2011 (MusPutFur1.0/musFur1)
Fugu genome
Oct. 2011 (fugu5/fr3)
Oct. 2004 (JGI V4.0/fr2)
Aug. 2002 (fugu/fr1)
Gibbon genome
Oct. 2012 (Nleu_3.0/nomLeu3)
Jun. 2011 (iGGSC Nleu1.1/nomLeu2)
Jan. 2010 (GGSC Nleu1.0/nomLeu1)
Garter snake genome
Jun. 2015 (Thanmnophis_sirtalis-6.0/thaSir1)
Golden eagle genome
Oct. 2014 (aquChr-1.0.2/aquChr2)
Golden snub-nosed monkey genome
Oct. 2014 (Rrox_v1/rhiRox1)
Gorilla genome
Mar. 2016 (GMSRT3/gorGor5)
Dec 2014 (gorGor4.1/gorGor4)
May 2010 (gorGor3.1/gorGor3)
Green monkey genome
Mar 2014 (Chlorocebus_sabeus 1.1/chlSab2)
Guinea pig genome
Feb. 2008 (Broad/cavPor3)
Oct. 2005 (cavPor2) (sequence only)
Hedgehog genome
May 2012 (EriEur2.0/eriEur2)
Jun. 2006 (Broad/eriEur1)
Horse genome
Sep. 2007 (Broad/equCab2)
Jan. 2007 (Broad/equCab1)
Kangaroo rat genome
Jul. 2008 (Broad/dipOrd1)
Lamprey genome
Dec. 2017 (Pmar_germline 1.0/petMar3)
Sep. 2010 (WUGSC 7.0/petMar2)
Mar. 2007 (WUGSC 3.0/petMar1)
Lancelet genome
Mar. 2006 (JGI 1.0/braFlo1)
Lizard genome
May 2010 (Broad AnoCar2.0/anoCar2)
Jan. 2007 (Broad/anoCar1)
Malayan flying lemur genome
Jun. 2014 (G_variegatus-3.0.2/galVar1)
Manatee genome
Oct. 2011 (Broad v1.0/triMan1)
Marmoset genome
Mar. 2009 (WUGSC 3.2/calJac3)
Jun. 2007 (WUGSC 2.0.2/calJac1)
Medaka genome
Oct. 2005 (NIG/UT MEDAKA1/oryLat2)
Medium ground finch genome
Apr. 2012 (GeoFor_1.0/geoFor1)
Megabat genome
Jul. 2008 (Broad/pteVam1)
Microbat genome
Jul. 2010 (Myoluc2.0/myoLuc2)
Minke whale genome
Oct. 2013 (KORDI BalAcu1.0/balAcu1)
Mouse genome
Dec. 2011 (GRCm38/mm10)
Jul. 2007 (NCBI37/mm9)
Mar. 2006 (NCBI36/mm8)
Aug. 2005 (NCBI35/mm7)
Mar. 2005 (mm6)
May 2004 (mm5)
Oct. 2003 (mm4)
Feb. 2003 (mm3)
Feb. 2002 (mm2)
Nov. 2001 (mm1)
Mouse lemur genome
May 2015 (Mouse lemur/micMur2)
Jul. 2007 (Broad/micMur1)
Naked mole-rat genome
Jan. 2012 (Broad HetGla_female_1.0/hetGla2)
Jul. 2011 (HetGla_1.0/hetGla1)
Nile tilapia genome
Jan. 2011 (Nile tilapia/oreNil2)
Opossum genome
Oct. 2006 (Broad/monDom5)
Jan. 2006 (Broad/monDom4)
Jun. 2005 (Broad/monDom2)
Oct. 2004 (Broad prelim/monDom1)
Orangutan genome
Jan. 2018 (Susie_PABv2/ponAbe3)
Jul. 2007 (WUGSC 2.0.2/ponAbe2)
Painted turtle genome
Dec. 2011 (v3.0.1/chrPic1)
Panda genome
Dec. 2009 (BGI-Shenzhen 1.0/ailMel1)
Pig genome
Feb. 2017 (SGSC Sscrofa11.1/susScr11)
Aug. 2011 (SGSC Sscrofa10.2/susScr3)
Nov. 2009 (SGSC Sscrofa9.2/susScr2)
Pika genome
May 2012 (OchPri3.0/ochPri3)
Jul. 2008 (Broad/ochPri2)
Platypus genome
Feb. 2007 (ASM227v2/ornAna2)
Mar. 2007 (WUGSC 5.0.1/ornAna1)
Proboscis monkey genome
Nov 2014 (Charlie1.0/nasLar1)
Rabbit genome
Apr. 2009 (Broad/oryCun2)
May 2005 (oryCun1)
Rat genome
Jul. 2014 (RGSC 6.0/rn6)
Mar. 2012 (RGSC 5.0/rn5)
Nov. 2004 (Baylor 3.4/rn4)
Jun. 2003 (Baylor 3.1/rn3)
Jan. 2003 (rn2)
Nov. 2002 (rn1)
Rhesus genome
Nov. 2015 (BCM Mmul_8.0.1/rheMac8)
Oct. 2010 (BGI CR_1.0/rheMac3)
Jan. 2006 (MGSC Merged 1.0/rheMac2)
Jan. 2005 (Mmul_0.1/rheMac1)
Rock hyrax genome
Jul. 2008 (Broad/proCap1)
Sheep genome
Nov. 2015 (ISGC Oar_v4.0/oviAri4)
Aug. 2012 (ISGC Oar_v3.1/oviAri3)
Feb. 2010 (ISGC Ovis_aries_1.0/oviAri1)
Shrew genome
Aug. 2008 (Broad/sorAra2)
Jun. 2006 (Broad/sorAra1)
Sloth genome
Jul. 2008 (Broad/choHof1)
Squirrel genome
Nov. 2011 (Broad/speTri2)
Squirrel monkey genome
Oct. 2011 (Broad/saiBol1)
Stickleback genome
Feb. 2006 (Broad/gasAcu1)
Tarsier genome
Sep. 2013 (Tarsius_syrichta-2.0.1/tarSyr2)
Aug. 2008 (Broad/tarSyr1)
Tasmanian devil genome
Feb. 2011 (WTSI Devil_ref v7.0/sarHar1)
Tenrec genome
Nov. 2012 (Broad/echTel2)
Jul. 2005 (Broad/echTel1)
Tetraodon genome
Mar. 2010 (Genoscope 8.0/tetNig2)
Feb. 2004 (Genoscope 7/tetNig1)
Tibetan frog genome
Mar. 2015 (BGI_ZX_2015/nanPar1)
Tree shrew genome
Dec. 2006 (Broad/tupBel1)
Turkey genome
Nov. 2014 (TGC Turkey_5.0/melGal5)
Dec. 2009 (TGC Turkey_2.01/melGal1)
Wallaby genome
Sep. 2009 (TWGS Meug_1.1/macEug2)
White rhinoceros genome
May 2012 (CerSimSim1.0/cerSim1)
X. tropicalis genome
Jul. 2016 (JGI 9.1/xenTro9)
Sep. 2012 (JGI 7.0/xenTro7)
Nov. 2009 (JGI 4.2/xenTro3)
Aug. 2005 (JGI 4.1/xenTro2)
Oct. 2004 (JGI 3.0/xenTro1)
Zebra finch genome
Feb. 2013 (taeGut2/taeGut2)
Jul. 2008 (WUGSC 3.2.4/taeGut1)
Zebrafish genome
May 2017 (GRCz11/danRer11)
Sep. 2014 (GRCz10/danRer10)
Jul. 2010 (Zv9/danRer7)
Dec. 2008 (Zv8/danRer6)
Jul. 2007 (Zv7/danRer5)
Mar. 2006 (Zv6/danRer4)
May 2005 (Zv5/danRer3)
Jun. 2004 (danRer2)
Nov. 2003 (danRer1)
Vertebrates (Sequence only)
The following http://hgdownload.soe.ucsc.edu/gbdb/ location has assembly sequences used in
alignment tracks, such as in the 100-species conservation track. For example, you can find the
underlying mayZeb1.2bit sequence file for the Zebra Mbuna fish assembly, not yet released but used
in the hg38 Vertebrate Multiz Alignment & Conservation (100 Species) track, here:
http://hgdownload.soe.ucsc.edu/gbdb/mayZeb1/. These links also display under a
column titled "UCSC version" on the conservation track description page.
Ciona intestinalis genome
Apr. 2011 (Kyoto KH/ci3)
Mar. 2005 (JGI 2.1/ci2)
Dec. 2002 (JGI 1.0/ci1)
S. purpuratus genome
Sep. 2006 (Baylor 2.1/strPur2)
Apr. 2005 (Baylor 1.1/strPur1)
A. gambiae genome
Nov. 2006 (ICSAGA P3/anoGam3)
Feb. 2003 (IAGEC MOZ2/anoGam1)
A. mellifera genome
May 2005 (Baylor HGSC Amel_3.0/apiMel3)
Jan. 2005 (Baylor 2.0/apiMel2)
Jul. 2004 (Baylor 1.2/apiMel1)
D. ananassae genome
Feb. 2006 (droAna3)
Aug. 2005 (Agencourt prelim/droAna2)
Jul. 2004 (TIGR/droAna1 )
D. erecta genome
Feb. 2006 (droEre2)
Aug. 2005 (Agencourt prelim/droEre1)
D. grimshawi genome
Feb. 2006 (droGri2)
Aug. 2005 (Agencourt prelim/droGri1)
D. melanogaster genome
Aug. 2014 (BDGP Release 6 + ISO1 MT/dm6)
Apr. 2006 (BDGP R5/dm3)
Apr. 2004 (BDGP R4/dm2)
Jan. 2003 (BDGP R3/dm1)
D. mojavensis genome
Feb. 2006 (droMoj3)
Aug. 2005 (Agencourt prelim/droMoj2)
Aug. 2004 (Agencourt prelim/droMoj1)
D. persimilis genome
Oct. 2005 (Broad/droPer1)
D. pseudoobscura genome
Feb. 2006 (dp4)
Nov. 2004 (FlyBase 1.03/dp3)
Aug. 2003 (Baylor freeze1/dp2)
D. sechellia genome
Oct. 2005 (Broad/droSec1)
D. simulans genome
Apr. 2005 (WUGSC mosaic 1.0/droSim1)
D. virilis genome
Feb. 2006 (droVir3)
Aug. 2005 (Agencourt prelim/droVir2)
Jul. 2004 (Agencourt prelim/droVir1)
D. willistoni genome
Feb. 2006 (droWil1)
D. yakuba genome
Nov. 2005 (WUGSC 7.1/droYak2)
Apr. 2004 (WUGSC 1.0/droYak1)
T. castaneum genome
Sep. 2005 (triCas2)
C. brenneri genome
Feb. 2008 (WUGSC 6.0.1/caePb2)
Jan. 2007 (WUGSC 4.0/caePb1)
C. briggsae genome
Jan. 2007 (WUGSC 1.0/cb3)
Jul. 2002 (cb1)
C. elegans genome
Feb. 2013 (WS220/ce11)
Oct. 2010 (WS220/ce10)
May 2008 (WS190/ce6)
Jan. 2007 (WS170/ce4)
Mar. 2004 (WS120/ce2)
May 2003 (ce1)
C. japonica genome
Mar. 2008 (WUGSC 3.0.2/caeJap1)
C. remanei genome
May 2007 (WUGSC 15.0.1/caeRem3)
Mar. 2006 (WUGSC 1.0/caeRem2)
P. pacificus genome
Feb. 2007 (WUGSC 5.0/priPac1)
Yeast (S. cerevisiae) genome
Apr. 2011 (SacCer_Apr2011/sacCer3)
Jun. 2008 (SGD/sacCer2)
Oct. 2003 (SGD/sacCer1)
Sea Hare genome
Sep. 2008 (Broad 2.0/aplCal1)
Denisova genome
Ebola virus genome
Jun. 2014 (G3683/KM034562.1/eboVir3)
Data access through the gbdb fileserver
The /gbdb fileserver offers access to all files referenced by the Genome Browser tables with servers
in North America and
Europe. Some files in the
browser, such as bigBed files, are hosted in binary format. For example, in the hg38 database, the
crispr.bb and crisprDetails.tab files for the
CRISPR track
can be found using the following URLs:
Individual regions or the whole genome annotation from such binary files can be obtained using tools
such as bigBedToBed
, which can be compiled from the source code or downloaded as a
precompiled binary for your system (see the Source and utilities
downloads section). The bigBedToBed
tool can also be used to obtain a
specific subset of features within a given range, e.g.:
bigBedToBed http://hgdownload.soe.ucsc.edu/gbdb/hg38/crispr/crispr.bb -chrom=chr21 -start=25000000 -end=30000000 stdout
bigBedToBed http://hgdownload-euro.soe.ucsc.edu/gbdb/hg38/crispr/crispr.bb -chrom=chr21 -start=25000000 -end=30000000 stdout
Sequence files for assemblies used in alignment tracks, such as in the 100-species Conservation
track, are also found on the /gbdb server. For example, you can find the underlying
mayZeb1.2bit sequence file for the Zebra Mbuna fish assembly, which is used in the
hg38 Vertebrate Multiz
Alignment and Conservation (100 Species) track, but is not available as a standalone browser:
Data shared by multiple assemblies
LiftOver files (over.chain)
The links to liftOver over.chain files can be found in the corresponding assembly sections
above. For example, the link for the mm5-to-mm6 over.chain file is located in the mm5
downloads section. The link to download the liftOver source is located in the
Source and utilities downloads section.


Note: $1.25 charge per topping, after the first topping
Customer Name:
Order Type:
Address -
Street:
City:
State:
Zip Code:
Pizza -
Total Cost: $


{% comment %} Copyright (c) 2018 Josef Wachtler 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. This is the base template for the LTI consumer. {% endcomment %} {% load static %} {% load i18n %}


Nicole Barnett-Forster
Who is she??
I am a student at NMIT currently studying towards my Bachelors in IT!
Here is my GitHub profile
GitHub
Please feel free to contact me at Nicole-BarnettForste@live.nmit.ac.nz


6. Comparison instructions¶
These perform an arithmetic or logical instruction on two arguments, discarding the result but setting the condition flags. Typically these are used to test data values without changing them prior to executing a conditional branch.
6.1. Document conventions¶
Notation: Rd, Rm, Rn
denote ARM registers R0-R7. imm8
denotes an immediate
value having a width of 8 bits.
6.2. The Application Program Status Register (APSR)¶
This contains four bits which are tested by the conditional branch instructions. Typically a
conditional branch will test multiple bits, for example bge(LABEL)
. The meaning of
condition codes can depend on whether the operands of an arithmetic instruction are viewed as
signed or unsigned integers. Thus bhi(LABEL)
assumes unsigned numbers were processed while
bgt(LABEL)
assumes signed operands.
6.3. APSR Bits¶
Z (zero)
This is set if the result of an operation is zero or the operands of a comparison are equal.
N (negative)
Set if the result is negative.
C (carry)
An addition sets the carry flag when the result overflows out of the MSB, for example adding 0x80000000 and 0x80000000. By the nature of two’s complement arithmetic this behaviour is reversed on subtraction, with a borrow indicated by the carry bit being clear. Thus 0x10 - 0x01 is executed as 0x10 + 0xffffffff which will set the carry bit.
V (overflow)
The overflow flag is set if the result, viewed as a two’s compliment number, has the “wrong” sign in relation to the operands. For example adding 1 to 0x7fffffff will set the overflow bit because the result (0x8000000), viewed as a two’s complement integer, is negative. Note that in this instance the carry bit is not set.
6.4. Comparison instructions¶
These set the APSR (Application Program Status Register) N (negative), Z (zero), C (carry) and V (overflow) flags.
cmp(Rn, imm8)
Rn - imm8
cmp(Rn, Rm)
Rn - Rm
cmn(Rn, Rm)
Rn + Rm
tst(Rn, Rm)
Rn & Rm
6.5. Conditional execution¶
The it
and ite
instructions provide a means of conditionally executing from one to four subsequent
instructions without the need for a label.
it(<condition>) If then
Execute the next instruction if <condition> is true:
cmp(r0, r1)
it(eq)
mov(r0, 100) # runs if r0 == r1
# execution continues here
ite(<condition>) If then else
If <condtion> is true, execute the next instruction, otherwise execute the subsequent one. Thus:
cmp(r0, r1)
ite(eq)
mov(r0, 100) # runs if r0 == r1
mov(r0, 200) # runs if r0 != r1
# execution continues here
This may be extended to control the execution of upto four subsequent instructions: it[x[y[z]]] where x,y,z=t/e; e.g. itt, itee, itete, ittte, itttt, iteee, etc.