|
PMSIS BSP
|
Data Structures | |
| struct | pi_fs_conf |
| File-system configuration structure. More... | |
Typedefs | |
| typedef struct pi_fs_file_s | pi_fs_file_t |
| FS file structure. More... | |
| typedef struct pi_cl_fs_req_s | pi_cl_fs_req_t |
| FS cluster file request structure. More... | |
Enumerations | |
| enum | pi_fs_type_e |
| File-system type. More... | |
| enum | pi_fs_flags_e |
| File-system open flags. More... | |
Functions | |
| void | pi_fs_conf_init (struct pi_fs_conf *conf) |
| Initialize a file-system configuration with default values. More... | |
| int32_t | pi_fs_mount (struct pi_device *device) |
| Mount a file-system. More... | |
| void | pi_fs_unmount (struct pi_device *device) |
| Unmount a mounted file-system. More... | |
| pi_fs_file_t * | pi_fs_open (struct pi_device *device, const char *file, int flags) |
| Open a file. More... | |
| void | pi_fs_close (pi_fs_file_t *file) |
| Close a file. More... | |
| int32_t | pi_fs_read (pi_fs_file_t *file, void *buffer, uint32_t size) |
| Read data from a file. More... | |
| int32_t | pi_fs_write (pi_fs_file_t *file, void *buffer, uint32_t size) |
| Write data to a file. More... | |
| int32_t | pi_fs_direct_read (pi_fs_file_t *file, void *buffer, uint32_t size) |
| Read data from a file with no intermediate cache. More... | |
| int32_t | pi_fs_seek (pi_fs_file_t *file, unsigned int offset) |
| Reposition the current file position. More... | |
| int32_t | pi_fs_copy (pi_fs_file_t *file, uint32_t index, void *buffer, uint32_t size, int32_t ext2loc) |
| Copy data between a FS file and a chip memory. More... | |
| int32_t | pi_fs_copy_2d (pi_fs_file_t *file, uint32_t index, void *buffer, uint32_t size, uint32_t stride, uint32_t length, int32_t ext2loc) |
| Enqueue a 2D copy (rectangle area) between a FS file and a chip memory. More... | |
| int32_t | pi_fs_read_async (pi_fs_file_t *file, void *buffer, uint32_t size, pi_task_t *task) |
| Read data from a file asynchronously. More... | |
| int32_t | pi_fs_write_async (pi_fs_file_t *file, void *buffer, uint32_t size, pi_task_t *task) |
| Write data to a file asynchronously. More... | |
| int32_t | pi_fs_direct_read_async (pi_fs_file_t *file, void *buffer, uint32_t size, pi_task_t *task) |
| Read data from a file with no intermediate cache asynchronously. More... | |
| int32_t | pi_fs_copy_async (pi_fs_file_t *file, uint32_t index, void *buffer, uint32_t size, int32_t ext2loc, pi_task_t *task) |
| Copy data between a FS file and a chip memory asynchronously. More... | |
| int32_t | pi_fs_copy_2d_async (pi_fs_file_t *file, uint32_t index, void *buffer, uint32_t size, uint32_t stride, uint32_t length, int32_t ext2loc, pi_task_t *task) |
| Enqueue a 2D copy (rectangle area) between a FS file and a chip memory asynchronously. More... | |
| void | pi_cl_fs_read (pi_fs_file_t *file, void *buffer, uint32_t size, pi_cl_fs_req_t *req) |
| Read data from a file from cluster side. More... | |
| void | pi_cl_fs_write (pi_fs_file_t *file, void *buffer, uint32_t size, pi_cl_fs_req_t *req) |
| Write data to a file from cluster side. More... | |
| void | pi_cl_fs_direct_read (pi_fs_file_t *file, void *buffer, uint32_t size, pi_cl_fs_req_t *req) |
| Read data from a file with no intermediate cache from cluster side. More... | |
| void | pi_cl_fs_seek (pi_fs_file_t *file, uint32_t offset, pi_cl_fs_req_t *req) |
| Reposition the current file position from cluster side. More... | |
| void | pi_cl_fs_copy (pi_fs_file_t *file, uint32_t index, void *buffer, uint32_t size, int32_t ext2loc, pi_cl_fs_req_t *req) |
| Copy data between a FS file and a chip memory from cluster side. More... | |
| void | pi_cl_fs_copy_2d (pi_fs_file_t *file, uint32_t index, void *buffer, uint32_t size, uint32_t stride, uint32_t length, int32_t ext2loc, pi_cl_fs_req_t *req) |
| Enqueue a 2D copy (rectangle area) between a FS file and a chip memory from cluster side. More... | |
| static int32_t | pi_cl_fs_wait (pi_cl_fs_req_t *req) |
| Wait until the specified fs request has finished. More... | |
The file-system driver provides support for accessing files on a flash. The following file-systems are available:
| typedef struct pi_cl_fs_req_s pi_cl_fs_req_t |
This structure is used by the runtime to manage a cluster remote operation with the FS. It must be instantiated once for each operation and must be kept alive until the operation is finished. It can be instantiated as a normal variable, for example as a global variable, a local one on the stack, or through a memory allocator.
| typedef struct pi_fs_file_s pi_fs_file_t |
This structure is used by the runtime to store information about a file.
| enum pi_fs_flags_e |
| enum pi_fs_type_e |
| void pi_cl_fs_copy | ( | pi_fs_file_t * | file, |
| uint32_t | index, | ||
| void * | buffer, | ||
| uint32_t | size, | ||
| int32_t | ext2loc, | ||
| pi_cl_fs_req_t * | req | ||
| ) |
This function is a remote call that the cluster can do to transfer data between an opened file and a chip memory using a specified offset instead of a current position. This operation is asynchronous and its termination is managed through the request structure. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| index | The offset in the file where to start accessing data. |
| buffer | The memory location in the chip memory where the data is accessed. |
| size | The size in bytes to transfer. |
| ext2loc | 1 if the copy is from file to the chip or 0 for the contrary. |
| req | The request structure used for termination. |
| void pi_cl_fs_copy_2d | ( | pi_fs_file_t * | file, |
| uint32_t | index, | ||
| void * | buffer, | ||
| uint32_t | size, | ||
| uint32_t | stride, | ||
| uint32_t | length, | ||
| int32_t | ext2loc, | ||
| pi_cl_fs_req_t * | req | ||
| ) |
This function is a remote call that the cluster can do to transfer data between an opened file and a chip memory using a specified offset instead of a current position. This operation is asynchronous and its termination is managed through the request structure. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| index | The offset in the file where to start accessing data. |
| buffer | The memory location in the chip memory where the data is accessed. |
| size | The size in bytes to transfer. |
| stride | 2D stride, which is the number of bytes which are added to the beginning of the current line to switch to the next one. |
| length | 2D length, which is the number of transferred bytes after which the driver will switch to the next line. |
| ext2loc | 1 if the copy is from file to the chip or 0 for the contrary. |
| req | The request structure used for termination. |
| void pi_cl_fs_direct_read | ( | pi_fs_file_t * | file, |
| void * | buffer, | ||
| uint32_t | size, | ||
| pi_cl_fs_req_t * | req | ||
| ) |
This function implements the same feature as pi_fs_direct_read but can be called from cluster side in order to expose the feature on the cluster. This function can be called to read data from an opened file. The data is read from the current position which is the beginning of the file when the file is opened. The current position is incremented by the number of bytes read by the call to this function. This operation is asynchronous and its termination is managed through the request structure. Compared to pi_cl_fs_read, this function does direct read transfers from the flash without any cache. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| buffer | The memory location where the read data must be copied. |
| size | The size in bytes to read from the file. |
| req | The request structure used for termination. |
| void pi_cl_fs_read | ( | pi_fs_file_t * | file, |
| void * | buffer, | ||
| uint32_t | size, | ||
| pi_cl_fs_req_t * | req | ||
| ) |
This function implements the same feature as pi_fs_read but can be called from cluster side in order to expose the feature on the cluster. This function can be called to read data from an opened file. The data is read from the current position which is the beginning of the file when the file is opened. The current position is incremented by the number of bytes read by the call to this function. This operation is asynchronous and its termination is managed through the request structure. Compared to pi_fs_direct_read, this function can use a cache to optimize small transfers. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details. The only difference compared to pi_cl_fs_read is that the file position is automatically set to 0 for the next transfer if the current transfer reaches the end of the file.
| file | The handle of the file where to read data. |
| buffer | The memory location where the read data must be copied. |
| size | The size in bytes to read from the file. |
| req | The request structure used for termination. |
| void pi_cl_fs_seek | ( | pi_fs_file_t * | file, |
| uint32_t | offset, | ||
| pi_cl_fs_req_t * | req | ||
| ) |
This function can be called from cluster side to change the current position of a file. Note that this does not affect pending copies, but only the ones which will be enqueued after this call. This operation is asynchronous and its termination is managed through the request structure.
| file | The handle of the file for which the current position is changed. |
| offset | The offset where to set the current position. The offset can be between 0 for the beginning of the file and the file size. |
| req | The request structure used for termination. |
|
inlinestatic |
This blocks the calling core until the specified cluster remote copy is finished. As the remote copy is asynchronous, this also gives the number of bytes which was read.
| req | The request structure used for termination. |
| void pi_cl_fs_write | ( | pi_fs_file_t * | file, |
| void * | buffer, | ||
| uint32_t | size, | ||
| pi_cl_fs_req_t * | req | ||
| ) |
This function implements the same feature as pi_fs_write but can be called from cluster side in order to expose the feature on the cluster. This function can be called to write data to an opened file. The data is written to the current position which is the beginning of the file when the file is opened. The current position is incremented by the number of bytes written by the call to this function. This functionmay not be supported by each file-system. The caller is blocked until the transfer is finished. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to write data. |
| buffer | The memory location where the data to be written must be read. |
| size | The size in bytes to write to the file. |
| req | The request structure used for termination. |
| void pi_fs_close | ( | pi_fs_file_t * | file | ) |
This function can be called to close an opened file once it is not needed anymore in order to free the allocated resources.
| file | The handle of the file to be closed. |
| void pi_fs_conf_init | ( | struct pi_fs_conf * | conf | ) |
The structure containing the configuration must be kept allocated until the file-system is mounted.
| conf | A pointer to the file-system configuration. |
| int32_t pi_fs_copy | ( | pi_fs_file_t * | file, |
| uint32_t | index, | ||
| void * | buffer, | ||
| uint32_t | size, | ||
| int32_t | ext2loc | ||
| ) |
This function can be called to transfer data between an opened file and a chip memory using a specified offset instead of a current position. The caller is blocked until the transfer is finished. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| index | The offset in the file where to start accessing data. |
| buffer | The memory location in the chip memory where the data is accessed. |
| size | The size in bytes to transfer. |
| ext2loc | 1 if the copy is from file to the chip or 0 for the contrary. |
| int32_t pi_fs_copy_2d | ( | pi_fs_file_t * | file, |
| uint32_t | index, | ||
| void * | buffer, | ||
| uint32_t | size, | ||
| uint32_t | stride, | ||
| uint32_t | length, | ||
| int32_t | ext2loc | ||
| ) |
This function can be called to transfer data between an opened file and a chip memory using a specified offset instead of a current position. The caller is blocked until the transfer is finished. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| index | The offset in the file where to start accessing data. |
| buffer | The memory location in the chip memory where the data is accessed. |
| size | The size in bytes to transfer. |
| stride | 2D stride, which is the number of bytes which are added to the beginning of the current line to switch to the next one. |
| length | 2D length, which is the number of transferred bytes after which the driver will switch to the next line. |
| ext2loc | 1 if the copy is from file to the chip or 0 for the contrary. |
| int32_t pi_fs_copy_2d_async | ( | pi_fs_file_t * | file, |
| uint32_t | index, | ||
| void * | buffer, | ||
| uint32_t | size, | ||
| uint32_t | stride, | ||
| uint32_t | length, | ||
| int32_t | ext2loc, | ||
| pi_task_t * | task | ||
| ) |
This function can be called to transfer data between an opened file and a chip memory using a specified offset instead of a current position. A task must be specified in order to specify how the caller should be notified when the transfer is finished. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| index | The offset in the file where to start accessing data. |
| buffer | The memory location in the chip memory where the data is accessed. |
| size | The size in bytes to transfer. |
| stride | 2D stride, which is the number of bytes which are added to the beginning of the current line to switch to the next one. |
| length | 2D length, which is the number of transferred bytes after which the driver will switch to the next line. |
| ext2loc | 1 if the copy is from file to the chip or 0 for the contrary. |
| task | The task used to notify the end of transfer. |
| int32_t pi_fs_copy_async | ( | pi_fs_file_t * | file, |
| uint32_t | index, | ||
| void * | buffer, | ||
| uint32_t | size, | ||
| int32_t | ext2loc, | ||
| pi_task_t * | task | ||
| ) |
This function can be called to transfer data between an opened file and a chip memory using a specified offset instead of a current position. A task must be specified in order to specify how the caller should be notified when the transfer is finished. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| index | The offset in the file where to start accessing data. |
| buffer | The memory location in the chip memory where the data is accessed. |
| size | The size in bytes to transfer. |
| ext2loc | 1 if the copy is from file to the chip or 0 for the contrary. |
| task | The task used to notify the end of transfer. |
| int32_t pi_fs_direct_read | ( | pi_fs_file_t * | file, |
| void * | buffer, | ||
| uint32_t | size | ||
| ) |
This function can be called to read data from an opened file. The data is read from the current position which is the beginning of the file when the file is opened. The current position is incremented by the number of bytes read by the call to this function. The caller is blocked until the transfer is finished. Compared to pi_fs_read, this function does direct read transfers from the flash without any cache. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| buffer | The memory location where the read data must be copied. |
| size | The size in bytes to read from the file. |
| int32_t pi_fs_direct_read_async | ( | pi_fs_file_t * | file, |
| void * | buffer, | ||
| uint32_t | size, | ||
| pi_task_t * | task | ||
| ) |
This function can be called to read data from an opened file. The data is read from the current position which is the beginning of the file when the file is opened. The current position is incremented by the number of bytes read by the call to this function. A task must be specified in order to specify how the caller should be notified when the transfer is finished. Compared to pi_fs_read, this function does direct read transfers from the flash without any cache. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| buffer | The memory location where the read data must be copied. |
| size | The size in bytes to read from the file. |
| task | The task used to notify the end of transfer. |
| int32_t pi_fs_mount | ( | struct pi_device * | device | ) |
This function must be called before the file-system device can be used. It will do all the needed configuration to make it usable and initialize the handle used to refer to this opened device when calling other functions.
| device | A pointer to the device structure of the device to open. This structure is allocated by the called and must be kept alive until the device is closed. |
| pi_fs_file_t* pi_fs_open | ( | struct pi_device * | device, |
| const char * | file, | ||
| int | flags | ||
| ) |
This function can be called to open a file on a file-system in order to read or write data to it.
| device | The device structure of the FS where to open the file. |
| file | The path to the file to be opened. |
| flags | Optional flags to configure how the file is opened. |
| int32_t pi_fs_read | ( | pi_fs_file_t * | file, |
| void * | buffer, | ||
| uint32_t | size | ||
| ) |
This function can be called to read data from an opened file. The data is read from the current position which is the beginning of the file when the file is opened. The current position is incremented by the number of bytes read by the call to this function. The caller is blocked until the transfer is finished. Compared to pi_fs_direct_read, this functions can use a cache to optimize small transfers. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| buffer | The memory location where the read data must be copied. |
| size | The size in bytes to read from the file. |
| int32_t pi_fs_read_async | ( | pi_fs_file_t * | file, |
| void * | buffer, | ||
| uint32_t | size, | ||
| pi_task_t * | task | ||
| ) |
This function can be called to read data from an opened file. The data is read from the current position which is the beginning of the file when the file is opened. The current position is incremented by the number of bytes read by the call to this function. A task must be specified in order to specify how the caller should be notified when the transfer is finished. Compared to pi_fs_direct_read, this function can use a cache to optimize small transfers. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to read data. |
| buffer | The memory location where the read data must be copied. |
| size | The size in bytes to read from the file. |
| task | The task used to notify the end of transfer. See the documentation of pi_task_t for more details. |
| int32_t pi_fs_seek | ( | pi_fs_file_t * | file, |
| unsigned int | offset | ||
| ) |
This function can be called to change the current position of a file. Note that this does not affect pending copies, but only the ones which will be enqueued after this call.
| file | The handle of the file for which the current position is changed. |
| offset | The offset where to set the current position. The offset can be between 0 for the beginning of the file and the file size. |
| void pi_fs_unmount | ( | struct pi_device * | device | ) |
This function can be called to close a mounted file-system once it is not needed anymore, in order to free all allocated resources. Once this function is called, the file-system is not accessible anymore and must be mounted again before being used.
| device | The device structure of the FS to unmount. |
| int32_t pi_fs_write | ( | pi_fs_file_t * | file, |
| void * | buffer, | ||
| uint32_t | size | ||
| ) |
This function can be called to write data to an opened file. The data is written to the current position which is the beginning of the file when the file is opened. The current position is incremented by the number of bytes written by the call to this function. This functionmay not be supported by each file-system. The caller is blocked until the transfer is finished. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to write data. |
| buffer | The memory location where the data to be written must be read. |
| size | The size in bytes to write to the file. |
| int32_t pi_fs_write_async | ( | pi_fs_file_t * | file, |
| void * | buffer, | ||
| uint32_t | size, | ||
| pi_task_t * | task | ||
| ) |
This function can be called to write data to an opened file. The data is written to the current position which is the beginning of the file when the file is opened. The current position is incremented by the number of bytes written by the call to this function. This functionmay not be supported by each file-system. A task must be specified in order to specify how the caller should be notified when the transfer is finished. Depending on the chip, there may be some restrictions on the memory which can be used. Check the chip-specific documentation for more details.
| file | The handle of the file where to write data. |
| buffer | The memory location where the data to be written must be written. |
| size | The size in bytes to write to the file. |
| task | The task used to notify the end of transfer. See the documentation of pi_task_t for more details. |


Buhari jets out to Egypt on Tuesday
by Rasheed SobowaleBy Johnbosco Agbakwuru – Abuja
President Muhammadu Buhari is expected to depart Abuja Tuesday for Aswan, Egypt to attend the Aswan Forum designed to set “An Agenda for Sustainable Peace and Development in Africa.”
A statement by the Special Adviser to the President on Media and Publicity, Chief Femi Adesina explained that the Forum which holds December 11-12, 2019, is an initiative to address the interconnections between peace and development in Africa while promoting Africa-led solutions through strengthening policies and practices.
According to the statement, “The initiative is being launched by the Egyptian President Abdel Fattah el-Sisi in his capacity as the Chairman of the African Union (AU) and as an advocate of Post-Conflict Reconstruction and Development in Africa – a recurring theme of his tenure as the AU Chairman. It is also grounded in the AU’s Agenda 2063: The Africa We Want, and the search for African solutions to African problems.
ALSO READ: Buhari appoints Nami to replace Fowler, FIRS boss
“The gathering is expected to bring together heads of state and government, leaders from regional and international organisations, financial institutions, private sector and civil societies as well as scholars, visionaries and prominent experts for action-oriented discussions on the threats, challenges and opportunities.
“It is also expected to end with a Declaration on the theme of the Forum and become an annual event.”
The statement further recalled that the Speaker of Egypt’s House of Representatives, Ali Abdel Aal had delivered President el-Sisi’s message to President Buhari in Abuja on October 28, 2019 inviting him to the inaugural Aswan Forum.
President Buhari will be accompanied by Governors Ahmadu Fintiri of Adamawa, Godwin Obaseki of Edo and Mai Mala Buni of Yobe State.
Others are the Minister of Defence, Gen. Bashir Magashi (Rtd); Minister of State, Foreign Affairs, Amb. Zubairu Dada; National Security Adviser, Maj-Gen Babagana Monguno (Rtd); and the Director-General, National Intelligence Agency, Amb. Ahmed Rufai Abubakar.
President Buhari is expected back in Abuja on Friday.


'Can you get me a unicorn pedal boat?' Weirdest requests from Travelodge guests revealed
by Jake FoxfordHotels in Suffolk and Essex might be accustomed to customers asking for an extra pillow - but some requests have left Travelodge staff in the region a little more perplexed than most.
Across the hotel chain's 34 locations in Suffolk and Essex, staff are usually happy to go the extra mile to make sure their customers are comfortable.
Some requests however are a little more complicated, like one customer in Ipsiwch's Beacon Hill hotel - who asked for a pillow made of chocolate.
The teams receive thousands of strange requests throughout the year across the country - but you can see the 14 strangest, most specific demands customers made below:
- "Can you get me a unicorn pedal boat and arrange for a rainbow to be above the hotel at 4.16pm?"
- "Can you turn my room into a massive gingerbread house for Christmas?"
- "I have a telephone interview today, can you stand in for me and take the interview?"
- "Can I have a pillow made out of chocolate?"
- "Are there any Romans still living in Colchester?"
- "Can you get me a special appearance on TOWIE?"

- "Can you arrange for me to woken up by the sound of real nightingales singing outside my room?"
- "Can I have 100 baked beans minus the tomato sauce for breakfast?"
- "Does the Bentley car come from Great Bentley?"
- "Can you arrange for a carriage and six white horses to take me to Chelmsford Races?"
- "Can you come shopping with me at Lakeside and carry my bags and give your opinion on my new summer collection?
- "Can you help me write 1,000 thank you cards to my clients?"
What do Travelodge think of the questions?
Travelodge spokesman Shakila Ahmed said: "Annually we welcome around 19million customers at our 570 hotels which include 34 properties in Essex and Suffolk.
"Our hotel teams receive thousands of interesting requests from business and leisure guests.
"Where possible, our hotel teams will go above and beyond to help customers as they relish a good challenge.
"However there are some requests beyond their control such as getting a raft of ducks to go to sleep, stopping the traffic on the M5, getting the Northern Lights to make an appearance and getting a herd of sheep as a sleep aid."


property Cropped: Boolean;
When Cropped is True, layer will paint only the portion of its bitmap, that intersects with the bitmap image of the container:
[See also]: Bitmap Image


| Our league name in USATT is Veteran Cadres Activity Center (VCAC).
If you have not played in our league since 2022, please choose “Become a member” to register a new league account. Note that our past league member info before 2022 is lost. You need to register a new league account to start play again.
|
|


close
FAQ
- What?
-
The goal of the study hall is to reduce akrasia through
virtual
co-working. The study hall also has a synchronised pomodoro
timer to keep users on-task.
- I have a bug report/feature request/comment! Where can I put
it?
- Bug reports and feature requests live over at the issue tracker.
Alternately, if you don't want to deal with Github, you can
contact me by way of
electronic mail.
There are going to be a lot of bugs and missing features
for now, so you may have to be patient waiting for a fix. Of course,
if you're a programmer, you're always welcome to submit a pull
request over at the old hub of gits.
- How do I start a pomodoro?
- If a pomodoro is not already running, you can just write
“:<time>”. For example, if you wanted a 32
minute pomodoro, you could write “:32”
- What if there IS a pomodoro running?
- I haven't figured out what I should do here yet. It probably
needs some kind of voting system, but that's a lot of work
:-)
- How about breaks?
- If a pomdoro has ended, you can start the break by saying
“ding”.
- Mine webcamme worketh not! What foul ſorcery is thiſ?
- At the moment, recording is done with some new HTML5 media
APIs that aren't supported on all browsers. I plan to fix this
soon by adding support for the quirks of other browsers and/or
using a Flash fallback. In the mean time, any recent copy of
Firefox or Chrome should work.


One of the most widely read books in the Malayalam language, it is the story of Karna developed through the thought process of Draupadi and her life. Without deviating from the story, situations or the epic grandeour of the Mahabharata, it lends a new interpretation to their story.
View BookA book on the social history of Kerala starting from the point of evolution of its agricultural villages up to1850-1890, the period when substantial changes began in the caste society. Examining history afresh on the basis of the geographic evolution of land area, resources, accounts of foreign travellers etc it reaches the unavoidable conclusion that the land, resources and its exploitation hardly supported the glowing past the earlier historians had built. It is a seminal work that deals with various aspects of Kerala’s history including the development of the Malayalam language.
View BookThe book is a collection of essays on the great social reformer of Kerala and spiritual leader Sri. Narayana Guru published on the event of his birth centenary. It gives a rare insight into the person and activities of a visionary.
View BookTippu Sultan was an able administrator and one of the rare Indian rulers who could stand up to the British. His life is an unnatural tragedy that would fascinate anyone trying to know him. This book examines how the British and Western historians and the natives alike painted him with the brush of religious fanaticism.
View BookThis book was originally published as two different books- Mayaathasandyakal and Nidrasanchangal. The first contains the warm reflections on 8 people who were close to him; whom he loved and respected. The second is a compilation of various articles written over a period of time.
View Book


Nice! But if you think this is wrong or are having any problems, the Origami team are here to help via Slack #origami-support or email<EMAIL_ADDRESS>{{/if}}| requested component | latest version | readmes | report | notes |
|---|---|---|---|---|
| {{name}}@{{requestedVersion}} | {{latestVersion}} | {{name}} readme | {{#if satisfies}} latest | {{else if belowLatestMajorRelease }} {{#if requestedLastBowerMajor}} {{#if hasFurtherNpmOnlyMajorReleases}} major behind {{else}} major behind {{/if}} {{else}} major behind {{/if}} {{else if aboveLatestRelease}} does not exist {{else }} minor/patch behind {{/if}}{{#if satisfies}} Up to date. {{else if belowLatestMajorRelease }} {{#if requestedLastBowerMajor}} No code changes should be required to upgrade to the next major version of {{name}} ({{firstNpmOnlyMajor}}), which adds support for V3 of the Origami Build Service. {{#if hasFurtherNpmOnlyMajorReleases}} However code changes may be required to upgrade further, the latest major version is ({{latestVersion}}). {{/if}} {{else}} To upgrade follow the migration guides linked to from the {{name}} readme. {{/if}} {{else if aboveLatestRelease}} It looks like you've requested a version that does not exist. {{else}} You may be missing out on bug fixes and new features, no code chanages should be required to upgrade. {{/if}} |
Check if a Build Service URL is up to date using the form above. This can be helpful if your project relies on the Build Service and you would like to update to the latest version of components. For example, try submitting this outdated Build Service URL.
https://www.ft.com/__origami/service/build/v2/bundles/css?modules=o-layout@^3.2.0,o-fonts@4.4.0,o-syntax-highlight@^3.0.8,o-table@^8.1.4,o-forms@^8.4.1,o-buttons@^6.2.0,o-header-services@^4.0.15,o-footer-services@^3.3.0&brand=internal


Create ROs!
Browse ROs
Search ROs
About
Search ROs
Here you can search Research Objects by their title, abstract or authors.
Search!


MDMA (Ecstasy), Pre-loaders (Tryptophan - 5-HTP, Tyrosine, Piracetam & Vitamin C), Products - Spice & Amphetamines (Adderall)
I just had my first full ecstasy experience, and it was something I wanted to share. I had tried it once five years ago, I had sniffed half a blue pill with a dolphin icon, and felt the effects, but the experience wasn't what I classified as fully rolling. Now I am an experienced psychonaut, I've done nearly every other substance, but I was always reluctant to try E because of what I saw it do to my friends in the past. I always noticed that Ecstasy lowered peoples intelligence more than other drugs. So I steered clear and mainly stuck with herb and mushrooms.
Well I decided to try some for 2010 New Years, and earlier that day I did some research on the interactions of MDMA with Amphetamine. However I did not do MDMA and Amphetamine at the same time, I waited 12 hours between the two. Well here's the method I used for a great experience:
6:30 am- 50 MG Adderall XR, 10 MG Adderall IR
6:00 pm- I preloaded with: 500 MG 5-HTP, 600 MG N-Acetyl L-Tyrosine, 1000 MG Vitamin C, 800 MG Piracetam (I've found it increases the effects of psychedelics and stimulants).
8:30 pm- My wife and I swallowed 150 MG of MD(M)A, a yellow pill with a pistol icon on it.
9:00 pm- Very subtle but noticable increase in light intensity.
9:15 pm- slight change in color appreciation, slight bouncy feeling.
9:45 pm- effects increase with a discernable body high take hold.
10:00 pm- I am confident that the pills we took were good at this point, I was concerned that the pills might have been just a mix of other drugs, but I could tell you this was far different than any combo of opiates, stimulants, or psychedelics I've had.
10:15 pm- My wife suggests we smoke some spice. As with most of my psychedelic experiences, the cannabanoids really helped usher us completly into the experience.
10:20 pm- I see many visual changes. It was a wavy, smooth, organic ebb and flow similar to mushrooms, only it was less apparent. The body high was absolutly amazing, on par to what I was expecting. It felt like extensions of myself that far extended my physical body were being massaged. Kinda similar to Meth or regular Amphetamines, but way different too. The tweaked out feeling was not felt at all, in fact the stimulation other than the body high was not speedy at all. I was not up or down. I was just in the middle, but really high and happy. The mental changes were very noticable, again like a very low dose shrooms. It was very manageable, and I felt in control the whole night.
10:45 pm- My wife and I stared at a trippy poster I have with stoner/shroomer elves. The elves and forest were mesmerizing. We stared at the for half an hour, with new characters and items that kept popping out of the background and forest. 'I feel so f*@#ing good', I couldn't help but say a few times thoughout the night.
11:30 pm- I had no control over conversational subject matters. I would constantly make connections between subjects that aren't normally associated. I remember an example, somehow I thought of the word clavicle. My buddy had stopped by and I said something like 'The word clavicle sounds like some kind of gremlin from Dragon Ball Z. 'Burn him in Ice Clavicle!!!'' Somehow this was so funny that when I said this my wife, my buddy, and myself literally fell to the floor with uncontrollable laughter. I believe I am on the climax of the experience.
11:55 pm- We controlled our laughing long enough so we could watch the ball drop.
12:00 am - Happy New Year. I feel like this year is gonna be amazing.
12:15 am- The three of us went upstairs to my den, and my friend DJ'ed for me and my wife while we all smoked spice and chilled in the blacklight.
12:45 am- When I went outside to smoke a cigarette (yes I broke my new years resolution that quick), and felt the need to talk to neighbors that I normally never talk to. For some reason I felt the need to warn them about drinking and driving as if they didnt know the dangers. My wife went to bed, just to lay there and think.
1:15 am- My daughter woke up, and I put a childrens movie on for her, she is approx one year, so she talks but its 75% baby talk 25% real words. It seemed as if she could sense the state I was in, and that she was acting different, as if she was feeling the same way. I became very concerned that somehow the E had came out my pores and that somehow she absorbed this through her skin and even though this must be a very small dose, for her age and weight it might be roughly equivalent to my dose. So I took her temp just to make sure this wasn't the case. I was just trippin.
1:45 am- I put my daughter back to bed and went to program some music in my studio. My friend was in there and we jammed. I didn't get mad that he single handedly drank my unopened 20 pack of beer without asking. He was starting to get sloppy drunk, so we just started 'youtubing' (taking turns picking vids on youtube). C-Lo's 'getting grown' was my pick for the night that best summarized my experience.
2:15 am- I fear that I am overheating when I tr to go to bed, but it turns out I left the heater on too high. I smoke some spice and lay down in bed next to my wife. She's awake still, she tells me she is still studying the poster from earlier in her mind. Which I had experienced too, a more photographic memory to art, but with a hallucinogenic imprint, the organic flow is still imprinted and stayed imprinted like that well into the next day, especially when I smoked spice.
4:00 am- I go to bed still feeling the ecstasy, the very slow come down was not that noticable.
The next day my wife and I post loaded (same doses of 5-HTP, Vitamin C, L-Tyrosine)
POSTNOTES
The come down wasn't that bad, it was a lazy day the next day. My wife and I had moderate cramps in our calves, similar to the achiness the day after LSD. We sleep alot throughout the day (Friday). The day after that (Saturday) I was noticable less patient and quick to anger, until I redosed with 5-HTP, Vitamin C, L-Tyrosine. It is now midday saturday and I took another 60 MG of Adderall and the Postloading from E has made the Amphetamines quite a bit stronger.
CONCLUSION:
This was not a life changing revelation like ayahuasca, it wasn't deep and meaningful like shrooms, it was just pleasure. The mind high is there to change the perception of the body changes, in my opinion.
All in all this is a very nice substance, but I'm glad I did my homework and waited until I was older, because this is a very easy drug to handle and I can see why people do it again and again. It feels great.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


#import <NTOptions.h>
Inherits NSObject.
A class containing various options for rendering and map manipulation.
| - (NTColor *) getAmbientLightColor |
Returns the color of the ambient light.
| - (NTBitmap *) getBackgroundBitmap |
Returns the background bitmap. May be null.
| - (NTProjection *) getBaseProjection |
Returns the base projection.
| - (float) getDPI |
Returns the dots per inch value.
| - (float) getDrawDistance |
Returns the draw distance value.
| - (int) getEnvelopeThreadPoolSize |
Returns the number of threads used by the envelope task pool.
| - (int) getFieldOfViewY |
Returns the vertial field of view angle.
| - (NTScreenPos *) getFocusPointOffset |
Returns the focus point offset (from screen center) in pixels.
| - (NTColor *) getMainLightColor |
Returns the color of the main light.
| - (NTMapVec *) getMainLightDirection |
Returns the direction of the main light.
| - (NTMapBounds *) getPanBounds |
Returns the map panning bounds constraints. Map bounds minimum and maximum points are in the base
projection's coordinate system.
| - (enum NTPanningMode) getPanningMode |
Returns the panning mode.
| - (enum NTPivotMode) getPivotMode |
Returns the pivot mode.
| - (enum NTProjectionMode) getProjectionMode |
Returns the projection mode.
| - (NTBitmap *) getSkyBitmap |
Returns the sky bitmap. May be null.
| - (int) getTileDrawSize |
Returns the tile size used for drawing map tiles.
| - (int) getTileThreadPoolSize |
Returns the number of threads used by the tile task pool.
| - (NTMapRange *) getTiltRange |
Returns the tilt range constraint.
| - (float) getWatermarkAlignmentX |
Returns the horizontal alignment of the watermark.
| - (float) getWatermarkAlignmentY |
Returns the vertical alignment of the watermark.
| - (NTBitmap *) getWatermarkBitmap |
Returns the watermark bitmap. May be null.
| - (NTScreenPos *) getWatermarkPadding |
Returns the padding of the watermark.
| - (float) getWatermarkScale |
Returns the watermark relative scale.
| - (NTMapRange *) getZoomRange |
Returns the zoom range constraint.
| - (NSUInteger) hash |
Returns the hash value of this object.
| - (BOOL) isClickTypeDetection |
Returns the click type detection state.
| - (BOOL) isEqual: | (id) | object |
Checks if this object is equal to the specified object.
| object | The reference object. |
| - (BOOL) isKineticPan |
Returns the state of the kinetic panning flag.
| - (BOOL) isKineticRotation |
Returns the state of the kinetic rotation flag.
| - (BOOL) isKineticZoom |
Returns the state of kinetic zoom flag.
| - (BOOL) isRotatable |
Returns the state of the map rotatability flag.
| - (BOOL) isSeamlessPanning |
Returns the state of seamless horizontal panning flag.
| - (BOOL) isTiltGestureReversed |
Returns true if tilting gesture direction is reversed (and same as with Google Maps).
| - (BOOL) isUserInput |
Returns the state of the user input flag.
| - (void) setAmbientLightColor: | (NTColor*) | color |
Sets the ambient light color.
Ambient light affects all lighting enabled models in the scene equally, it has no direction or location.
| color | The new color for the ambient light. |
| - (void) setBackgroundBitmap: | (NTBitmap*) | backgroundBitmap |
Sets the background bitmap. The purpose of the background bitmap is to fill out the empty space when there's
no map data visible. The bitmap will get scaled and repeated to cover the hole visible area. If a null pointer is passed,
the background won't be drawn.
The width and height of the bitmap must be power of two (for example: 256 * 256 or 128 * 512).
It's also preferred if the bitmap was square (width == height), but this is not a requirement.
The default is "default_background.png".
| backgroundBitmap | The new background bitmap. |
| - (void) setBaseProjection: | (NTProjection*) | baseProjection |
Sets the base projection. All MapView, MapEventListener and Options methods use the coordinate system of this projection.
For example, if base projection is set to EPSG3857 then MapView::getFocusPos returns the coordinates in the EPSG3857 coordinate system,
The same applies to setter methods like MapView::setFocusPos which expect the input coordinates to be in the base projection's coordinate system.
The default is EPSG3857.
| baseProjection | The new base projection. |
| - (void) setClickTypeDetection: | (BOOL) | enabled |
Sets the state of the click type detection flag. If set to true clicks are categorized as normal clicks, double clicks,
long clicks and dual clicks. The click type resolving take about 400ms, so for applications that do not
require this functionality, it can be turned off. The default is true.
| enabled | The new state of the click type detection flag. |
| - (void) setDPI: | (float) | dpi |
Sets the dots per inch value. This is calculated automatically by the SDK when the MapView is created using
the device screen parameters. The purpose of this value is to compensate for very high or low resolution devices,
so that the map remains readable.
| dpi | The new dots per inch value. |
| - (void) setDrawDistance: | (float) | drawDistance |
Sets a new draw distance value. The higher the draw distance the more tiles can be seen, if the map is tilted.
Changing the draw distance will cause the horizon to move, which means that the if the sky bitmap is used,
the horizon may not match up anymore. Increasing this value will decrease performance and increase network traffic,
if online map is used. The default is 16.
| drawDistance | The new draw distance value. |
| - (void) setEnvelopeThreadPoolSize: | (int) | poolSize |
Sets the number of threads used by the envelope task pool. More threads means more envelope tasks
are executed in parallel. This might speed up the data query, but may cause performance drops. Default is 1.
| poolSize | The new envelope task thread pool size. |
| - (void) setFieldOfViewY: | (int) | fovY |
Sets the vertial field of view angle. Larger values increase the viewable area, at the cost of performance and
additional perspective distortion. The default is 70.
| fovY | The new vertical field of view angle in degrees. |
| - (void) setFocusPointOffset: | (NTScreenPos*) | offset |
Sets the focus point offset (from screen center) in pixels.
| offset | The new focus point offset in pixels. |
| - (void) setKineticPan: | (BOOL) | enabled |
Sets the state of the kinetic panning flag. Kinetic panning allows the map to pan automatically using
the inertia of the last swipe, after the user has finished interacting with the touch screen.
Default is true.
| enabled | The new state of the kinetic panning flag. |
| - (void) setKineticRotation: | (BOOL) | enabled |
Sets the state of the kinetic rotation flag. Kinetic rotation allows the map to rotate automatically using
the inertia of the last swipe, after the user has finished interacting with the touch screen.
Default is true.
| enabled | The new state of the kinetic rotation flag. |
| - (void) setKineticZoom: | (BOOL) | enabled |
Sets the state of the kinetic zooming flag. Kinetic zooming allows the map to zoom automatically using
the inertia of the last swipe, after the user has finished interacting with the touch screen.
Default is true.
| enabled | The new state of the kinetic zooming flag. |
| - (void) setMainLightColor: | (NTColor*) | color |
Sets the color of the main light. The main light affects all lighting enabled models
in the scene equally from a certain direction. This light can be used to simulate sun or moon light.
| color | The new color for the main light. |
| - (void) setMainLightDirection: | (NTMapVec*) | direction |
Sets the direction of the main light. The main light affects all lighting enabled models
in the scene equally from a certain direction. This light can be used to simulate sun or moon light.
| direction | The new direction vector for the main light. (0,0,-1) means straight down, (-0.707,0,-0.707) means from east with a 45 degree angle. The direction vector will be normalized. |
| - (void) setPanBounds: | (NTMapBounds*) | panBounds |
Sets the map panning bounds constraints. This will limit camera movement to the specified bounds.
The current camera position will remain unaffected, until the next time camera position changes.
Map bounds minimum and maximum points are expected to be in the base projection's coordinate system.
If the bounds are larger than the world size, they will be clamped to world bounds. The default value covers the
whole world.
| panBounds | The new map bounds constraints. |
| - (void) setPanningMode: | (enum NTPanningMode) | panningMode |
Sets the panning mode. The default is PanningMode::FREE.
| panningMode | The new panning mode. |
| - (void) setPivotMode: | (enum NTPivotMode) | pivotMode |
Sets the pivot mode. The default is PivotMode::TOUCHPOINT
| pivotMode | The new pivot mode. |
| - (void) setProjectionMode: | (enum NTProjectionMode) | projectionMode |
Sets the projection mode. The default is ProjectionMode::PERSPECTIVE.
| projectionMode | The new projection mode. |
| - (void) setRotatable: | (BOOL) | enabled |
Sets the state of the map rotatability flag. If set to false the map can't be rotated by any means. The default is true.
| enabled | The new state of the map rotatability flag. |
| - (void) setSeamlessPanning: | (BOOL) | enabled |
Sets the state of seamless horizontal panning flag. If set to true, the user can scroll seamlessly from
the left side of the map to the right, and the other way around. The default is true.
| enabled | The new state of seamless horizontal panning flag. |
| - (void) setSkyBitmap: | (NTBitmap*) | skyBitmap |
Sets the sky bitmap. The purpose of the sky bitmap is to fill out the empty space visible at low tilt angles.
The bitmap is folded horizontally into 4 equal parts making up the north, east, south and west sides of the sky.
The horizon of the sky should be vertically centered, for references look at the default sky bitmap bundled with the SDK.
If a null pointer is passed, the sky won't be drawn.
The width and height of the bitmap must be power of two (for example: 256 * 256 or 128 * 512). In the most common
use case the width of the bitmap is 4 times the height (width == 4 * height), but this is not a requirement.
The default is "default_sky.png".
| skyBitmap | The new sky bitmap. |
| - (void) setTileDrawSize: | (int) | tileDrawSize |
Sets the tile size for drawing map tiles. Different datasources may have different tile sizes, this option
can be used to compensate for bigger or smaller tiles than default. The default is 256.
| tileDrawSize | The new tile size in density-independent pixels (dp). |
| - (void) setTileThreadPoolSize: | (int) | poolSize |
Sets the number of threads used by the tile task pool. More threads means more tile tasks
are executed in parallel. This might speed up the data query, but may cause performance drops. Default is 1.
| poolSize | The new tile task thread pool size. |
| - (void) setTiltGestureReversed: | (BOOL) | reversed |
Sets the tilting gesture direction. By default, the gesture is not reversed.
| reversed | True if Google Maps compatible mode should be used. False otherwise (default). |
| - (void) setTiltRange: | (NTMapRange*) | tiltRange |
Sets the tilt range constraint. This will limit the tilt angle of the camera to the specified range.
The current tilt angle will remain unaffected, until the next time the tilt angle changes.
The minimum tilt angle is 30 degrees and the maximum is 90 degrees. Values that are out of range will be clamped.
The default value is MapRange(30, 90).
| tiltRange | The new tilt range constraint in degrees. |
| - (void) setUserInput: | (BOOL) | enabled |
Sets the state of the user input flag. If set to false the user won't be able to pan the map using touch controls,
programmatic map panning using MapView methods is still possible. The default is false.
| enabled | The new state of the user input flag. |
| - (void) setWatermarkAlignmentX: | (float) | alignmentX |
Sets the position of the watermark relative to the screen. Values will be clamped to [-1, 1] range.
| alignmentX | The new horizontal alignment for the watermark. -1 means the left side, 0 the center and 1 the right side. The default is 1. |
| - (void) setWatermarkAlignmentY: | (float) | alignmentY |
Sets the position of the watermark relative to the screen. Values will be clamped to [-1, 1] range.
| alignmentY | The new vertical alignment for the watermark. -1 means the bottom, 0 the center and 1 the top. The default is -1. |
| - (void) setWatermarkBitmap: | (NTBitmap*) | watermarkBitmap |
Sets the watermark bitmap. This is only available with enterprise licenses. The watermark will be displayed
on top of the map view in a user chosen corner. If null is passed no watermark will be displayed.
| watermarkBitmap | The new watermark bitmap. |
| - (void) setWatermarkPaddingX: | (NTScreenPos*) | padding |
Sets the padding between the watermark and the edge of the screen.
| padding | The new padding for the watermark in dp. The default is 4,4. |
| - (void) setWatermarkScale: | (float) | scale |
Set the watermark relative scale. By default, watermark size is independant of the actual watermark bitmap size.
This method can be used to change this.
| scale | The new relative scale value. |
| - (void) setZoomRange: | (NTMapRange*) | zoomRange |
Sets the zoom range constraint. This will limit the zoom level of the camera to the specified range.
The current zoom level will remain unaffected, until the next time the zoom level changes.
The minimum zoom value is 0 and the maximum is 24. Values that are out of range will be clamped.
The default value is MapRange(0, 24).
| zoomRange | The new zoom range constraint. |


Widget Integration
Widget feature is an SAQ-A compliant solution, which gives you a styled out-of-the-box payment form for end customers, both as a modal view or directly in your website.
Integrate and use in 3 steps
Depending on your needs, you can choose between Modal and Inline Widget.
Modal Widget
1. Create your order
You should create an order on your server through our API. See how to do it here.
2. Show Widget to end customer
Display a styled modal view, in which the end customer can fill and submit his/her payment information. Follow the guide for implementing modal functionality in details here.
3. Get informed about payment status
Check the webhooks on all events you've subscribed for. See how to get notified here (Link to Notifications).
Pull information for the order’s status through our API. See example here.
Inline Widget
1. Create your order
You should create an order on your server through our API. See how to do it here.
2. Show Widget to end customer
Display an iframe directly into your website, in which the end customer can fill and submit his/her payment information. Follow the guide for implementing inline functionality in details here.
3. Get informed about payment status
Check the webhooks on all events you've subscribed for. See how to get notified here (Link to Notifications).
Pull information for the order's status through our API. See example here.
Widget as a Bridge
1. Show Widget to end customer
Display an iframe directly into your website, in which the end customer can fill and submit his/her payment information. Follow the guide for implementing inline functionality in details here.
2. Save the payment instrument
As a response you recieve a payment instrument.
3. Create your order with the payment instrument
You should create an order on your server through our API. See how to do it here.
4. Get informed about payment status
Check the webhooks on all events you've subscribed for. See how to get notified here (Link to Notifications).
Pull information for the order's status through our API. See example here.


[IRCBot_Handlers] element index
Package indexes
default
IRCBot
All elements
a
b
e
g
h
i
q
r
s
_
_
top
__construct
IRCBot_Handlers_Bots::__construct()
in Bots.php
__construct
IRCBot_Handlers_Signals::__construct()
in Signals.php
a
top
addBot
IRCBot_Handlers_Bots::addBot()
in Bots.php
allBotsExecute
IRCBot_Handlers_Bots::allBotsExecute()
in Bots.php
addEventCallback
IRCBot_Handlers_Events::addEventCallback()
in Events.php
Registers a callback with the specific event
addQueue
IRCBot_Handlers_Queues::addQueue()
in Queues.php
addSocket
IRCBot_Handlers_Sockets::addSocket()
in Sockets.php
b
top
Bots.php
Bots.php
in Bots.php
e
top
Events.php
Events.php
in Events.php
g
top
getBotById
IRCBot_Handlers_Bots::getBotById()
in Bots.php
getQueueById
IRCBot_Handlers_Queues::getQueueById()
in Queues.php
getSignals
IRCBot_Handlers_Signals::getSignals()
in Signals.php
This function will call the signal handlers for pending signals
getSocketById
IRCBot_Handlers_Sockets::getSocketById()
in Sockets.php
h
top
handleBots
IRCBot_Handlers_Bots::handleBots()
in Bots.php
handleSignal
IRCBot_Handlers_Signals::handleSignal()
in Signals.php
i
top
IRCBot_Handlers_Bots
IRCBot_Handlers_Bots
in Bots.php
The bot handler class
IRCBot_Handlers_Events
IRCBot_Handlers_Events
in Events.php
The IRCBot event handler
IRCBot_Handlers_Queues
IRCBot_Handlers_Queues
in Queues.php
The queue handler
IRCBot_Handlers_Signals
IRCBot_Handlers_Signals
in Signals.php
The signal handler class
IRCBot_Handlers_Sockets
IRCBot_Handlers_Sockets
in Sockets.php
The socket handler
q
top
Queues.php
Queues.php
in Queues.php
r
top
raiseEvent
IRCBot_Handlers_Events::raiseEvent()
in Events.php
Raises the specific event with the data if given
s
top
Signals.php
Signals.php
in Signals.php
Sockets.php
Sockets.php
in Sockets.php
a
b
e
g
h
i
q
r
s
_


Easily create your widgets the way you desire. Let the widgets calculate their width automatically, place them and start using.


{% extends "base.html" %} {% block content %}
Please review this list and make any needed edits in your config.py. Once you have completed your edits, please revisit or refresh this page.
{% if broken|length != 0 %}Click initialize database to move to the next step.
{% endif %} {% endblock %}


Data enthusiast, passionate about making useful and functional insights from the sea of data available.
A firm believer of perseverance and hardwork.

Esports fanatic, tech geek. Enjoy photography - everything is beautiful, it's all about perception.
I am currently pursing my Masters degree at USF with a focus in Data and Business Analytics. I am graduating in December 2018.
Dec 2018As a Senior Systems Engineer, my role was to ensure the smooth running of the Order and Fulfilment System of my Client.
Mar 2017I completed my Bachelors degree in Electronics and Communication Engineering
May 2014R programming
Regression Analysis
Python
Tableau
SQL
Requirement elicitaion
Unified Modelling Language


The requested URL was not found on this server aka 404.
Maybe the link on the referring page is wrong or outdated. whynotboth.gif
Maybe you entered the URL manually so please check your speling and try again.


Made for you
Enter the world of the All-New Renault Twingo
Make the city your playground. Take Twingo for a spin to find out why.
THE BEST IN INNOVATION
TECHNOLOGY
LET YOUR SMARTPHONE TAKE CONTROL
The R&Go® Smartphone application turns your phone into a touchscreen dashboard and adds navigation to your Twingo. When connected to the vehicle via Bluetooth®, your phone's screen provides ergonomic and intuitive access to the features of your car's stereo, navigation through the application and your phone. R&Go® is available on Apple iOS and Android
R-LINK EVOLUTION MAKES LIFE EASIER
Looking for easy solutions? R-LINK combines modern interfaces with attractive graphics. With its touch screen, steering-wheel controls and voice command function, R-Link is ideally suited to cars. Use TomTom® navigation to find your way, make hands-free calls using the Bluetooth® function and customize your Renault R-Link Evolution with the app catalogue on R-Link Store.
STOP & START TECHNOLOGY
Stop & Start cuts the engine when you come to a standstill and starts it again automatically. An ideal solution to consume less fuel, emit fewer pollutants and make less noise. The engine stops when you put the car in neutral and starts again when you let out the clutch.
ENERGY SMART MANAGEMENT (ESM)
Fewer emissions and better fuel consumption? ESM technology makes this possible with the Energy TCe 90 engine. ESM recovers kinetic energy and uses it to recharge the battery and optimise consumption of electrical energy.
COMFORT AND CONVENIENCE
COMFORT
THE CITY IS ITS PLAYGROUND
All-New Twingo is ideally suited to urban driving: compact and agile, it can go anywhere. Parking manoeuvres are easy, since All-New Twingo is just 3.59m long, with a record turning circle of 8.59m, rear parking sensors and reversing camera (optional)! The range of petrol engines lets you adapt your driving to any type of road.
A SPACIOUS INTERIOR
Although 10cm shorter than the previous Twingo, All-New Twingo is more spacious inside with an extra 22cm in the cabin! The cabin is designed to provide as much space as possible. You can carry loads of up to 2.30m, a first for a compact city car! The flat boot floor lets you make full use of capacity. Overall, All-New Twingo provides an extra 52 litres of interior storage space.
A FUNCTIONAL INTERIOR
A rear-mounted engine? A surprising choice for All-New Twingo, but one that maximizes onboard space. All-New Twingo features a functional, easy-access storage compartment for front passengers. Discover the generously sized illuminated glovebox that locks and unlocks at the same time as the vehicle.
CLIMATE CONTROL
With a cabin filter. Optional depending on versions.
SOFT-TOP ROOF
Open the soft-top roof using the power controls.
automatic headlights
The rain and light sensor turns on the wipers and dipped-beam lights automatically.
REAR PARKING SENSORS
Parking is easy! The function warns you of any obstacles with a series of beeps that become more frequent and then turn into a continuous tone as you move closer. The reversing camera shows you the space available for parking on your Renault R-Link screen.
VARIABLE-ASSIST POWER STEERING
Alongside its conventional power steering, All-New Twingo is available with variable-assist power steering with the Energy TCe 90 engine. This function turns the wheels more quickly to their maximum angle.
HILL-START ASSIST
Not of fan of hill starts? No more worries about slipping backwards! On a slope, All-New Twingo remains still for two seconds when you take your foot off the brake. Leaving you time to calmly move off!
DRIVE WITH COMPLETE PEACE OF MIND
SAFETY
ABS ANTI-WHEEL LOCKING
Drive safely with ABS braking assistance. If you brake suddenly, it will prevent the wheels from locking and help you keep control of steering. At the same time, emergency brake assist (EBA) will help you stay on course no matter how hard you brake.
ESC ELECTRONIC STABILITY CONTROL
If the car loses its grip, the ESC function helps you keep the car under control without swerving off course.
A CRUISE CONTROL/SPEED LIMITER FOR A MORE RELAXED DRIVE
Enjoy a more relaxed drive with the cruise control/speed limiter function. Steering-wheel controls let you set a steady driving speed (cruise control) or a maximum speed that you do not wish to exceed (speed limiter function).
ISOFIX, SECURELY ATTACHED CHILD SEATS
ISOFIX lets you install child seats on the two rear seats. Carry your children safely!
STAY ON COURSE WITH THE LANE DEPARTURE WARNING FUNCTION
Using a camera on the central rearview mirror, this function activates a light and sound alert if you drift out of your lane.
AIRBAGS FOR ADVANCED DRIVING PROTECTION
All-New Twingo is equipped with front and side airbags for you and your passenger. If you want to install a child seat at the front, you can easily disconnect the passenger airbag.
TYRES UNDER CONTROL
To prevent loss of vehicle control, a function warns you if tyre pressure is insufficient or in the event of a puncture.
VISIBLE BY DAY AND NIGHT
All-New Twingo is equipped with LED lights to make sure that you can be seen easily from a distance or in sunlight. In the event of poor weather, the fog lights improve visibility. Standard on some versions.
YOUR QUESTIONS ANSWERED
Videos
Ready to take Twingo for a spin?
Go even further


Welcome to Burger
Heaven Online
Select burger
This is where you execute burger selection
{{item.name}}
- {{item.kCal}}
- {{item.info1}}
- {{item.info2}}
Customer information
This is where you provide necessary information.
Delivery information
Click in the map!
Open dispatcher in new window.
{{"T"}}


Wherever your learning takes place, Blackboard provides the tools that elevate education for all.
We believe that learning should be available to access anywhere, at any time, and offer learners the best possible experience. And we’re passionate about the way technology can enable that across universities, school classrooms, professional training and public sector environments. What do you need to achieve?
Higher Education
Delivering world class higher education requires change. Blackboard's innovative technologies have been improving quality outcomes for a decade and a half. Find out how we can help you.
Learn more >
Further Education
Provide access to learning and your services anytime, anywhere using Blackboard's suite of tools which ensure you are never far away.
Learn more >
Schools
Differentiate yourself, involve parents and make efficiencies by creating a competitive edge in communication, learning access, and collaboration.
Learn more >
Corporations
Engage your workforce, increase performance, and develop their skills to deliver your long-term business strategies. Blackboard’s solutions can help.
Learn more >
Public Sector
Becoming more agile has never been more important. Blackboard provides the solutions to educate and engage both your workforce and community.
Learn more >
Explore our Platforms
Blackboard Learn
There's good reason Blackboard Learn is such a popular Virtual Learning Environment. It's the foundation for a rich online education experience, delivering all the technology, services and support you need.
Learn more >
Blackboard Collaborate
Exceptional learning from wherever you are. Blackboard Collaborate creates a real-time online collaboration platform that will engage everyone with each other and with your content by desktop or mobile device.
Learn more >
Blackboard Connect
Connect with your Community when It matters most. Blackboard Connect offers two way and multi model communication tools for instant, effective interaction and dialogue.
Learn more >
Blackboard Mobile
Your institution in their hands. Blackboard Mobile puts the power of the VLE in learners’ pockets and extends campus life and your brand to their devices. Wherever your community goes, they will take you with them.
Learn more >
Blackboard Analytics
Make better business decisions, faster. Blackboard Analytics brings all your enterprise data together, and using proven data models specific to Education yields actionable information from it, fast.
Learn more >


Welcome to Algo’s Project documentation!¶
BWT¶
-
class
BWT.
TransformeeBW
(controller)¶ Class of Burrows-Weeler transformation.
-
reconstruction_seq
(bwt: str)¶ Method of re-transformation of the BWT sequence into the original sequence.
- bwtstr
BWT sequence
- seqstr
initial DNA sequence
-
static
save
(bwt: str)¶ Method which save bwt sequence when a transformation of sequence is made.
- bwtstr
BWT sequence
-
static
sort_and_print_matrix
(m: list, list_of_mat: list)¶ Method to sort and allows display matrix m.
- mlist
matrix with elements that we want to sort and display
- list_of_matlist
list of elements that we will display in the GUI later
-
transformation_seq
(sequence: str)¶ Transformation method to obtain the BWT sequence.
- sequencestr
DNA sequence that we want to make Burrows-Weeler transformation
- bwtstr
BWT sequence corresponding to Burrows-Weeler transformation of DNA sequence
-
compression_huffman¶
-
class
compression_huffman.
HuffmanCompression
(sequence: str)¶ Class of Huffman Compression.
-
char_to_str_binary
(node, bin_char='')¶ This method create a dictionary which give the binary number of each character. This binary number corresponds to the path taken from the root of the tree: 0 = left; 1 = right.
- nodenode object
root node of the tree
- bin_charstr
binary character associated with the node according to if is a left child or a right child
-
compression
()¶ This method compress the sequence. This method given the unicode sequence which correspond to the initial sequence.
-
creation_tree
()¶ This method create the binary tree which represent the best compression.
- tree_list[0]object
root node of the tree
-
freq_nucleotide
()¶ This method create the frequency dictionary of the characters of the sequence.
- freqdict
frequency dictionary of the characters of the sequence
-
save_compression
()¶ This method save parameters of Huffman compression.
-
tree_node¶
-
class
tree_node.
TreeNode
(char, data)¶ Class to make a tree node.
-
is_leaf
()¶ This method test if my node is a leaf or not.
- True or Falsebooleen
return true if node is leaf, else return false
-
update_child
(left, right)¶ This method update child of a node.
- leftobject
node which is the left child of the self node
- rightobject
node which is the right child of the self node
-
view¶
-
class
view.
View
(controller)¶ Class of the Graphical User Interface (GUI).
-
add_label
(text_add: str)¶ This method allows add Label widget.
- text_addstr
text that we want to add in Label widget
This method create button of the final BWT page.
This method create buttons of the BWT pages.
This method create button of the BWT sequence to reconstruction DNA sequence page.
-
bwt_page
()¶ This method create the BWT page.
This method creates a menu bar that contains several tabs, each tab gives access to a feature of the GUI.
-
decomp_bwt_huffman_page
(unicode_seq, binary_seq, initial_seq)¶ This method create the Huffman decompression to bwt sequence page.
- unicode_seqstr
unicode sequence
- binary_seqstr
binary sequence corresponding to the BWT sequence
- initial_seqstr
BWT sequence
-
decomp_huffman_page
(unicode_seq, binary_seq, initial_sequence)¶ This method create the Huffman decompression page.
- unicode_seqstr
unicode sequence
- binary_seqstr
binary sequence corresponding to the initial DNA sequence
- initial_sequencestr
DNA initial sequence
-
huffman_bwt_page
(seq, binary_seq, unicode_dict, seq_unicode)¶ This method create the BWT to Huffman compression page.
- seqstr
BWT sequence
- binary_seqstr
binary sequence corresponding to the BWT sequence
- unicode_dictdict
dictionary with key = binary byte and value = unicode corresponding
- seq_unicodestr
unicode sequence corresponding to the BWT sequence
-
huffman_page
(seq, binary_seq, unicode_dict, seq_unicode)¶ This method create the Huffman compression page.
- seqstr
DNA sequence that you have enter in previous page
- binary_seqstr
binary sequence corresponding to the initial DNA sequence
- unicode_dictdict
dictionary with key = binary byte and value = unicode corresponding
- seq_unicodestr
unicode sequence corresponding to the initial sequence
-
main
()¶ This method allows initializes the main window of the GUI.
-
main_page
()¶ This method create the main page of the GUI. This page allows to make a Burrows-Weeler transformation or a Huffman compression.
-
open_file
()¶ This method open a selected file to process it according to its contents.
-
recon_bwt_page
()¶ This method create the BWT sequence to reconstruction DNA sequence page.
-
reset
()¶ This method allows widget reset, except the widget of the menu bar. This function is particularly useful when user changes tabs, or also if user clicks on the tab again.
This method allows button widget reset.
-
main controller¶
-
class
main_controller.
Controller
¶ Class of controller which make the link between TransformeeBW, HuffmanCompression, HuffmanDecompression models and the view of the GUI.
This method is called when using the BWT To Seq button. This method launches recontruction of DNA sequence starting from BWT sequence, and update the view consequently.
This method is called when using the BWT button. This method launches Burrows-Weeler transformation of DNA sequence, and update the view consequently.
- seqstr
DNA sequence
-
check_file
(path)¶ This method is called when user open file. This method check what file is and make action consequently.
- pathstr
path of the file that we want to open
This method is called when using the Huffman Decompression button on Huffman Compression page when Burrows-Weeler transformation was made before Huffman compression. This method launches Huffman decompression of unicode sequence, and update the view consequently.
This method is called when using the Huffman Decompression button on Huffman Compression page. This method launches Huffman decompression of unicode sequence, and update the view consequently.
This method is called when using the Huffman Compression button. This method launches Huffman compression of DNA or BWT sequence, and update the view consequently.
- seqstr
DNA sequence
This method is called when using the Huffman Compression button on BWT page when Burrows-Weeler transformation was made. This method launches Huffman compression of BWT sequence, and update the view consequently.
- seqstr
BWT sequence
-
main
()¶ This method allows initialization of the main interface.
-
print_final_matrix_bwt
()¶ This method is called when using the View Final Results button on BWT page, or when print_matrix_bwt_by_step method is at the last step. This method allows display lasts step of Burrows-Weeler transformation and BWT sequence.
-
print_matrix_bwt_by_step
()¶ This method is called when using the Next Step button on BWT page. This method allows display Burrows-Weeler transformation step by step.
-
print_matrix_recon_bwt
()¶ This method is called when using the View Final Results button on reconstruction BWT page, or when print_step_recon_bwt method is at the last step. This method allows display lasts step of recontruction of DNA sequence and initial DNA sequence.
-
print_step_recon_bwt
()¶ This method is called when using the Next Step button on reconstruction BWT page. This method allows display recontruction of DNA sequence step by step.


USD/IDR Technical Analysis: 200-day SMA, 3-month-old trendline limit immediate upside
by Anil Panchal- USD/IDR stays below near-term key resistances.
- 23.6% of Fibonacci retracement acts as immediate support.
- Mid-August tops gain bull’s attention on the successful breakout.
USD/IDR offers no major moves while trading below key resistances. The quote seesaws near 14,095 by the press time of early Friday.
Given the pair’s sustained trading below 200-day Simple Moving Average (SMA) level of 14,165 and a descending trend line since late-August, prices are likely to extend the downpour.
In doing so, 23.6% Fibonacci retracement level of August-September declines, at 14,045, can offer immediate support ahead of multiple lows near 13,975.
Though, lows marked in early-August and also in September also strong support around 13,880.
Meanwhile, pair’s sustained a break of 14,190, comprising the aforementioned resistance line, could trigger fresh rise towards 61.8% Fibonacci retracement level near 14,315 whereas mid-August tops close to 14,365 could challenge buyers then after.
Should there be further upside beyond 14,365, the 14,415 level can offer an intermediate halt during the rise to August month top of 14,583.
USD/IDR daily chart
Trend: Bearish
additional important levels
| Overview | |
|---|---|
| Today last price | 14091.7 |
| Today Daily Change | -0.3000 |
| Today Daily Change % | -0.00% |
| Today daily open | 14092 |
| Trends | |
|---|---|
| Daily SMA20 | 14059.1525 |
| Daily SMA50 | 14098.433 |
| Daily SMA100 | 14114.6595 |
| Daily SMA200 | 14164.856 |
| Levels | |
|---|---|
| Previous Daily High | 14148 |
| Previous Daily Low | 14038.504 |
| Previous Weekly High | 14203.511 |
| Previous Weekly Low | 13995.819 |
| Previous Monthly High | 14273.8 |
| Previous Monthly Low | 13971.3 |
| Daily Fibonacci 38.2% | 14080.3315 |
| Daily Fibonacci 61.8% | 14106.1725 |
| Daily Pivot Point S1 | 14037.6693 |
| Daily Pivot Point S2 | 13983.3387 |
| Daily Pivot Point S3 | 13928.1733 |
| Daily Pivot Point R1 | 14147.1653 |
| Daily Pivot Point R2 | 14202.3307 |
| Daily Pivot Point R3 | 14256.6613 |


Encrypt and Decrypt - This scenario demonstrates how to Encrypt and Decrypt data with the WinRT APIs for supported Algorithms and Key Sizes.


|
|
{{name}}It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is
|
€ {{price}} |
€ {{price}} |


{% include header.html %} {% include banner.html %}
You can use the editor on GitHub to maintain and preview the content for your website in Markdown files.

Markdown is a lightweight and easy-to-use syntax for styling your writing. It includes conventions for
Syntax highlighted code block
# Header 1
## Header 2
### Header 3
- Bulleted
- List
1. Numbered
2. List
**Bold** and _Italic_ and `Code` text
[Link](url) and ![Image](src)
For more details see GitHub Flavored Markdown.
The name of this theme is saved in the Jekyll _config.yml
configuration file.
Having trouble with Pages? Check out our documentation or contact support and we’ll help you sort it out.


Privacy Policy
This policy is effective as of 27 February 2019.
Simply
Every page uses Google Analytics which uses cookies and collects usage information. I use this information to improve the website. Google Analytics can be disabled by following the directions on Google Analytics Opt-out Browser Add-on. Those who use the contact form provide their email address.
Exactly
Your privacy is important to me. It is Bradley L. Davis' policy to respect your privacy regarding any information I may collect from you across my website, bradleydavis.tech, and other sites I own and operate.
I only ask for personal information when I truly need it to provide a service to you. I collect it by fair and lawful means, with your knowledge and consent. I also let you know why I'm collecting it and how it will be used.
I only retain collected information for as long as necessary to provide you with your requested service. What data I store, I'll protect within commercially acceptable means to prevent loss and theft, as well as unauthorized access, disclosure, copying, use or modification.
I don’t share any personally identifying information publicly or with third-parties, except when required to by law.
My website may link to external sites that are not operated by me. Please be aware that I have no control over the content and practices of these sites, and cannot accept responsibility or liability for their respective privacy policies.
You are free to refuse my request for your personal information, with the understanding that I may be unable to provide you with some of your desired services.
Your continued use of my website will be regarded as acceptance of my practices around privacy and personal information. If you have any questions about how I handle user data and personal information, feel free to contact me.
Terms of Service
1. Terms
By accessing the website at bradleydavis.tech, you are agreeing to be bound by these terms of service, all applicable laws and regulations, and agree that you are responsible for compliance with any applicable local laws. If you do not agree with any of these terms, you are prohibited from using or accessing this site. The materials contained in this website are protected by applicable copyright and trademark law.
2. Use License
- Permission is granted to temporarily download one copy of the materials (information or software) on Bradley
L. Davis' website for personal, non-commercial transitory viewing only. This is the grant of a license, not a
transfer of title, and under this license you may not:
- modify or copy the materials;
- use the materials for any commercial purpose, or for any public display (commercial or non-commercial);
- attempt to decompile or reverse engineer any software contained on Bradley L. Davis' website;
- remove any copyright or other proprietary notations from the materials; or
- transfer the materials to another person or "mirror" the materials on any other server.
- This license shall automatically terminate if you violate any of these restrictions and may be terminated by Bradley L. Davis at any time. Upon terminating your viewing of these materials or upon the termination of this license, you must destroy any downloaded materials in your possession whether in electronic or printed format.
3. Disclaimer
- The materials on Bradley L. Davis' website are provided on an 'as is' basis. Bradley L. Davis makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights.
- Further, Bradley L. Davis does not warrant or make any representations concerning the accuracy, likely results, or reliability of the use of the materials on his website or otherwise relating to such materials or on any sites linked to this site.
4. Limitations
In no event shall Bradley L. Davis or his suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on Bradley L. Davis' website, even if Bradley L. Davis or a Bradley L. Davis authorized representative has been notified orally or in writing of the possibility of such damage. Because some jurisdictions do not allow limitations on implied warranties, or limitations of liability for consequential or incidental damages, these limitations may not apply to you.
5. Accuracy of materials
The materials appearing on Bradley L. Davis' website could include technical, typographical, or photographic errors. Bradley L. Davis does not warrant that any of the materials on his website are accurate, complete or current. Bradley L. Davis may make changes to the materials contained on his website at any time without notice. However Bradley L. Davis does not make any commitment to update the materials.
6. Links
Bradley L. Davis has not reviewed all of the sites linked to his website and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by Bradley L. Davis of the site. Use of any such linked website is at the user's own risk.
7. Modifications
Bradley L. Davis may revise these terms of service for his website at any time without notice. By using this website you are agreeing to be bound by the then current version of these terms of service.
8. Governing Law
These terms and conditions are governed by and construed in accordance with the laws of Washington and you irrevocably submit to the exclusive jurisdiction of the courts in that State or location.


About
Portfolio
Contact
Andrew Pratt
Beginning web developer
I like making stuff!
Portfolio
Tribute Page
Coming soon
Coming soon
Coming soon
Coming soon
Coming soon
Contact me
Submit
Heres where I tell you about all the wonderful reasons you should contact me.
Also, monkeys.


Instructions
-
Choose your bylaw first. The bylaw year is defined as the year of expected graduation.
- For example, students who enrolled in 2014 are expected to graduate in 2019. Their bylaw year is 2019.
-
If your bylaw year does not exist, you can submit it for reviewal using the submit button. It'll be added shortly afterwards.
- A popup dialog will appear. Choose the bylaw year you wish to add, along with the official bylaw pdf file.
- The possible bylaw years shown are up to the next 5 academic years only.
- Only PDF files are allowed.
- Choose your department from the dropdown menu.
-
Color codes:
-
Passed -
Requirements met -
Requirements not met
-
Passed (Elective) -
Requirements met (Elective) -
Requirements not met (Elective)
- Only select courses which you have already passed. As you select these courses, other courses will be available
- Humanity courses are present in the bottom as they aren't prerequisites of any courses
- Deselecting a course will remove all other courses that depends on it
- Senior project 1 can only be registered after completing 129 credit hours (plus other prerequisites if present)


Python based lipid BILayer molecular simulation analysis Toolkit¶
PyBILT is a Python toolkit developed to analyze molecular simulation trajectories of lipid bilayers systems. The toolkit includes a variety of analyses from various lipid bilayer molecular simulation publications.
The analyses include:
- Mean Squared Displacement (MSD)
- Diffusion coefficent estimators (from MSD curves) - includes Einstein relation, linear fit, and anomalous diffusion fit.
- Area per lipid estimators
- Bilayer thickness
- Displacement Vector (flow) maps and correlations
- Deuterium order parameter
- Orientation parameters
- Mass and Electron Density Estimators
- and more!
Install¶
Warning: PyBILT is still under heavy development and may rapidly change.
PyBILT run dependencies¶
PyBILT has the following major dependencies that need to be installed before it can be run:
- MDAnalysis 0.16.2
- NumPy 1.11.3
- SciPy 0.18.1
- Matplotlib 2.0.0
- Seaborn 0.7.1
The versions of the above packages are the latest that the pybilt package has been tested with under Anaconda 4.3.1 Python 2.7; these are the package versions included in the conda environment.yml file. Therefore, to reproduce the environment that PyBILT has been tested under it is recommended that you install Anaconda Python version 4.3.1 Python 2.7 before installing PyBILT. PyBILT has yet to be tested outside of an Anaconda environment.
The following section describes the process for setting up the dependencies and installing the ‘pybilt’ package using a conda environment and the setup.py script.
Setup and install using Anaconda’s conda tool¶
First, clone or download the GitHub repo
git clone https://github.com/blakeaw/PyBILT.git
The file environment.yml has been provided to allow for easy setup of a new environment with all the appropriate dependencies using the conda tool. From the PyBILT root run
conda env create -f environment.yml
which will create a new conda environment named pybilt with the appropriate dependencies. Then activate the environment
source activate pybilt
Next, run the setup.py script with install,
python setup.py install
to install the ‘pybilt’ package into the pybilt environment.
Quick overview of PyBILT¶
PyBILT is composed of 2 primary analysis packages:
- bilayer_analyzer – The bilayer_analyzer is an analysis package that
is designed to analyze (quasi) planar lipid bilayer
systems. It is accessed through the BilayerAnalyzer
object, which can be imported via:
from pybilt.bilayer_analyzer import BilayerAnalyzer
. The BilayerAnalyzer features automatic dynamic unwrapping of coordinates and leaflet detection. The bilayer_analyzer works on a multiple-representation model, whereby the various analyses are conducted using different representations of the bilayer lipids. Bilayer lipids can be represented using the following four representations:- All atom
- Centers-of-mass – Each lipid (or selection of atoms from each lipid) is reduced to a center-of-mass.
- Grid (or lipid grid) – The lipids are mapped to two-dimensional grids (one for each leaflet) in the style of the GridMAT-MD method
- Vectors - Each lipid is converted to a vector representation using select reference atoms (or sets of reference atoms) that are used to compute the head and tail of the vector; e.g., a lipid tail atom to lipid head atom, or P-N vectors.
The bilayer_analyzer features various types of analyses and the use of different representations is handled internally based the requirements and design of each analysis type. See the documentation for more details on individual analyses and the representations they use.
- mda_tools – This package includes various modules and functions for directly analyzing and operating on MDAnalysis trajectories and objects. e.g. functions to compute density profiles.
Additional packages include:
- lipid_grid – The lipid grid module can be used construct “lipid grid” grid representations of lipid bilayers, which can be used to accurately estimate quantities such as area per lipid.
- com_trajectory – This module can be used to construct a center of mass trajectory (COMTraj) out of an MDAnalysis trajectory, which is useful for computing quantities like mean squared displacement. The COMTraj is designed to work with bilayers.
- plot_generation – This module has several pre-written plotting functions (using matplotlib and seaborn) for some of the properties that can be computed from functions in the other modules. e.g. mean squared displacement and area per lipid.
Additional Documentation/Tutorials¶
In addition to the documentation, there are currently a few Jupyter IPython notebooks that provide some examples and show some basic usage. More of these are also in the pipeline. Although they are also not fully extensive, the tests can serve as a useful place to examine some basic usage and functionality.
Contact¶
To report problems or bugs please open a GitHub Issue. Additionally, any comments, suggestions, or feature requests for PyBILT can also be submitted as a GitHub Issue.
For any other inquiries, including questions about PyBILT use or implementation, you can contact Blake directly via e-mail at either<EMAIL_ADDRESS>or<EMAIL_ADDRESS>please include “PyBILT inquiry” in the e-mail subject line.
Contributing¶
If you would like to contribute directly to PyBILT’s development please
- Fork the repo (https://github.com/blakeaw/PyBILT/fork)
- Create a new branch for your feature (git checkout -b feature/foo_bar)
- Create test code for your feature
- Once your feature passes its own test, run all the tests using pytest (python -m pytest)
- Once your feature passes all the tests, commit your changes (git commit -am ‘Add the foo_bar feature.’)
- Push to the branch (git push origin feature/foo_bar)
- Create a new Pull Request
Acknowledgments¶
- A special thanks to James Pino (https://github.com/JamesPino) for his inciteful comments and suggestions that have helped improve the quality of this code, and thanks to him for pointing out some very useful coding tools.
- Thanks to my advisors, Carlos F. Lopez and Arvind Ramanathan, for catalyzing this project and for providing me with the space and means to pursue it.
Built With¶
- ANACONDA - ANACONDA Python distribution and CONDA package and environment manager
- PyCharm - Primary Text Editor/IDE
- ATOM - Secondary Text Editor
- Sublime Text - Text Editor used in earlier work
- Landscape - Code quality analysis and tracking
- Git - Version control
- GitHub - Development Platform and repository storage
- Sphinx - Python documentation generator
- recommonmark - A docutils-compatibility bridge to CommonMark.
- Read the Docs - Documentation hosting
- docstring-coverage - A simple audit tool for examining python source files for missing docstrings.
Core Developers¶
- Blake A Wilson - Currently a Postdoctoral Fellow at Vanderbilt University
- Vandy e-mail<EMAIL_ADDRESS>- Gmail<EMAIL_ADDRESS>- Blake’s VU Website
- Also find me on LinkedIn and Research Gate


I'm a software engineer using React-Native on Front-End, ExpressJS on Back-End.
I have been using React-Native and ExpressJS for 2 years.
I'm a young developer, who always like learning something new.
I developed several Cross Platform mobile applications on MCT International, using React Native. I started to using MobX as local & global state management, Typescript for javascript static typings.
I developed several mobile and server applications on SCHAFFENGOTT CO., Ltd, that is IoT Hardware Company. Using React Native, ExpressJS, AWS IoT and etc, I could develop as a PRODUCTION Level.
I worked as the main developer of the Summer Time team and developed mobile apps and servers. I led studies and seminars as a development manager in the club.
I learned how to concentrate on my work with persistence at Pusan National University.
I led development a mobile apps and server which service matches the delivery service between students in university.
Used React-Native, ReactJS, ExpressJS, MySQL, AWS EC2, etc.
I participated in many prototyping projects.
I developed IoT Hardware circuit, its firmware, mobile apps that can control the IoT device.
Used React-Native, ESP8266, Arduino, Raspberry Pi, NodeJS


Spotifeed is a simple service to convert Spotify podcasts to RSS feeds.
You can use these RSS feeds in any podcast app. Just take the show ID from the end of the Show Link on Spotify and put it at the end of https://spotifeed.timdorr.com/
https://spotifeed.timdorr.com/4rOoJ6Egrf8K2IrywzwOMk


--- layout: default ---
French engineering student in Computer Science at INSA Toulouse with many years of experience as software engineer. In parallel of my studies, I am indeed a freelance mobile iOS and Web developer what allowed me to improve my personal organization, customer relationship and develop my technical skills to stay efficient with the latest development technologies.