Original Walkthrough
1. Logging In
Much like the old Geospiza LIMS, you need to log in to MISO LIMS in order to make changes to any LIMS entities. Logging in lets us record any changes you make and also allows us to set appropriate permissions.
If you were able to log in to Geospiza LIMS, you already have the correct
permissions and can proceed to logging in. If you are a new user, you will need
to contact<EMAIL_ADDRESS>so that they put you into the appropriate
Active Directory group, MISO_ROLE_INTERNAL
.
- Click on http://miso.gsi.oicr.on.ca.
- Enter your username (e.g. jdoe) and password and click the Login button. MISO uses the same username and password as your OICR email account.
If all goes well, you should see the MISO Dashboard and see a message at the top right: "Logged in as: jdoe".
2. Projects
A Project contains information about a set of Studies that may comprise many different Samples, Experiments and Runs. Samples are attached to Projects as they are often processed into Dilutions, which are then Pooled and sequenced. Projects also have Overviews, which hold information about a Project proposal. In this part of this workshop, we will create projects, set permissions, and familiarize ourselves with the project overview page.
Projects represent a sequencing effort toward a particular goal, usually led by a particular group or principal investigator. For example, the PCSI project is sequencing pancreatic tumors, references, cell lines and xenografts as part of the International Cancer Genome Consortium, and the FFPER project sequences samples from a bio-bank with a number of different preparations and treatments in order to determine the impact of each on data quality.
In this workshop, you will make your own project where you will create samples, libraries and other entities.
Most pages have a "Quick Help" tab at the top right under the Save button where you can find basic information about the current page.
2.1 Creating a new project
- After logging in, click the My Projects tab at the top of the MISO dashboard.
- Select the Add Project button at the top right corner.
The Create Project page will display with a number of fields that you can fill out.
- Ignore Project ID and Name, since they are set by MISO once the Project is saved.
- Enter a unique Alias. The alias is a name, chosen by us, that is associated
with a project. The aliases must be a unique and contain only letters or
numbers. It cannot contain spaces or punctuation. e.g.
DoIt4Science
(be creative!) - Enter a Short Name for your project. The short name should be 2-5 letters in
all CAPS and related to the project alias. This short name will be used to
automatically generate sample and library names. e.g. short name:
DI4S
- In the Description field, enter
MISO training workshop [Date]
- Choose the amount of Progress that your project has accomplished:
- Unknown : I was told to enter this data and I does what they tells me.
- Active : We are receiving/have received samples and are actively working on this project.
- Inactive : Project is not yet done, but waiting for external collaborators, REB approval, papers to be published, etc.
- Cancelled : Project was scrapped because we did not get funding/samples/REB approval.
- Proposed : Project Initiation form has been received and is awaiting go-ahead by Genomics leadership.
- Pending : We are waiting for the project to start.
- Approved : Project has been approved by Genomics leadership.
- Select the Reference Genome
Human hg19 random
. This should be the primary species that will be sequenced in the course of the project. Xenografts count as human. - In the Permissions section, select
your name
from the Owner drop-down. - Make sure that Allow all internal users access? is selected.
- Click the Save button at the upper right.
Upon save, you will be taken to the Edit Project page, where you can see the project you just created. Notice that the Project ID and Name now have values. The Project ID will be an integer, and the Name will begin with PRO. These are specific to this project and used by MISO to track the project internally.
2.1.1 Add a Study
In order to make sure MISO is SRA-compliant, you must add a Study to your Project. Studies are legacy objects that are not really used in the current system, but need to be added anyway.
- Click on the Studies section to expand the section.
- Hover over the Options menu at the top right of the Studies table, and click Add new Study.
- Much like creating a Project, enter:
- Alias (letters and numbers only): this can have any name, but make sure it is recognizable as belonging to your Project.
- Description: any free-text description
- Select a Study Type from the drop-down menu : Unless you are certain of the
sequencing type, select
Other
. - Click the Save button at the upper right.
2.2 My Projects tab
- Click again on the My Projects tab.
You will see a list of all of the projects you have access to in MISO.
- Find the project you just created in the list. You can sort any column in the table by clicking the column header. You can also search for your project by any of the displayed columns and the table will filter as you type.
- Click on the link in the Project Name, Short Name or Alias (they all go to the same page).
2.3 Edit Project page
The Edit Project page is used for viewing basic information about a project as well as all of the entities associated with that project, such as the samples, libraries, pools, and runs.
Once you create different entities for your project like Samples, Libraries, Library Dilutions, Pools and Runs, you can view and search them on this page. Each section can be expanded by clicking on its name or the arrow next to it. The tables under each section can be sorted by the column header or searched using the field in the upper right. The Options menu above the search bar contains actions you can perform on the entities in the project.
2.3.1 Add a project overview
Project Overviews specify the origin of a specific set of samples that are part of the project. For example, if you are receiving some samples from a clinician and other samples from a hospital, you can enter the expected numbers of samples from each and indicate how many of them passed quality control and what stage of preparation has been completed. Project overviews are optional and only used to indicate overall progress on the My Projects page.
- Click Add Overview at the right side under the Project Information.
- In the pop-up, enter a principal investigator (
You Yourname
!) - In No. proposed samples, enter
5
. - Click the Add Overview button.
The Edit Project page will reload and now there will be a table with your name under the Project Information section. You can fill in other values if you wish, or leave them blank for now. You can also select the checkboxes below the table to show that certain stages have been completed. Remember to press the Save button after you are finished editing.
2.3.2 Add Project Files
In the Project Files section, you can add attach any necessary documents to the project (e.g. Project Information form, REB).
- Click the Project Files section on the Edit Project page.
- Find a document or image that is appropriate for your study
Now that your project has been created, continue to make your first samples.
3. Incoming samples
A Sample contains information about the material upon which the sequencing experiments are to be based. Samples can be used in any number of sequencing Experiments in the form of a Library that is often processed further into pooled Dilutions.
Every received Sample must have an Identity. The Identity corresponds to the individual or organism with whom the sample originated, i.e. the donor. MISO requires you to assign an external name, which is usually an identifier from another institution like a Donor ID.
When material is received for sequencing, it can be in many different forms, called Sample Classes in MISO. Here are the classes of Sample that can be received:
- Cell line
- Tumour tissue (Primary or Metastatic)
- Reference tissue
- Xenograft tissue
- gDNA (untreated or whole genome amplified)
- cDNA
- whole RNA
Depending on which Sample Class is chosen, more or less fields appear on the Create Sample page.
In this workshop, we will create six Samples with four different Identities in the Project you created in the last session.
3.1 Entering a single Sample
There are two ways of entering Samples into MISO: Single and Bulk. We will start
by entering a single Sample for reference tissue from the Identity ID1
.
- On the left hand menu under Tracking, click Samples.
- Click the Add Sample button on the right hand side. There are two tabs across the top. Ensure that Single is selected.
- In the Sample Information section, enter or select the following:
- Project: Select the project you created in the last exercise.
- Alias: leave blank. This will be auto-generated based on other information in this form.
- Description:
Reference 1
. - Date of Receipt: Select a date
- Scientific Name:
Homo sapiens
. - Sample Type: select
GENOMIC
from the drop down. - QC Status: select
Ready
from the drop down. - In the Identity section:
- External names :
1. Click Find or Create Identity.
1. In the pop-up window, enter external name: project short name
_ID1
(e.g.,PROJ_ID2
). This is the name given to the donor by the external institute that the tissue came from. 1. Click Validate External Name(s). 1. From the dropdown, selectFirst Receipt
. 1. Click Select. - Sex: Select any item from the dropdown.
- In the Details section, select the Sample Class
Reference Tissue
. - In the Tissue section, select or enter the following to create a reference Sample.
- Tissue Origin:
Ly (Lymphocyte)
- Tissue Type:
R (Reference or non-tumour, non-diseased tissue sample)
- Tissue Material: Select any from the drop-down.
- External Institute Identifier:
BioBankID 1
. This is the Biobank ID or Tube ID. It may also be left blank. - Lab: Select
BioBank (University Health Network)
from the drop-down. - Times Received:
1
- Tube Number:
1
- At the upper right hand side, click Save.
Upon saving, a number of fields will be filled in, including the Alias. The Tissue Alias will be in the form PROJ_0001_Ly_R_nn_1-1: (Project Short Name)_(Individual ID)_(Tissue Origin)_(Tissue Type)_(Passage number)_(Times Received)_(Tube Number). Passage number is only required for Xenografts and Cell lines. For more information about Sample nomenclature, see Sample Nomenclature.
3.1.1 Enter a matrix tube barcode
After saving the Sample, you will be able to enter the barcode for the tube.
- On the Edit Sample page for the sample you just created, click the arrow next to the blue ID box at the top right hand corner.
- Select Assign New Barcode from the menu.
- Use the hand-scanner or type a barcode into the pop-up. For this exercise,
enter your Project Short Name and _R1. e.g.
PROJ_R1
. We will use this barcode later in the Box section. - Click Save on the pop-up.
The page will re-load with the 2D barcode at the top right.
3.2 Automatically created Samples
- Click the My Projects tab at the top and select your project from the list.
- Open the Samples section on the Edit Project page to see your newly created samples.
(You can also find your samples by searching on the Samples page or by using the widget on the MISO front page. At the moment, searching on the Samples page is quite slow but you are welcome to try using that page to view your samples. The widget is fast but does not show enough information for the following exercises.)
You only created a single Sample but at least two are in this list: the Reference tissue as well as the Identity. The Identity sample was automatically created because you provided an External name that had not been previously used in this Project, and has a name in the format (Project short name)_(Individual number), e.g. PROJ_0001. Other types of Samples are created automatically depending on how you propagate them through to libraries. Some of them will be addressed in the following tutorials.
3.3 Bulk create Samples
Next, we will create four more Samples using the much faster bulk method. The four samples will be the Primary Tumour Tissue for individuals 1-5.
- On the left hand menu under Tracking, click Samples.
- Click the Add Sample button on the right hand side. There are two tabs across the top. Ensure that Bulk is selected.
- Select project dropdown: select your project.
- Select class dropdown:
Primary Tumor Tissue
. - Number of samples text box:
4
. - Click Make Table.
A table will appear with the requested number of samples in table format. We will fill in the first row and use the quick-fill option to fill in the rest of the table.
Enter the following values into the first row only.
- Sample Alias: leave blank. Again, this will be automatically generated from the rest of the table.
- Select or enter the following fields:
- Description:
Primary
. - Date of Receipt: select a date
- Sample Type: select
GENOMIC
from the drop-down. - Sex: select any item from the drop-down.
- Tissue Origin: select
Br (Breast)
from the drop-down. - Tissue Type: select
P (Primary Tumour)
from the drop-down. - Times Received: 1
- Tube Number: 1
- Lab: select
BioBank (University Health Network)
from the drop-down. - Ext. Inst. Identifier:
BioBankID
- Material: Select any item from the drop down.
- QC Status: Select
Ready
from the drop down.
Now we will fill in the rest of the table. Like in Excel, you can fill down a column by double-clicking the square at the lower right hand side of a selected cell. You can also click and drag to only fill in a certain number of cells.
- Click the Sample Type cell in the first row. A blue square will appear at the lower right hand side. Double click it to fill in the rest of the table with the word "Primary".
- Fill in the columns in the same way for: Sex, Tissue Origin, Tissue Type, Times Received, Tube Number, and Material.
Some fields cannot be filled down, so enter each of those separately.
- Matrix Barcode: you would normally use a hand-scanner or
copy and paste a list of barcodes from a spreadsheet. In this case, enter the project
short name followed by P and a number. The fill down functionality does not
auto-increment, so these need to be typed. For example:
PROJ_P1
,PROJ_P2
,PROJ_P3
,PROJ_P4
- External Name: replace
PROJ
with your own project name.PROJ_ID1
PROJ_ID2
PROJ_ID3
PROJ_ID4
- Click Look up Identities (above the top left corner of the table).
- Select
First Receipt
from the dropdown menu in each cell of theIdentity Alias
column. Since these are all first receipt, you may fill them down after selecting it in the top row. If the identities already existed, you would have to select them individually. - Ext. Inst. Identifier: add a number to each row starting from 2, i.e..
BioBankID 2
,BioBankID 3
,BioBankID 4
,BioBankID 5
. -
Description:
Copying and pasting from Excel and Word is supported.
Go to http://pastebin.com/uQXhafqJ and copy the list of descriptions by selecting it with your mouse, right clicking and selecting Copy. Then click on the first cell in the top row of Description and press Ctrl+V on your keyboard to paste.
- Click Save at the upper right hand corner.
If everything is correct, the Alias will be auto-generated for each row and the samples will be saved. If you navigate back to your Edit Project page, there should be nine Samples:
- 4 Identity Samples
- 1 Reference Sample
- 4 Primary Samples
Notice also that because you used the same External Name, ending in ID1
,
for two samples, reference and primary, they have the same Identity.
3.4 Receiving Stock DNA/RNA
The process for receiving Stock DNA is very similar to receiving tissue. Every stock derives from a Tissue, which originated from an Identity. MISO will create the tissue for you when you enter a Stock. These samples are known as ghost samples, which do not exist at OICR but are in MISO for sample tracking purposes.
In this section, we will 'receive' a single Stock DNA tube from individual 2 reference tumour.
- On the left hand menu under Tracking, click Samples.
- Click the Add Sample button on the right hand side. There are two tabs across the top. Ensure that Single is selected.
- In the Sample Information section, enter or select the following:
- Project: Select the project you created in the last exercise.
- Alias: leave blank. This will be auto-generated based on other information in this form.
- Description:
Stock 1
. - Date of receipt: select a date.
- Scientific Name:
Homo sapiens
. - Sample Type: select
GENOMIC
from the drop-down. - QC Status: select
Ready
from the drop-down. - Volume (µl):
300
- In the Identity section, enter the
- External name : project name
_ID2
. - Sex: Select any item from the dropdown.
- In the Details section, select the Sample Class:
gDNA (stock)
. - In the Tissue section, select or enter the following to create a reference Sample.
- Tissue Class:
Reference Tissue
- Tissue Origin:
nn (Unknown)
- Tissue Type:
R (Reference or non-tumour, non-diseased tissue sample)
- Tissue Material: Select any from the drop-down.
- External Institute Identifier:
BioBankID 6
. - Lab:
BioBank (University Health Network)
. - Times Received:
1
- Tube Number:
1
- At the upper right hand side, click Save.
Stock aliases are created from their tissue alias by appending _D_S# or _R_S#.
For example, the first DNA stock that derives from a tissue PROJ_0002_Ly_R_nn_1-1
has
the name PROJ_0002_Ly_R_nn_1-1_D_S1
.
After saving, go back to your project page and look at the samples that were automatically created. Although you received Stock DNA, it has created a Tissue for you as well.
- Click on the Tissue with the alias similar to
PROJ_0002_nn_R_nn_1-1
. It should have a Sample Description that says only "Tissue".
At the top, you will see a grey section with the warning: "This entity does not exist except for sample tracking purposes!". This message means that the Tissue does not exist in a freezer at OICR. Eventually these ghost samples will be hidden from the MISO interface.
4. Propagating Samples
Samples in MISO exist for each step in the tissue preparation: from identity, to tissue, optionally though tissue preparation, to stock, to aliquot. At each step, the possible options are limited based on the established workflows. Group IDs may be assigned at any time and are copied when propagating. Different QC information is available at each step. For instance, STR status is attached to the stock.
For the tissue samples created previously (by bulk and single entry), we will create stocks for library preparation.
4.1 Bulk Propagate Samples
For three of the tissues you created in the previous section, create a stock.
- On the Samples page, enter your project name in the search box.
- Check the boxes for the tissue samples (not the received stock). They will
have names that end in two hyphenated numbers, like
PROJ_0001_Ly_R_nn_1-1
:PROJ_0001_Br_P_nn_1-1
PROJ_0001_Ly_R_nn_1-1
PROJ_0002_Br_P_nn_1-1
- From the Bulk actions dropdown at the bottom, select Propagate (sample) selected.
- A new dropdown will appear. Select gDNA (stock) and click Go.
- Fill out the table:
- Description: Free text description. In this case, use "Stock (Tissue
Type)(Individual)". (e.g.
Stock P2
forPROJ_0002_Br_P_nn_1-1
) - Matrix Barcode: (Project short name)_(Tissue Type)(Individual)_St,
PROJ_P1_St
PROJ_R1_St
PROJ_P2_St
- Vol.:
300
- Description: Free text description. In this case, use "Stock (Tissue
Type)(Individual)". (e.g.
- Click Save.
Upon successful save, a green status will show at the top that says "Saved 3 items". The Sample Alias will have been filled in with aliases that end in D_S1 (for each first DNA stock of that tissue).
4.2 Bulk Editing
Samples can be edited in bulk. Assume that we have done some quality control and wish to update the QC status of the samples.
In this case we will update several fields of 4 stock samples. We will use the stocks we entered in the previous step as well as the reference stock entered in part 3 of this tutorial.
- On the Samples page, enter your project name in the search box.
- Check the boxes for the stock samples (propagated and received). These are
the samples that end in D_S1:
PROJ_0001_Br_P_nn_1-1_D_S1
PROJ_0001_Ly_R_nn_1-1_D_S1
PROJ_0002_Br_P_nn_1-1_D_S1
PROJ_0002_Ly_R_nn_1-1_D_S1
- From the Bulk actions dropdown at the bottom, select Update selected and click Go.
- Change the QC Status column to
Ready
for all rows. - Enter the missing Matrix Barcode, e.g.
PROJ_R2_St
- Click Save.
Upon successful save, a green status will show at the top that says "Saved 4 items.".
4.3 Creating Aliquots
Propagate again from the 4 gDNA (stock) samples to gDNA (aliquot).
- On the Samples page, enter your project name in the search box.
- Check the boxes for the stock samples. They will have names that end in
D_S1
:PROJ_0001_Br_P_nn_1-1_D_S1
PROJ_0001_Ly_R_nn_1-1_D_S1
PROJ_0002_Br_P_nn_1-1_D_S1
PROJ_0002_Ly_R_nn_1-1_D_S1
- From the Bulk actions dropdown at the bottom, select Propagate (sample) selected.
- A new dropdown will appear. Select gDNA (aliquot) and click Go.
- Fill out the table:
- Sample Alias: Skip this field. It will be automatically filled in upon save.
- Description: Free text description. In this case, use "Aliquot (Tissue
Type)(Individual)". (e.g.
Aliquot P2
forPROJ_0002_Br_P_nn_1-1_D_S1
) - Matrix Barcode: (Project short name)_(Tissue Type)(Individual)_Al
PROJ_P1_Al
PROJ_R1_Al
PROJ_P2_Al
PROJ_R2_Al
- Purpose: Select
Library
- Click Save.
Upon successful save, a green status will show at the top that says "Saved 4 items". The Sample Alias will have been filled in with aliases that end in D_1 (for each first aliquot of that stock).
5. Using Boxes
Boxes hold samples, libraries, and pools. They do not track reagents or primers. Boxes are separated into uses for different kinds of storage (e.g., tissue samples versus extracted DNA), but there is no check that items in a box match. Each box also has a size that includes the physical dimensions of the box as well as whether the box is compatible with the VisionMate scanner. Every position in the box is identified by a standard row letter + column number format (e.g., C05).
The goal is to create a box for the samples created in the previous step.
- From the navigation panel, choose Boxes and then Add Box.
- On the Create Box page, enter the information:
- Alias: A short name for the box. Enter your short name followed by
_OUTBOX
(e.g. PROJ_OUTBOX) - Description: a human description of the box purpose “gDNA ready for
library prep for
”. - Use: The contents of the box. Select
DNA
. - Size: Select
8 x 12 scannable
. - Click Save.
Upon clicking save, a graphic of the box will appear. You can now load your samples into the box. All types of samples can be entered in the box, including the tissues, stocks and aliquots you made in the previous steps.
- Click on a position in the displayed Contents grid.
- Enter a matrix barcode into the box on the right and click Lookup.
Normally a hand scanner would be used. For this exercise, use this handy
reference list:
PROJ_P1_St
PROJ_P2_St
PROJ_R1_St
PROJ_R2_St
PROJ_P1_Al
PROJ_P2_Al
PROJ_R1_Al
PROJ_R2_Al
- Click Update Position.
- ⚠ The Save button does not work for individual positions, only for Box Information.
- Repeat for all the samples listed above.
The table below the box diagram shows the position and information for the currently selected sample. If you would like to see all of the samples in the table, click the List all Box Contents button at the top right of the table.
In the lab, it is possible to use Options > Scan Box to use the plate scanner and update all positions at once, but that will not be covered in this tutorial.
Using Boxes
Boxes can be found either from the Sample or Library page or the Boxes page.
- On the Sample page, enter your project name.
- Click on the alias for individual 2 primary stock, i.e.
PROJ_0002_Br_P_nn_1-1_D_S1
. - The Box and position is listed under Location near the top of the Sample
Information section. Click on the link to go to the Box (e.g.
PROJ_OUTBOX, A03
).
Boxes can be used to store Samples, Libraries and Pools and one box can store all three types.
Removing and trashing tubes
When you have a position selected, you can also either remove the tube from the box (setting its location to "Unknown") or trash the tube, meaning it has been used up. Trashing the tube sets the volume of the sample to 0 and marks it as "emptied".
- From the list below the box, find the location of the
PROJ_0002_Br_P_nn_1-1_D_S1
sample. - Open the sample page in a new tab by clicking on the Sample link (Right click on the link and select "Open in new tab").
- Go back to the Box page if necessary. Select the sample you just opened in the Box and click Trash Tube. Click "OK" in the pop-up.
- Go to the other tab with the Edit Sample page and click the browser refresh button. The Location field will show as blank, Volume will be set to 0.0, and the Emptied box will be ticked.
Moving samples around in boxes
An item can only exist in one box. If assigned to a new box, it will disappear from the original.
- In the current tab, go to the Boxes page, find the TUTORIAL box. This box was previously created by the MISO developers for the tutorial..
- Choose an empty position and enter your barcode ending in
PROJ_P1_Al
(e.g.,PROJ_P1_Al
). - Click Lookup and Update Position.
- Go back to the first tab with your
PROJ_OUTBOX
Box and refresh the browser, or return to the Boxes page and find your project outbox. The sample was removed from the outbox.
6. Libraries
A library is made from one sample for a single target platform and has a specific design associated with it that decides the selection and strategies used to make the library. A library may also have indices (primers) and QC information.
MISO stores two important pieces of information about how a library was generated: the selection (e.g., PCR, cDNA) and the strategy (e.g., WGS, WXS, amplicon). A design captures both a selection and strategy and the list of allowed designs is limited based on the sample type (e.g., a cDNA sample can only have SM, WT, or MR library designs and these lock the selection and strategy type accordingly).
6.1 Bulk propagate aliquots into libraries
In this section, you will use the aliquots you created already and create libraries.
- On the Samples page, enter your project name into the search box.
- Check the gDNA aliquot samples to turn into libraries. These samples are the
ones that end in
_D_1
:PROJ_0001_Br_P_nn_1-1_D_1
PROJ_0001_Ly_R_nn_1-1_D_1
PROJ_0002_Br_P_nn_1-1_D_1
PROJ_0002_Ly_R_nn_1-1_D_1
- From the Bulk actions drop down, select Propagate (library) selected.
- A table will appear. Enter the library information:
- Library Alias: The sample alias up to the tissue type (R or P), library
type, insert size, library design (e.g.,
DI4S_0001_Br_P_PE_318_WG
). For more information about Library nomenclature, see Library Nomenclature. ⚠ This alias does not automatically fill in yet, so it must be entered: PROJ_0001_Br_P_PE_300_EX
PROJ_0001_Ly_R_PE_300_EX
PROJ_0002_Br_P_PE_300_EX
PROJ_0002_Ly_R_PE_300_EX
- Description: Library (Tissue type)(individual), e.g.
Library P1
- Matrix Barcode: As before, usually this would be scanned by the hand
scanner. In this tutorial, enter matrix barcodes in the form (Short
name)_(Tissue type)(Individual)_Li, e.g.
PROJ_P1_Li
. - Platform: Illumina
- Type: Paired End
- Selection: PCR
- Strategy: AMPLICON
- Index Kit: Nextera Dual Index
- Index 1 and Index 2: Select any combination of indices you wish. Select different indices for each library. Selecting the same index for two different libraries will make you unable to pool those two libraries together later.
- Volume: 100
- Kit: KAPA Hyper Prep
- Library Alias: The sample alias up to the tissue type (R or P), library
type, insert size, library design (e.g.,
- Choose Save.
Note that for dual-index libraries, only the first index needs to be specified. The second is optional.
6.1 Quality control
There are three way to indicate library quality in MISO: 1) Enter quantitative QC values under the Library QC section; 2) The overall pre-sequencing quality flag QC passed; and 3) The post-sequencing quality control Low quality library.
6.2.1 Library QC
After measuring the insert size or concentration, this information can be entered into each library. There is no bulk entry for this information yet, it must be entered for each library.
- From the Libraries page, find the
PROJ_0001_Br_P_PE_300_EX
library using the search box and click the sample link. - On the right side of the QCs heading, select Options → Add Library QC.
- Enter the information in the row:
- QC Date: Select a date.
- Method: Choose a QC instrument.
- Results: Enter the measurement.
- Insert Size: Enter the measured insert size.
- Click Add.
6.2.2 QC passed
QC Passed is a simple pass/fail flag for a library to decide if it is good enough for sequencing. If not measured, this can be left as "Unknown".
- From the Libraries page, find the
PROJ_0001_Br_P_PE_300_EX
library using the search box and click the sample link. - Change QC passed from Unknown to True.
- Click Save.
6.2.3 Low Quality Sequencing
Libraries can be marked as having low sequencing quality, which will be shown after the Run exercises.
6.3 Boxes
Libraries can also be placed in boxes.
- From the Boxes page, find the project-specific box you created before,
e.g.
PROJ_OUTBOX
. - Select an unused position and enter a library matrix barcode PROJ_P1_Li,
e.g.
PROJ_P1_Li
. - Click Lookup and then Update position.
- Repeat for the remaining libraries:
PROJ_R1_Li
PROJ_P2_Li
PROJ_R2_Li
7. Dilutions, Pools, and Orders
A library cannot be directly loaded into a lane in a sequencing container (flowcell/SMRTcell) in MISO. A dilution must be made and then many dilutions (or just one) can be mixed into a pool for sequencing.
Orders are requests for sequencing pools a certain number of times. They are used to keep track of sequencing progress for project management and book-keeping.
7.1 Bulk creating Library Dilutions
Dilutions can be made in bulk from libraries.
In this exercise, we will create 4 library dilutions from the libraries we made previously.
- On the Libraries page, check all the libraries just created.
PROJ_0001_Br_P_PE_300_EX
PROJ_0001_Ly_R_PE_300_EX
PROJ_0002_Br_P_PE_300_EX
PROJ_0002_Ly_R_PE_300_EX
- From the Bulk actions drop down, select Make dilutions from selected and click Go.
- Enter the concentrations of the dilutions (use any number you wish).
- Click Save.
Dilutions are a bit ephemeral in MISO: there is no list for all the dilutions. To see the dilutions for a library, view the library page. At present, Dilutions cannot be saved in Boxes.
7.2 Pools
Pools are the last step for libraries before sequencing and represent the entity that is loaded onto the flowcell lane or SMRTcell. A "pool" can have one or more library dilutions in it. They are equivalent to "worksets" in Geospiza, but are required for every lane of sequencing.
Here we will all all of the dilutions we added previously to make a single pool of 4.
- On the Pools page, under the Illumina tab, select Options → Add Pool.
- Enter the Pool Information:
- Alias: A short description of the pool contents. Enter the project name
followed by
_POOL
(e.g.PROJ_POOL
) - Description: A longer free-text description of the pool.
- Platform Type: Leave
Illumina
selected. - Desired Concentration: Enter a concentration.
- Creation Date: Select a date.
- Ready to Run: Whether or not the pool is ready for sequencing. This flag is used together with the Order to show the pool is ready to be sequenced. Tick this box.
- Volume: Enter a pool volume.
- In the Pooled Elements section, use the search box to find the dilutions created previously.
- For each dilution, press the + button to add the dilution to the pool.
- Click Save.
7.3 Creating an Order
Orders are created on the pool to be sequenced, and include the quantity of sequencing required (counted in lanes/SMRT cells), and the sequencing chemistry required (on Illumina).
- On the Edit Pool page for the pool you just created, scroll down to the Orders heading.
- Fill in the new order box:
- Partitions: the number of lanes/cells that should run for this pool. Enter
2
- Platform: Select the instrument for sequencing.
Illumina - Illumina HiSeq 2500
- Sequencing Parameters: Select
v4 2×126
chemistry.
- Partitions: the number of lanes/cells that should run for this pool. Enter
- Click Add. The order will now be visible in the Orders section.
7.3.1 Checking for unfulfilled orders
The Orders page is used to decide what needs to be sequenced.
- From the navigation menu, choose Orders.
- Verify that the pool you just created is listed in the Unfulfilled tab.
Columns on this page will disappear if there are no entries (e.g., the Failed column will not be shown if there are no failed runs). When enough lanes have been sequenced, the row will disappear from the Unfulfilled tab, but remain in the All tab. Lanes currently being sequenced will be marked as in-progress and remain on the Unfulfilled tab until the run transitions to Completed.
A pool can have many orders. Orders for the same platform and chemistry are summed when displayed on this page.
8. Runs and Sequencing Containers
MISO supports runs from both Illumina and PacBio sequencers (and others that are no longer used at OICR), so the terms used for instrument runs and associated libraries are intentionally different from those used by the vendor. Every time a sequencer is loaded and sequencing begins, a Run is created. Runs are picked up automatically from the instrument. A Sequencing Container is the link between the library information and the instrument Run and contains one or more lanes. Each lane (e.g. Illumina lane, PacBio SMRT cell) in the container is loaded with exactly one Pool. Runs and Containers can be associated as soon as the sequencer has started.
8.1 Viewing Run statistics
About five minutes after an instrument begins sequencing, MISO will detect it and create a Run. As sequencing continues, MISO will pull back information about the quality of the run similar to the on-instrument applications like SAV. This includes statistics like percent pass filter, the percent of bases with Qscores over 30, and cluster density.
- From the Runs page, find the run assigned to you for this tutorial.
Under the InterOp Metrics section, you will see a loading animation. After a few seconds to load, this page will show information from the sequencer about the run progress. However, this function does not work reliably under load (as when ~20 people look at runs at the same time during this tutorial), so it may not load. This functionality will be redesigned in the near future.
8.2 Adding a sequencing container to a run
The Run (representing an instrument run) is associated with Pools using a Sequencing Container.
- On the Run assigned to you, scroll down to the Containers section.
- Search for the pool you previously created and double click to assign it to the lane. If you did not tick the Ready to Run box when creating the Pool, you may need to untick this option next to the search field.
- Click the Select Study button on the Lane to accept the default Study.
- If the flowcell is being stored, enter the location.
- Click Save.
The validation field is used only by cBot; leave it blank.
Now check on the Order.
- Click on the Orders page and verify that the Remaining column now shows 1 for the pool.
8.3 Low Quality Sequencing
Not every library realises its full potential. After sequencing, specific libraries can be flagged as having low sequencing quality. The "Low Quality Sequencing" indicator causes any pool containing this library to be flagged, so that it can be checked before it is sequenced again.
- From the Libraries page, find the
PROJ_0002_Ly_R_PE_300_EX
library and click the link. - Check Low Quality Sequencing.
- Click Save.
Now if the Pool containing that Library is added to a Sequencing Container, it will be flagged red.
- Go back to your Run page.
- Find your pool using the search box. It will be flagged red.
9. Sequencers
Each sequencer has a service record.
- Select Sequencers.
- Choose an individual sequencer.
- Use the blue arrow to expand the Service Records section.
- From Options, choose Add Sequencer Record.
- Fill in the form as follows:
- Title: a short description of the work (e.g.,
Remove gremlin from sequencer
) - Description: a long description of the work (e.g.,
A gremlin was found outside of the terrible 80s movie. It had developed a taste for polymerase.
) - Serviced By: your name
- Service Date: the current date
- Title: a short description of the work (e.g.,
- Click Save.
After saving, it is also possible to attach files to the record. Look under the Attachments heading.


Click on the map and add your story. Your story could have the following details
- An approximate location of the place where the incident took place is ideal. This will be helpful for others as it serves a warning. Do not name any house, business, etc
- Write your story and click SAVE to share it with the world!
- These stories will be verified by the admin before going live on the map
- Once you share your story, it cannot be deleted, until requested for
- This map becomes one place where these stories can be shared and maybe your story can help somone or give an assurance that they are not alone
- You do not reveal any personal details of the story (like the name of the attacker, etc)


When using HTML, there will come a point where you want to start styling your page. Perhaps you want all of your titles to be underlined, or a paragraph of text to be blue. In order to know what to style, CSS uses selectors.
Class is used when you want to style multiple elements in the same way. For example, if you have multiple headers in your page which you'd like to be green and underlined, you would give them all the same class name (E.g. class="text-blog"). This saves you from writing out the same style multiple times. To select a class, you must put a '.' before your class name in your CSS file.
ID is used when you want to specifically style one element. For example, if I want only one of my headers to be red and not underlined, but the rest green and underlined, I would give my red header an ID selector (E.g. ID="text-red-blog"). To select an element's ID, you must put a '#' before your ID name in your CSS file.


|
||||||||||
| PREV LETTER NEXT LETTER | FRAMES NO FRAMES |
PulseInput.getDuration()
, but will wait for a new sample to arrive
before returning.
PulseInput.getFrequency()
, but will wait for a new sample to arrive
before returning.
AnalogInput.setBuffer(int)
has been called.
AnalogInput.read()
values are scaled.
AnalogInput.getVoltage()
, but will wait for a new sample to arrive
before returning.
|
||||||||||
| PREV LETTER NEXT LETTER | FRAMES NO FRAMES |


Paul McCartney got approval from Brian May for Glasto set because of badger cull
EXCLUSIVE: Paul McCartney sought Brian May’s approval to play Glastonbury because the farm undertook a badger cull
by Irishmirror.ieSir Paul McCartney sought Brian May’s approval to play Glastonbury Festival – after the Queen star’s row with organiser Michael Eavis over the culling of badgers.
The Beatles legend headlines the Pyramid Stage at Worthy Farm in Pilton, Somerset, for the event’s 50th anniversary on Saturday, June 27.
Guitarist May, 72, said: “Paul was kind enough to phone me about this before he accepted the invitation.
He was concerned that he might be thought to be endorsing the current mass killing of badgers.”
He previously said Queen would never play the festival after a row with the Glastonbury organiser over the badger cull.
The fallout first began in 2013 as May is vehemently opposed to killing the animal while the festival boss was in favour of it for farming.
Eavis, 84 – who is also a dairy farmer – had described May as a “danger to farming.”
The cull is aimed at curbing bovine tuberculosis.
Farmer Eavis, who keeps 400 dairy cows and has a badger sett on his land, said he was “not inviting” gunmen to kill the badgers but he was in favour of the cull when there is “a heavy loss of cattle”, revealing a nearby farm had “lost 500 cows to TB”.
Macca, 77, will be returning to the festival for the first time since 2004.
Speaking about the booking, Eavis’ daughter Emily described him as “an absolute dream come true”.
Motown sensation Diana Ross, 75, is set to play the festival’s Sunday Legend’s slot on June 28.


September 25, 2012. "she's beautiful, look at her. " Christina Hendricks youtu. be Christina Hendricks looking REALLY damned good. from "Drive' I love watching Sep 30, 2011 Director Nicolas Winding Refn on the set of 'Drive' but a number of invisible effects helped with other scenes, including some of the startling deaths We did shots like the scene where Christina. Hendricks is shot in the head
DRIVE Scorpions are not just significant, but hidden throughout the film: A heads/sculpts of Christina Hendricks (that were used in her death scene) can be
Mar 27, 2013. Christina Hendricks's death scene inspired Gosling's How to Catch a Hendricks's death scene in Drive that inspired him to write the script
A documentary about wounded veterans that Roger championed gets a screening at the Rehabilitation Institute of Chicago and screenings in New York and Los Angeles…
A brief synopsis and the ending will be revealed for the movie - DRIVE He introduces him to Blanche (Christina Hendricks) Blanche will. accompany He confesses his involvement in the heist that resulted in Standard's death. She slaps
Jan 30, 2012 Deaths of DRIVE - YouTube. Subscribe 5 Top Comments. Polytechnical Algorithim 9 months ago. To be fair, she is now. partially topless Feb 15, 2012. Watch Later Deaths of DRIVEby KerseONEZ88,989 views; 3:27 Watch Later Drive (Movie Ending)by NyaGaming39,971 views; 1:28
For a film called Drive its a brave man to instill some much stillness into most of the. were more driving scenes, and it would be a high-full price if Christina Hendricks Loved the opening credits, the gruesome death scenes, the creepy mask
Sep 15, 2011. Drive, directed by Nicolas Winding Refn, is about an unnamed virtuoso driver, in Death Proof and also the atmospheric masculine melancholy Mr Cranston's wheezing, anxious loser; Christina Hendricks's seething,


Menu
Getting started with UniverseAdmin
Thanks for Purchasing UniverseAdmin. UniverseAdmin is a clean admin template based on Boostrap 4. Built with CSS, jQuery and Sass.
Introduction
A full featured, premium web application admin dashboard built with Twitter Bootstrap 4, JQuery and CSS. It comes with a lot of ready to use components ideal for bulding you web application, CRM, CMS, admin panel, dashboard, or any other type of application backend. UniverseAdmin coded highly responsive for your mobile phone & tablets. Completely modular with many unique features, it will help you build your next awesome product.
You can visit the Bootstrap page to find out all the various components that you can implement with UniverseAdmin. The docs are comprehensive and they include everything to help you get started with using all the various components.
Once you've purchased UniverseAdmin, please leave a rating! Positive ratings help bring out more updates and add more features to the template.
If you have any questions that are beyond the scope of this help file, please feel free to get in touch.
Install Gulp
The template is built on top of gulp and bower tools. Use of these tools is completely optional.
What is bower and gulp?
Gulp is the build system used to build and preview your project. Bower is a package manager is used for dependency management, so that you no longer have to manually download and manage your scripts.
Installing requirements
In order to utilize the build and livereload features of the template you need to install the following on your development computer.
- Node.js and NPM. You can download Node.js from here https://nodejs.org/download/. Npm comes bundled with Node.js
- Next you need to install gulp using this command
npm install --global gulp
- Finally run
npm install
from the root of your project to install all the necessary dependencies. By default bower packages will install to app/vendor.
Once you have all tools and dependencies installed you can use this command in your project:
gulp
gulp
launches a localhost preview of your app (with Livereload) and will compile either your sass files or Sass files to css
Theme
Package contents
The download package includes JavaScript, font assets, img assets, json data files, source sass files.
Files under the build
folder have not been modified in anyway.
This should in essense help you manage all your third party components and plugins with ease.
A list of all third party resources can be found in the src
section.
These are not covered in this documentation but instead you can heard on over to each respective plugin's homepage to discover how you can use them with the template.
The docs are comprehensive and they include everything to help you get started.
Folder structure:
theme/ ├── dist │ ├── css │ ├── fonts │ ├── img │ ├── js │ └── vendor ├── docs ├── src │ ├── fonts │ ├── html │ ├── img │ ├── js │ │ ├── app │ │ ├── lib │ │ └── vendor │ ├── scss │ │ ├── common │ │ ├── components │ │ ├── modules │ │ └── page └── └── vendor
/dist - contains compiled files of the admin theme.
/docs - contains documentation.
/src/ - contains core source files of the admin theme.
/fonts/ - fonts
/img/ - images
/common/ -styles of basic blocks (head, footer, sidebar) and variables
/components/ - the general bootstrap components, styles of interface elements (buttons, progress bars, tables, etc.)
/modules/ - Modules
/modules/ - Pages
main.js - include common plug-ins are used on all pages
/preview/ - scripts for demo usage
/node_modules/ - modules node.js library
Layouts & Options
This theme is a fluid layout with 4+ columns. Default blank layout with side menu looks:
Resources
- Images from www.pexels.com (Free)
- Avatars from www.uifaces.com (Free)
Plugins
- Autosize (MIT)
- JavaScript Canvas to Blob (MIT)
- jQuery File Upload (Blueimp) (MIT)
- JavaScript Load Image (Blueimp) (MIT)
- JavaScript Templates (Blueimp) (MIT)
- Bootstrap (MIT)
- Bootstrap Select (MIT)
- Bootstrap Sweet Alert (MIT)
- Bootstrap Table (MIT)
- Bootstrap Touchspin (Apache 2.0)
- Bootstrap clockpicker (MIT)
- Bootstrap Datetime Picker (MIT)
- FancyBox (MIT)
- FileSaver (MIT)
- FullCalendar (MIT)
- FullCalendar Scheduler (MIT)
- html2canvas (MIT)
- jQuery form Validation (MIT)
- jQuery (MIT)
- jQuery Typeahead (MIT)
- jScrollPane (MIT)
- jsPDF (MIT)
- jsPDF AutoTable (MIT)
- jquery.matchHeight (MIT)
- Moment (MIT)
- Moment Timezone (MIT)
- Peity (MIT)
- Responsive bootstrap toolkit (MIT)
- Select2 (MIT)
- Slick (MIT)
- Table Export jQuery plugin (MIT)
- Tether (MIT)
- Bootstrap MaxLength (MIT)
- Hide/Show Password (MIT)
- jQuery Mask Plugin (MIT)
- Ladda buttons (MIT)
- Remarkable bootstrap notify (MIT)
- PNotify (Apache 2.0)
- Notie (MIT)
- Summernote (MIT)
- Plottable.js (MIT)
- C3.js (MIT)
- Ion rangeSlider (MIT)
Credits
Once again, thank you so much for purchasing this theme. As I said at the beginning, I'd be glad to help you if you have any questions relating to this theme. No guarantees, but I'll do my best to assist. If you have a more general question relating to the themes on ThemeForest, you might consider visiting the forums and asking your question in the "Item Discussion" section


is a dependency only for classes from this other module
Such a class could be moved into the module on which it depends.
Because this inspection requires global code analysis it is only available for Analyze|Inspect Code or
Analyze|Run Inspection by Name and it will not report in the editor.


I strongly belive that no math formula should be longer than 1 inch.
So, Epic Math will try explain basic concepts and ideas of mathematics while minimizing the use of formulas.
"I advise my students to listen carefully the moment they decide to take no more mathematics courses. They might be able to hear the sound of closing doors."
- James Caballero


75 percent of people who we surveyed feel that they are filling our redundant forms
82 percent of people who we surveyed think the check-in process could be simplified
Frontdesk personel spend an average of 8 hours per week processing paper work
Secure transfer and storage of records using blockchain technology.
Have full control over our own medical records.
Editing and sharing is as easy as scanning a QR code.
Patients will be able to sign up through clinics which support our platform. They will be given a link which will include the onboarding process of a new member.
Clinics will be able to check in patients with a QR code. They will also be able to set up and create new accounts for patients that are not with in the system already.


Basic Quest
Your goal is to collect {{num_gems}} gems and then find the dias
Watch out for the Grue!
You are currently in the {{current_room}}
room
and have {{num_gems}}
gems.
Open which door: {% for direction in directions -%} {% endfor %}


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD |
java.lang.Object java.lang.Enum<Rhythm> net.parallaxed.bluejam.Rhythm
public enum Rhythm
This Enum contains all the rhythm's BlueJam supports. Consequently, the maximum depth of any NoteTree (in the default implementation) = the number of constants in this enum, plus 1 (currently, 8).
| Enum Constant Summary | |
|---|---|
CROTCHET
|
|
DEMIQUAVER
|
|
HEMIQUAVER
|
|
MINIM
|
|
QUAVER
|
|
SEMIBREVE
|
|
SEMIQUAVER
|
| Method Summary | |
|---|---|
int |
eval()
Return the reciprocal of the fraction represented by this rhythmic value. |
float |
evalR()
Return the decimal fraction of a bar represented by this note in regular notation and a 4/4 time signature. |
static Rhythm |
getRhythm(int number)
Gets a rhythm given it's eval() value. |
static Rhythm |
getRhythm(java.lang.String s)
Returns the rhythm matching the supplied name, e.g. |
Rhythm |
increase(int steps)
|
static Rhythm |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. |
static Rhythm[] |
values()
Returns an array containing the constants of this enum type, in the order they're declared. |
| Methods inherited from class java.lang.Enum |
|---|
clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Enum Constant Detail |
|---|
public static final Rhythm SEMIBREVE
public static final Rhythm MINIM
public static final Rhythm CROTCHET
public static final Rhythm QUAVER
public static final Rhythm SEMIQUAVER
public static final Rhythm DEMIQUAVER
public static final Rhythm HEMIQUAVER
| Method Detail |
|---|
public static final Rhythm[] values()
for(Rhythm c : Rhythm.values()) System.out.println(c);
public static Rhythm valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.
java.lang.IllegalArgumentException
- if this enum type has no constant
with the specified namepublic static Rhythm getRhythm(java.lang.String s)
s
- The name of the rhythm
public static Rhythm getRhythm(int number)
number
- The eval() value of the rhythm (1/x)
public float evalR()
java.lang.RuntimeException
- if there is no hardcoded value for that rhythmpublic int eval()
public Rhythm increase(int steps)
steps
- The factor to increase the rhythm by (i.e. 1 doubles the rhythm, 2 triples, etc)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD |


Thunderstorm
Menu
{{username}}
Account Details
Logout
Collection
Loading...
WHY
Are You Ready?
1. Key In Round:
First Digit (0 if round is less than 100):
0
1
2
Second Digit:
0
1
2
3
4
5
6
7
8
9
Third Digit:
0
1
2
3
4
5
6
7
8
9
2. Select Team:
{{red1Number}}
{{red2Number}}
{{red3Number}}
{{blue1Number}}
{{blue2Number}}
{{blue3Number}}
Please Select a round first
Thanks for doing your part!
Your data will help everyone.
Round:
{{firstDigitSelect}}{{secondDigitSelect}}{{thirdDigitSelect}}
Team:
{{currentSelectedTeamNumberStart || "null"}}
Start Collecting!
Cancel
×


Airport Management
Objectively innovate empowered manufactured products whereas parallel platforms.
Check PNR


CHEAP: Ditch your DSLR with $250 off Canon’s EOS M50 mirrorless camera
It doesn't have to be this way
by MixWelcome to CHEAP, our series about things that are good, but most of all, cheap. CHEAP!
Are you getting tired of carrying your old, unwieldy DSLR around? It doesn’t have to be this way — if you’re down to go the mirrorless way. And we’ve got the right camera to make the transition with: Canon’s EOS M50.
The M50 is currently selling at a 28-percent discount — down $250 from its list price of $899. Not only that, you’ll get a EF-M15-45mm lens in the box. Yep, you heard that right — you can grab a full photography kit for just $649.
The M50 sports a 24.1-megapixel APS-C sensor that snaps decent photos and also shoots 4K video. Pretty convenient.
Here’s what that money gets you:
- An elegant camera with a compact form factor
- A fully articulating touchscreen LCD
- Dual Pixel CMOS AF system for fast and accurate focus
- A built-in electronic viewfinder with 2,360,000 dots
Although I haven’t used the M50 myself, my colleague Abhimanyu Ghoshal recently grabbed one and he’s absolutely loving it.
“I love the M50 not just because it’s small, easy to use, and an excellent performer, but also because it supports Canon‘s extensive range of EF and EF-S lenses with an optional adaptor (even cheaper third-party ones like this work fine, since there’s no glass in it to worry about),” he tells me. “That makes this an infinitely extensible camera, which is great for beginners and intermediate-level photographers who enjoy experimenting with various lenses and setups.”
So if versatility in a tiny (but powerful) body matters to you, then the Canon’s EOS M50 might just be the camera for you. You can grab one for $649 by clicking here.
This post includes affiliate links to products that you can buy online. If you purchase them through our links, we get a small cut of the revenue.
For more gear, gadget, and hardware news and reviews, follow Plugged on Twitter and Flipboard.
Price $ 649 ProductEOS 50M mirrorless camera by Canon
Buy now


About Me
Hi! I'm Brian Arnold Sinclair. This is my horribly-designed site because I'm a terrible designer. I'm continuously working on something different, but this is what I have for now.
I'm a software engineer in the southwest US, working JavaScript for a living. I have a beautiful wife and have for over 15 years now, and we have a cute little boy and two adorable puppies. Life is pretty great.
Someday I'll actually get back to this thing and make it less terrible, but it is what it is for now.
"Recent" posts
-
{{ range first 3 .Data.Pages }}
- {{ .Render "summary" }} {{ end }}
Check out the full list of posts if you really want to go digging.
Other Places I'm at
- @brianarn on Twitter — probably the easiest way to reach me, though that username at Gmail also works - y'know, if you like email.
- My blog which is old and a little stale except maybe the last one or two posts.
- Me on Facebook — I typically don't add people I don't really know, but if you know me and I know you, friend me maybe? I post pictures of my kid and more personal stuff here.
- Photos on Flickr, which I'll likely be using more since they've gotten pretty awesome in their last update.
- My repos on Github, which are mostly half-finished, but you can also find the full source to my labs and blog(s) on there. Mostly JavaScript because that's what I love these days, and likely will for a long time.
- My YouTube profile — not that I ever really post video, but hey, I mentioned that I don't have brianarn there, so I figured I should link it.
- I've often on freenode. My username there is brianarn, but if you've read this far you likely knew that.
- Typically, anywhere that a username is involved, I'm brianarn - except YouTube, someone beat me there, and AIM (had it, but had to give it up when I quit working for AOL)


12 February 2003
Disease Outbreak Reported
Health officials from Guangdong Province have reported a total of 305 cases and 5 deaths of acute respiratory syndrome from 16 November- 9 February 2003 (see previous report.)
A team from the Chinese Ministry of Health is working with Guangdong health officials to investigate the outbreak and collect samples for laboratory analysis. To date, virus isolation for influenza has been negative.
Cases have been reported from 6 municipalities in Guangdong Province: Foshan, Guangzhou, Heyuan, Jiangmen, Shenzhen and Zhongshan. No new cases have been reported in Foshan, Heyuan and Zhongshan during the past week. The number of new cases is decreasing in Guangzhou, Jiangmen and Shenzhen municipalities.


| grid.display.list {grid} | R Documentation |
Turn the Grid display list on or off.
grid.display.list(on=TRUE) engine.display.list(on=TRUE)
on |
A logical value to indicate whether the display list should be on or off. |
All drawing and viewport-setting operations are (by default) recorded in the Grid display list. This allows redrawing to occur following an editing operation.
This display list could get very large so it may be useful to turn it off in some cases; this will of course disable redrawing.
All graphics output is also recorded on the main display list of the R graphics engine (by default). This supports redrawing following a device resize and allows copying between devices.
Turning off this display list means that grid will redraw from its own display list for device resizes and copies. This will be slower than using the graphics engine display list.
None.
Turning the display list on causes the display list to be erased!
Turning off both the grid display list and the graphics engine display list will result in no redrawing whatsoever.
Paul Murrell


(HTML (head )head (BODY "This (i "is (b Aclass test "unbalanced )b )i (b Aclass test " content )b ", dude! )BODY )HTML


.well Add this widget to any page and change it's theme / colors.
h4, body, .label
and their combinations.
Select color using color picker
Tweak hue / saturation / value in small increments
Fetch swatches from external websites, for example from ColourLovers
Generate complementary colors based on the first color
Try it now Open the color-pusher widget and click "Apply Colors"


Gilles Vandewiele graduated magna cum laude as a computer science engineer in June 2016 at Ghent University. Later that year, in August, he joined the Internet and Data Science Lab (IDLab) research group in the Department of Information Technology (INTEC). In February 2021, Gilles obtained his PhD in Computer Science Engineering. Gilles conducts research in the domain of white-box machine learning for critical domains and (semantic) knowledge models. Other research interests are bio-inspired algorithms and sport-related data science in general.
If you cannot find Gilles sitting behind his desk, he is most likely doing a code golf in Python, competing in a data science competition or out playing football with friends or colleagues.
gilles.vandewiele (at) ugent (dot) be
PhD Student
Internet and Data Science Lab (IDLab)
Department of Information Technology (INTEC)
University Ghent
Belgium


This is text when image is hovered
Hover me to reveal image
This is text when image is hovered
HEADING
Hover me to reveal text overlay
This is text when image is hovered
HEADING
Hover me to reveal image
* Try to resize your browser, it's adapting every width!
You can even put icons inside figure.


Compliance Report
Compliance Report
S.1. The institution has state of the art training laboratories/shops that conform to RA 6541 and meet the acceptable standards of Hospitability and Tourism industries both in local and international sectors.
S.2. The laboratory layout conforms to standards (RA 6541 National Building Code of the Philippines/PD 856 "Code of Sanitation of the Philippines), and to particular needs of the program.
S.2.1. The BS HRM and BS HM programs comply with the minimum requirements for Kitchen Laboratories; Facilities, Equipment and Appliances provided for by CMO No. 31, S. 2001 - Minimum Curricular Requirements for BS in HM and the twenty five (25) minimum Cocktail Recipes for Bar and Beverages;
S.2.2. The College/Academic Unit has a model operational hotel and food service facilities furnished with necessary materials and equipment for:
S.2.2.1. housekeeping;
S.2.2.2. food preparation and service; and
S.2.2.3. bar management.
S.2.3. Students have separate laboratory rooms for the major areas:
S.2.3.1. Travel agency; and
S.2.3.2. Front office.
S.3. Rooms have lightings in accordance to the standard requirements of fluorescent bulbs relative to their size.
S.4. The laboratories have proper lighting and ventilation.
S.5. Each laboratory rooms has at least two exit doors that open outward.
S.6. There is a laboratory for shop work for specific technologies.
S.7. There is a computer laboratory with at least 15 usable computer units.
S.8. The Kitchen Laboratory has facilities for both hot and cold preparations as well as baking activities. It should be subdivided into completely equipped unit kitchens.
S.9. The Kitchen Laboratory has provisions for cooking demonstration and dining area for eating and evaluation of the cooking activities.
I.1. Furniture/equipment arrangement allows free flow of movement and enables students to work comfortably without interference from others.
I.2. Safety and precautionary measures are implemented.
I.3. Usable fire extinguishers are accessible to staff and students.
I.4. Laboratory Operations Manuals for the faculty and students are provided in each laboratory.
I.5. Demonstrations and training on the use of fire extinguishers, first-aid kit and other emergency measures are periodically conducted.
I.6. A well-equipped first-aid kit, charts for antidotes and neutralizing solutions are always available in each laboratory room.
I.7. A student's access to a computer is at least 18 hours/semester/subject.
I.8. Appropriate laboratories for general education subjects are adequately equipped and well-maintained.
I.9. A well-equipped Multimedia Center is maintained.
I.10. Gas, water and electricity are available and utilized for class practicum activities.
I.11. A demonstration table, equipped with sink, water, electrical and gas outlets, is available and utilized.
I.12. Laboratory supplies and equipment are kept in separate stock rooms.
O.1. The laboratories and shops are well-equipped, functional and conducive to learning.
S.1. The equipment, instruments, and materials needed in the classrooms are available.
S.2. Apparatuses, tools and materials conform to the specifications stated in the requirements list for the subjects.
S.3. Varied computer software are available.
I.1. Equipment are well-maintained.
I.2. Laboratory supplies and materials are wisely utilized.
I.3. Licensed computer software are installed and utilized.
O.1. The laboratory equipment, supplies and materials are sufficient and wisely utilized.
S.1. A laboratory technician/assistant is available for the proper upkeep of the laboratory.
S.2. The Institution has a Maintenance and Repair Department/Unit manned by skilled personnel who provide services on direct call.
I.1. The institution keeps the laboratories neat and orderly.
I.2. Laboratory supplies and materials are regularly replenished/replaced whenever applicable.
I.3. The inventory of laboratory equipment/facilities is systematically and periodically conducted.
I.4. The laboratory equipment/instruments are in good condition and are periodically calibrated.
I.5. All equipment are coded, listed and inventoried.
I.6. Waste disposal is efficiently and effectively managed on campus.
I.7.The following are properly maintained by trained staff/ technicians:
I.7.1. shops;
I.7.2. computer laboratory;
I.7.3. multi-media center;
I.7.4. research facility;
I.7.5. general education laboratory;
I.7.5.1. natural science/physical science;
I.7.5.2. speech laboratory;
I.7.5.3. physical education; and
I.7.6. others (please specify).
O.1. The laboratories and shops are functional and properly maintained.
S.1. Specific program requirements (listing of materials and equipment as per CMO) are in accordance with guidelines/policies embodied in issuances.
S.2. There is an approved Procurement Program Management Plan (PPMP).
S.3. There is an approved Annual Procurement Plan (APP) for laboratory equipment, supplies and materials.
I.1. The institution implements the special provisions as listed in the CMO.
O.1. The special provisions in the CMO of the program are complied with.


This example we created two cubes with textures in it. First cube, we added a image with logo of WebGL and the second
cube we added six images in each face with a different image. Also we added two cubes in a object (layer) called THREE.Object3D().
Its function is create a layer with many 'stuffs' to facilitate manipulation.
var container, camera;
var group, scene, renderer;
var width = 600;
var height = 400
init();
render();
function init() {
container = document.getElementById('container');
camera = new THREE.PerspectiveCamera(60, width / height, 1, 10000);
camera.position.z = 50;
scene = new THREE.Scene();
group = new THREE.Object3D();
scene.add(group);
var marsTexture = new THREE.Texture();
var loader = new THREE.ImageLoader();
loader.addEventListener('load', function (event) {
marsTexture.image = event.content;
marsTexture.needsUpdate = true;
});
loader.load('../Library/images/texture-webgl.jpg');
var geometry = new THREE.CubeGeometry(10, 10, 10);
var material = new THREE.MeshBasicMaterial({ map: marsTexture, overdraw: true });
var mesh = new THREE.Mesh(geometry, material);
mesh.rotation.set(5, 15, 10);
group.add(mesh);
var materialArray = [];
materialArray.push(new THREE.MeshBasicMaterial({ map: THREE.ImageUtils.loadTexture('../Library/images/seventh-example/dice1.jpg') }));
materialArray.push(new THREE.MeshBasicMaterial({ map: THREE.ImageUtils.loadTexture('../Library/images/seventh-example/dice2.jpg') }));
materialArray.push(new THREE.MeshBasicMaterial({ map: THREE.ImageUtils.loadTexture('../Library/images/seventh-example/dice3.jpg') }));
materialArray.push(new THREE.MeshBasicMaterial({ map: THREE.ImageUtils.loadTexture('../Library/images/seventh-example/dice6.jpg') }));
materialArray.push(new THREE.MeshBasicMaterial({ map: THREE.ImageUtils.loadTexture('../Library/images/seventh-example/dice4.jpg') }));
materialArray.push(new THREE.MeshBasicMaterial({ map: THREE.ImageUtils.loadTexture('../Library/images/seventh-example/dice5.jpg') }));
var diceMaterial = new THREE.MeshFaceMaterial(materialArray);
var diceGeom = new THREE.CubeGeometry(10, 10, 10);
var diceMesh = new THREE.Mesh(diceGeom, diceMaterial);
diceMesh.position.set(10, 15, 0);
diceMesh.rotation.set(10, 15, 0);
group.add(diceMesh);
renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize(width, height);
container.appendChild(renderer.domElement);
}
function render() {
requestAnimationFrame(render);
camera.lookAt(scene.position);
group.rotation.y -= 0.005;
group.rotation.x -= 0.005;
group.rotation.z -= 0.005;
renderer.render(scene, camera);
}


Maintainer — Ruby Wrapper for PrinceXML (PDF Generation)
Extracts key information from natural text like emails
Figures out the tone of a given piece of text
Ruby library integrating with Resque for more accessible task information
Open source CRM
JS Reddit Client
Online QR Code Generator


Ever noticed how people like to borrow your iPhone, iPod or iPad? With most programs, their progress data gets mixed with yours. With Chinese Flash you can add as many users as you like, keeping each user's progress data separate.
From the Settings tab press Users. You can select a user by tapping the name.
You can add as many users as you like using the + button. We've added some users to get you started!


Based on Regulation of the Minister of Communication and Information No. 19 of 2014
To report, block/unblock site'content, please contact<EMAIL_ADDRESS>Further information regarding Trust Positif could be accessed at http://trustpositif.kominfo.go.id
Copyright (c) 2017 INDOSATM2


I dreamed a dream the other night,
Lowlands, Lowlands, away, me John
My love she came all dressed in white,
Lowlands away
I dreamed my love came in my sleep,
Lowlands, Lowlands, away, me John
Her cheeks were wet, her eyes did weep
Lowlands away
She came to me at my bed-side,
Lowlands, Lowlands, away, me John
Dressed all in white like some fair bride
Lowlands away
And bravely in her bosom fair,
Lowlands, Lowlands, away, me John
A red, red rose my love did wear
Lowlands away
She made no sound-no word she said,
Lowlands, Lowlands, away, me John
And then I knew my love was dead
Lowlands away
I bound the weeper round my head,
Lowlands, Lowlands, away, me John
For now I knew my love was dead
Lowlands away
She waved her hand-she said goodbye,
Lowlands, Lowlands, away, me John
I wiped the tear from out my eye
Lowlands away
And then awoke to hear the cry,
Lowlands, Lowlands, away, me John
'Oh, watch on deck, oh, watch ahoy!'
Lowlands away
(End)


Skipole WSGI generator.
Your deployment web server should have skipole installed.
Once you have developed a project inside a 'projectfiles' directory, copy projectfiles to your target web server. Edit 'myproj.py' so it creates the application, and adds the 'skis' application, but does not import skilift, nor does it create the development server or skiadmin.
For test purposes, this could be served by some web servers straight from the command line. Though you would have to put your ../projectfiles onto the Python path - something like:
export PYTHONPATH=${PYTHONPATH}:$HOME/projectfiles
And then the application created in myproj could be served, for example using gunicorn:
gunicorn3 -w 4 myproj:application
Where gunicorn3 is the python3 version of gunicorn
Or similarly using Waitress (python3-waitress on Debian based distro's)
waitress-serve --port=8000 myproj:application
In general however, you are likely to want the application to start on boot up, examples of running the wsgi app with a debian based server are given below:
Simple serving for a Raspberry Pi


If you would like to speedrun this, play again from the beginning and record the whole thing as fast as possible, then submit in my discord
v1.0 Patch 1
Added an option to keep going at endgame
v1.0 Full Release
Converted Vue to production mode
Added an end screen at 1e40,000,000 Points
v1.0 Beta 4
Balanced up to 1e40,000,000 Points & 500,000 Super-Prestige Points
v1.0 Beta 3
Added a hotkey for the fourth Spell
Balanced up to 1e29,000,000 Points & 10,000 Super-Prestige Points
v1.0 Beta 2
Fixed a bug involving the fourth Spell
Added more Super-Prestige Upgrades
Balanced up to 1e26,000,000 Points & 250 Super-Prestige Points
v1.0 Beta 1
Implemented the Super-Prestige layer (unfinished)
Balanced up to 1e18,000,000 Points & 10 Super-Prestige Points
Beta v1.2
Balanced up to 1e15,000,000 Points
Beta v1.2 Alpha 13
Reduced a few upgrade costs
Balanced up to 1e11,000,000 Points, 5e23 Magic, and 3e20 Balance Energy
Beta v1.2 Alpha 12
Balanced up to 1e9,200,000 Points, 5e18 Magic, and 1e16 Balance Energy
Beta v1.2 Alpha 11
Balanced up to 1e7,650,000 Points, 1e16 Magic, and 4e13 Balance Energy
Beta v1.2 Alpha 10
Made a few visual fixes
Adjusted the 1,070 Generator upgrade to cost 1,068 Generators instead
Balanced up to 1e6,800,000 Points, 1e14 Magic, and 1.5e12 Balance Energy
Beta v1.2 Alpha 9
Added hints for h8 & h10
Added a new Magic milestone
Reduced offline time to 10% of its original amount
Balanced up to 1e6,000,000 Points, 3e12 Magic, and 1e11 Balance Energy
Beta v1.2 Alpha 8
Added a new milestone
Added a new Hindrance ;)
Balanced up to 1e5,500,000 Points, 2.5e10 Magic, and 2e9 Balance Energy
Beta v1.2 Alpha 7
Balanced up to 1e3,950,000 Points, 1,500,000 Magic, and 5,000,000 Balance Energy
Beta v1.2 Alpha 6
Fixed a bug with hotkeys
Balanced up to 1e3,000,000 Points, 80,000 Magic, and 160,000 Balance Energy
Beta v1.2 Alpha 5
Balanced up to 1e2,400,000 Points, 1,500 Magic, and 3,000 Balance Energy
Beta v1.2 Alpha 4
Implemented the final Hindrance
Balanced up to 1e2,000,000 Points, 200 Magic, and 200 Balance Energy
Beta v1.2 Alpha 3
Balanced up to 50 Magic and 50 Balance Energy
Beta v1.2 Alpha 2
Added 2 new upgrades and a few new milestones
Balanced up to 25 Magic and 25 Balance Energy
Beta v1.2 Alpha 1
Implemented the two Row 5 layers
Added a new option
Rebalanced a few things at the end of row 4
Balanced up to 1 of each Row 5 reset
Beta v1.1
Cleaned up a few things
Beta v1.1 Alpha 21
Rebalanced from h10 to endgame (now ends at 1e920,000 Points unless you wanna grind)
Beta v1.1 Alpha 20
Made h10 hidden until you beat h9
Rebalanced/fixed h10
Beta v1.1 Alpha 19
Remade the offline progression system
Balanced up to 1e925,000 Points
Beta v1.1 Alpha 18
Added a new Hindrance (h10)
Balanced up to 1e800,000 Points
Beta v1.1 Alpha 17
Fixed a bug with unlocking Hyper-Boosters & Subspace
Balanced up to 1e710,000 Points
Beta v1.1 Alpha 16
Added a new Hindrance (h9)
Added a new Hyper-Booster milestone
Made the Space Building automation prioritize the rightmost buildings first
Balanced up to 1e690,000 Points
Beta v1.1 Alpha 15
Balanced up to 1e635,000 Points (don't worry, the crazy inflation stops here)
Beta v1.1 Alpha 14
Implemented the fourth row 4 layer unlock
Balanced up to 1e240,000-1e250,000 Points
Beta v1.1 Alpha 13
Implemented Subspace & Hyper-Booster resets
Balanced up to 1e100,000 Points in either path
Beta v1.1 Alpha 12
Balanced up to 1e20 Hindrance Spirit, 2e21 Quirks, and 1e72,000 Points
Beta v1.1 Alpha 11
Added a new Quirk Milestone
Balanced up to 1e15 Hindrance Spirit, 1e16 Quirks, and 1e42,500 Points
Beta v1.1 Alpha 10
Balanced up to 2e13 Hindrance Spirit & Quirks, and 1e31,000 Points
Beta v1.1 Alpha 9
Added a new option
Balanced up to 2e10 Hindrance Spirit & Quirks, and 1e27,500 Points
Beta v1.1 Alpha 8
Several bugfixes
Balanced up to 1e9 Hindrance Spirit & Quirks, and 1e25,750 Points
Beta v1.1 Alpha 7
Reversed the order of the changelog
Added the fourth Hindrance
Balanced up to 50,000 Hindrance Spirit & Quirks
Beta v1.1 Alpha 6
Various bugfixes
Added the third Hindrance
Balanced up to 2,500 Hindrance Spirit & Quirks
Beta v1.1 Alpha 5
Add the second Hindrance
Balanced up to 200 Hindrance Spirit & Quirks
Beta v1.1 Alpha 4
Add the first Hindrance
Implemented some new milestones
Balanced up to 60 Hindrance Spirit & Quirks
Beta v1.1 Alpha 3
Fixed corruption bug
Implemented some new milestones
Balanced up to 15 Hindrance Spirit & 15 Quirks
Beta v1.1 Alpha 2
Implemented some new milestones
Balanced up to 5 Hindrance Spirit & 5 Quirks
Beta v1.1 Alpha 1
Add the framework for the first two row 4 layers
Balanced up to the second row 4 reset
Beta v1.01
Display Generator Power in the Space tab
Add a credits page in the info tab
Implemented a few minor QoL/visual fixes
Beta v1.0
Made sure any built-in saves had Auto-Save turned on
Fixed a visual bug for mobile users
Added a "time played" display in the info tab
Implemented a NaN check system
Alpha Build 10
Rebalanced the Super-Booster era (now up to 1e9,250 points)
Implemented a game version variable
Alpha Build 9
Fixed a visual bug with the Prestige Tree branches
Added a hotkey for Super-Boosters
Added a new Super-Booster milestone
Fixed a bug with hotkeys
Balanced up to 1e46,500 points
Alpha Build 8
Implemented Super-Boosters
Balanced up to 1e25,600 points
Alpha Build 7
Made the new upgrades from Alpha Build 6 shown at proper times
Balanced up to 1e4,175 points
Setup a temp variable system (to prevent lag later on)
Alpha Build 6
Made font work for Mac users
Added 1 new Space & Time milestone each
Balanced up to 1e3,375 points
Alpha Build 5
Balanced up to 1e920 with all prestige tree paths (before unlocking third row 3 layer)
Alpha Build 4
Implemented Auto-Boosters & Auto-Generators
Fixed a balancing issue with a certain prestige tree path (1e660 -> 1e600)
Added changelog
Balanced up to 1e700 with all prestige tree paths
Pre-Alpha Build 4
Implemented/balanced all row 1 & 2 prestige layers
Added the options/info menus
Balanced the row 3 prestige layers up to 1e560 points
This game uses break_eternity.js by Patashu.
Made by Jacorb
Idea by papyrus (on discord)
Note: If anyone wishes to make a mod of this game, that is perfectly fine with me, just make sure to name it something different (ex: Prestige Tree NG+) and to let me know on my discord.
You have {{format(player.q.energy)}} Quirk Energy (generated by Quirk Layers), which multiplies Point & Generator Power gain by {{format(tmp.quirkEff)}}
1 Quirk Keep Prestige Upgrades on all previous resets, and gain 100x more Enhance Points
2 Quirks You can buy max Time Capsules & Space Energy
4 Quirks Keep Space Buildings on all fourth row resets
5 Quirks Automatically purchase Enhancers
10 Quirks Automatically purchase Time Capsules & Space Energy
15 Quirks Gain 100% of Enhance Point gain every second
25 Quirks Space resets reset nothing
2,500 Quirks You can destroy individual Space Buildings
1 Hyper-Booster You can buy max Super-Boosters
You have {{format(player.ss.subspace)}} Subspace, which provides you with {{formatWhole(tmp.ssEff1)}} extra Space, makes all Space Buildings {{format(tmp.ssEff2)}}x cheaper, and makes all Space Buildings {{format(tmp.ssEff3.sub(1).times(100))}}% stronger
1 Subspace Energy Automatically purchase Space Buildings
Note: Activating a Spell costs Magic.
You have {{formatWhole(player.m.hexes)}} Hexes, which are multiplying Hindrance Spirit & Quirk gain by {{format(tmp.hexEff)}}
1 Magic Keep row 4 milestones on all resets
2 Magic Keep Hindrance completions on all resets
3 Magic Gain 100% of Hindrance Spirit & Quirk gain every second
2.5e9 Magic Gain 100% of Hex gain every second, and Spells last 10x longer
You have {{format(player.ba.power)}} Balance Power, which is multiplying Hindrance Spirit & Quirk gain by {{format(tmp.balEff)}}
You have {{format(player.ba.positivity)}} Positivity
You have {{format(player.ba.negativity)}} Negativity
Your Positivity & Negativity are multiplying Balance Power gain by {{format(tmp.balEff2)}}
1 Balance Energy Keep row 4 milestones on all resets
2 Balance Energy Keep Quirk Upgrades on all resets
3 Balance Energy Automatically purchase Quirk Layers
5 Balance Energy Keep Hyper-Booster & Subspace Upgrades on all resets
8 Balance Energy You can buy max Hyper-Boosters & Subspace Energy, and Hyper-Boosters/Subspace Energy reset nothing
1 Total Super-Prestige Point Upgrades of Rows 1-5 and Hindrances are kept on all resets
2 Total Super-Prestige Points Keep Magic Milestones on reset, Spells do not cost Magic, and Magic Upgrade 13's effect can be auto-set to your current Magic
5 Total Super-Prestige Point Keep Balance Milestones on reset
10 Total Super-Prestige Point Gain 100% of Magic & Balance Power gain every second


This week I worked on the topic of singularities.
Singularities Link to heading
A singularity is in general a point at which a given mathematical object is not defined.
Examples:
1/x
has a singularity atx = 0
as it seems to reach infinity.|x| (Absolute)
has a singularity atx = 0
since it is not differentiable at that point.√x (Square root)
has a singularity atx = 0
since it doesnot admit a tangent there.
In real analysis, singularities are either discontinuities or discontinuities of the derivative (sometimes also discontinuities of higher order derivatives).
A removable singularity of a function is a point at which the function is undefined, but it is possible to redefine the function at that point in such a way that the resulting function is regular in a neighbourhood of that point.
For instance,
f(z) = sin(z)/z
has a removable singularity at z = 0
.
This singularity can be removed by defining f(0) := 1
, which is the limit of f
as z
tends to 0
.
In SymPy, we try to automatically simplify some of the expressions before passing it for further processing.
For example,
x/x
simplifies to1
.(x-1)^2/(x-1)
simplifies tox-1
.
At times, this can lead to incorrect behaviour.
Suppose, we are interested to find the singularities ( and/or domain ) of the function f(x) = x/x
.
In []: f = x/x
In []: singularities(f, x)
Out[]: S.EmptySet # no singularities
In []: continuous_domain(f, x, S.Reals) # finding the valid domain of f on the real line
Out[]: S.Reals # should be (-oo, 0) U (0, oo)
After some discussion about this issue of automatic simplification, we came to the conclusion that removable singularities should be treated as part of the domain of the function. This will help in justifying the behaviour of expressions which are automatically simplified.
So, I studied about how to classify a singularity as a removable one. For this, we use the Reimann’s theorem:
Let
f
a function defined on the setD \{a}
. The pointa
is a removable discontinuity if there exists a neighborhood ofa
on whichf
is bounded.
Mathematically,
lim (z -a)*f(z)
z->a+
I have implemented this theorem in the form of a function but I face certain issues with
the values returned by solveset
due to check_domain
function (which checks the bound of a
function at a particular value). This remains to be discussed in the meeting.
After Thoughts
I have lots to discuss with my mentors on these issues.
After merging the PR#11277, I think solve_decomposition
method will be good to go.


[9-24-14] Thoughts on EDA's Culture
So, I just finished watching one of EDA's introductory video, Fireside Chat w/ Shereef, and now I feel like I have a better idea of what EDA is and what my experience will be like. In this post I'll write about my initial impressions/feelings/expectations of EDA's culture.
Impressions
EDA seems like it will be pretty difficult, and possibly overwhelming. At the same time, though, it seems that the teachers will be understanding and supportive. I love the emphasis on emotional intelligence, communication, and collaboration. I also like that open-source, web accessibility, and contributing to the community are a part of the curriculum. Also, it's nice to see slides/articles from skillcrush and girldevelopit. All these things, along with the fast-paced, project-based curriculum, make me feel really optimistic about EDA. It seems to be more than just learning how to code, but also how to be good to your co-workers, clients, and your community.
I like that Shereef brought up this idea of table v. kitchen mindset. I remember in university, the vast majority of students were just waiting to receive their education, and their grades, and their jobs, so that they can receive lots of money.  I like that EDA is making it clear from the start that this school is only for people who genuinely want to learn and create.
Hmm, I guess it really depends on whoever is in the cohort, but the things that EDA is emphasizing makes me think that I will be in an environment where people are glad to help eachother and share knowledge. It also seems like a place where learning/creativity are most important, so noone is copying code, or bullshitting eachother in order to feign understanding. You know?
Goals
I love the idea of EDA, and am grateful that this sort of alternative education exists. I want to do my best to further prove EDA and other DBCs as a functional program, and so I will be trying my hardest to produce good work and be good to my cohort. V excited, meow.