|
PerceptualColor
|
A fully qualified color. More...
#include <fullcolordescription.h>
Public Types | |
| enum | outOfGamutBehaviour { outOfGamutBehaviour::preserve, outOfGamutBehaviour::sacrifyChroma } |
Public Member Functions | |
| FullColorDescription () | |
| Constructor for an invalid object. More... | |
| FullColorDescription (RgbColorSpace *colorSpace, const Helper::cmsRGB &rgb, qreal alpha=1) | |
| Constructor. More... | |
| FullColorDescription (RgbColorSpace *colorSpace, QColor rgb) | |
| Constructor. More... | |
| FullColorDescription (RgbColorSpace *colorSpace, const cmsCIELab &lab, outOfGamutBehaviour behaviour, qreal alpha=1) | |
| Constructor. More... | |
| FullColorDescription (RgbColorSpace *colorSpace, const cmsCIELCh &lch, outOfGamutBehaviour behaviour, qreal alpha=1) | |
| Constructor. More... | |
| FullColorDescription (const FullColorDescription &other)=default | |
| Default copy constructor. More... | |
| FullColorDescription (FullColorDescription &&other) noexcept=default | |
| Default move constructor. More... | |
| ~FullColorDescription ()=default | |
| FullColorDescription & | operator= (const FullColorDescription &other)=default |
| Default Assignment operator. More... | |
| FullColorDescription & | operator= (FullColorDescription &&other) noexcept=default |
| Default move assignment operator. More... | |
| bool | operator== (const FullColorDescription &other) const |
| bool | operator!= (const FullColorDescription &other) const |
| Helper::cmsRGB | toRgb () const |
| QColor | toRgbQColor () const |
| QColor | toHsvQColor () const |
| cmsCIELab | toLab () const |
| cmsCIELCh | toLch () const |
| qreal | alpha () const |
| bool | isValid () const |
| void | setAlpha (qreal alpha) |
Private Member Functions | |
| void | moveChromaIntoGamut (RgbColorSpace *colorSpace) |
| void | normalizeLch () |
Private Attributes | |
| Helper::cmsRGB | m_rgb |
| QColor | m_rgbQColor |
| cmsCIELab | m_lab |
| cmsCIELCh | m_lch |
| QColor | m_hsvQColor |
| qreal | m_alpha |
| bool | m_valid |
A fully qualified color.
This is similar to QColor, but contains both Lab color space representations and RGB color space representations. The constructor takes an RgbColorSpace() object to assure color management. Once constructed, the object cannot be modified anymore (except the alpha value, which does not depend on color management).
Contains an RGB, LCh and Lab representation of the color and the alpha channel. The data types are compatible with LittleCMS. The LCh value is normalized.
This class is declared as type to Qt's type system: Q_DECLARE_METATYPE(PerceptualColor::FullColorDescription). Depending on your use case (for example if you want to use it relyably in Qt's signals and slots), you might consider calling qRegisterMetaType() for this type, once you have a QApplication object.
This data type can be passed to QDebug thanks to operator<<(QDebug dbg, const PerceptualColor::FullColorDescription &value)
Definition at line 47 of file fullcolordescription.h.
Definition at line 51 of file fullcolordescription.h.
| PerceptualColor::FullColorDescription::FullColorDescription | ( | ) |
Constructor for an invalid object.
Definition at line 27 of file fullcolordescription.cpp.
| PerceptualColor::FullColorDescription::FullColorDescription | ( | RgbColorSpace * | colorSpace, |
| const Helper::cmsRGB & | rgb, | ||
| qreal | alpha = 1 |
||
| ) |
Constructor.
| colorSpace | The color space in which the color description is created. Only needed during constructor call. Can be deleted afterwards. |
| rgb | rgb color |
Definition at line 38 of file fullcolordescription.cpp.
| PerceptualColor::FullColorDescription::FullColorDescription | ( | RgbColorSpace * | colorSpace, |
| QColor | color | ||
| ) |
Constructor.
| colorSpace | The color space in which the color description is created. Only needed during constructor call. Can be deleted afterwards. |
| color | either an rgb color, a hsv color or an invalid color. (If it is another type, it will be converted.) |
Definition at line 58 of file fullcolordescription.cpp.
| PerceptualColor::FullColorDescription::FullColorDescription | ( | RgbColorSpace * | colorSpace, |
| const cmsCIELab & | lab, | ||
| outOfGamutBehaviour | behaviour, | ||
| qreal | alpha = 1 |
||
| ) |
Constructor.
| colorSpace | The color space in which the color description is created. Only needed during constructor call. Can be deleted afterwards. |
| lab | lab color (if out-of-gamut, it will be maintained as-is, but the RGB value will be forced into the gamut. |
Definition at line 94 of file fullcolordescription.cpp.
| PerceptualColor::FullColorDescription::FullColorDescription | ( | RgbColorSpace * | colorSpace, |
| const cmsCIELCh & | lch, | ||
| outOfGamutBehaviour | behaviour, | ||
| qreal | alpha = 1 |
||
| ) |
Constructor.
| colorSpace | The color space in which the color description is created. Only needed during constructor call. Can be deleted afterwards. |
| lch | lch color (if out-of-gamut, it will be maintained as-is, but the RGB value will be forced into the gamut. |
Definition at line 116 of file fullcolordescription.cpp.
|
default |
Default copy constructor.
| other | the object to copy |
|
defaultnoexcept |
Default move constructor.
| other | the object to move |
|
default |
Destructor
| qreal PerceptualColor::FullColorDescription::alpha | ( | ) | const |
Definition at line 262 of file fullcolordescription.cpp.
| bool PerceptualColor::FullColorDescription::isValid | ( | ) | const |
Definition at line 270 of file fullcolordescription.cpp.
|
private |
Makes sure that m_lch() will be within the gamut. Implements outOfGamutBehaviour::sacrifyChroma
Definition at line 140 of file fullcolordescription.cpp.
|
private |
Normalizes m_lch.
Definition at line 290 of file fullcolordescription.cpp.
| bool PerceptualColor::FullColorDescription::operator!= | ( | const FullColorDescription & | other | ) | const |
Definition at line 213 of file fullcolordescription.cpp.
|
default |
Default Assignment operator.
|
defaultnoexcept |
Default move assignment operator.
| bool PerceptualColor::FullColorDescription::operator== | ( | const FullColorDescription & | other | ) | const |
Definition at line 190 of file fullcolordescription.cpp.
| void PerceptualColor::FullColorDescription::setAlpha | ( | qreal | alpha | ) |
Definition at line 180 of file fullcolordescription.cpp.
| QColor PerceptualColor::FullColorDescription::toHsvQColor | ( | ) | const |
Definition at line 238 of file fullcolordescription.cpp.
| cmsCIELab PerceptualColor::FullColorDescription::toLab | ( | ) | const |
Definition at line 246 of file fullcolordescription.cpp.
| cmsCIELCh PerceptualColor::FullColorDescription::toLch | ( | ) | const |
Definition at line 254 of file fullcolordescription.cpp.
| Helper::cmsRGB PerceptualColor::FullColorDescription::toRgb | ( | ) | const |
Definition at line 221 of file fullcolordescription.cpp.
| QColor PerceptualColor::FullColorDescription::toRgbQColor | ( | ) | const |
Definition at line 229 of file fullcolordescription.cpp.
|
private |
The range is 0 (fully transparent) to 1 (fully opaque).
Definition at line 114 of file fullcolordescription.h.
|
private |
HSV representation within a QColor object
Definition at line 112 of file fullcolordescription.h.
|
private |
Lab representation.
Definition at line 108 of file fullcolordescription.h.
|
private |
LCh representation.
Definition at line 110 of file fullcolordescription.h.
|
private |
RGB representation.
Definition at line 104 of file fullcolordescription.h.
|
private |
RGB representation within a QColor object
Definition at line 106 of file fullcolordescription.h.
|
private |
Validity of this object.
Definition at line 116 of file fullcolordescription.h.


--- title: memery keywords: fastai sidebar: home_sidebar summary: "Use human language to search your image folders!" description: "Use human language to search your image folders!" nb_path: "index.ipynb" ---
The problem: you have a huge folder of images. Memes, screenshots, datasets, product photos, inspo albums, anything. You know that somewhere in that folder is the exact image you want, but you can't remember the filename or what day you saved it. There's nothing you can do but scroll through the folder, skimming hundreds of thumbnails, hoping you don't accidentally miss it, and that you'll recognize it when you do see it.
Humans do this amazingly well. But even with computers, local image search is still a manual effort - you're still sorting through folders of images, like an archivist of old.
Now there's Memery.
The memery
package provides natural language search over local images. You can use it to search for things like "a line drawing of a woman facing to the left" and get reasonably good results!
You can do this over thousands of images (it's not optimized for performance yet, but search times scale well under O(n)).
You can view the images in a browser GUI, or pipe them through command line tools.
You can use memery
or its modules in Jupyter notebooks, including GUI functions!
Under the hood, memery
makes use of CLIP, the Contrastive Language-Image Pretraining transformer, released by OpenAI in 2021. CLIP trains a vision transformer and a language transformer to find the same latent space for images and their captions. This makes it perfect for the purpose of natural language image search. CLIP is a giant achievement, and memery
stands on its shoulders.
Outline:
With Python 3.6 or greater:
pip install memery
Currently memery defaults to GPU installation. This will probably be switched in a future version. If you want to run CPU-only, run the following command after installing memery:
pip install torch==1.7.1+cpu torchvision==0.8.2+cpu torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
Someday memery will be packaged in an easy to use format, but since this is a Python project it is hard to predict when that day will be.
If you want to help develop memery, you'll need to clone the repo. See below.
What's your use case?
I have images and want to search them with a GUI app
↳ Use the Browser GUI
i have a program/workflow and want to use image search as one part of it
↳ Use in Jupyter
↳ Use as a Python module
↳ Use from command line or shell scripts
i want to improve on and/or contribute to memery development
↳ Start by cloning the repo
Currently memery has a rough browser-based GUI. To launch it, run the following in a command line:
memery serve
or set up a desktop shortcut that points to the above command.
Memery will open in a browser window. The interface is pretty straightforward, but it has some quirks.
The sidebar on the left controls the location and query for the search. The "Directory" box requires a full directory path; unfortunately, Streamlit does not yet have a folder-picker component. The path is relative to your current working directory when you run memery serve
.
The search will run once you enter a text or image query. If you enter both text and image queries, memery will search for the combination.
Beneath these widgets is the output area for temporary messages displayed with each search. Mostly this can be ignored.
The right hand panel displays the images and associated options. Major errors will appear here as giant stack traces; sometimes, changing variables in the other widgets will fix these errors live. If you get a large error here it's helpful to take a screenshot and share it with us in Github Issues.
from memery.gui import appPage
app = appPage()
display(app)
Unfortunately the widgets won't display without an active runtime, so the above is a screenshot. In a Jupyter environment, the GUI works just like the browser-based GUI.
Opening new appPage instances in separate cells can be helpful for exploring a dataset, but it can also cause memory overruns. For this reason the Jupyter interface is tabbed and each search will appear in a new tab.
The memery command line is currently very rudimentary. So far you can use memery
on any folder and it will search for images recursively, returning a list object to stdout.
Pass the --n flag to control how many images are returned (default 10).
memery recall PATH/TO/IMAGE/FOLDER 'query' --n 20
I'm not clear yet on what behavior command-line users will expect from it. In the future we may want to make it non-recursive by default, and map the behavior more closely to POSIX standards. I would love feedback or help on this. `
The function currently called query_flow
(against all Python convention) accepts a folder name and a query and returns a ranked list of image files. This is also recursive by default, and prints too much information into stdout. And it calls index_flow every time, which can be annoying if you have corrupted files in the directory, as it will need to rebuild the tree-index each time despite the files not changing. This will be solved in a future release.
from memery.core import query_flow
ranked = query_flow('./images', 'dad joke')
print(ranked[:5])
Here's the first result from that list:
So that's how to use memery. Let's look at how you can help make it better.
Memery is a different beast than most pieces of code you've seen. It's a literate program: a program written for human beings to read.
Nothing in this code is particularly special. The algorithms, data structures, and pipeline are either bog-standard or even subpar. The model was developed by OpenAI, and the tree indexer by Spotify.  The only reason nobody did it before me is that there's no money in it.
The thing that makes this program interesting is that it was developed in Jupyter notebooks. Each component has its code and documentation in the same place, a .ipynb
notebook.
This is possible thanks to a new-ish project called nbdev
. It provides literate programming functionality for notebooks. Specifically, it allows the programmer to automatically weave code and tangle documentation from the content of the notebooks!
This means that relevant docs, code and tests for that code all live in the same location. And ideally, that place is a notebook written for humans. I'm still getting the hang of this, but it means explaining why something works, rather than simply how to do it.
So that's the why of notebook-driven development. Let's look at how that works in practice.
"Small branches, quickly merged" should be the motto here. Another tragic case of "do what I say, not what I do".
For example, in updating the literate documentation for memery I created a branch called literate
:
git checkout -b literate
Within this branch, I can work on different files and subtasks. I can commit several changes in a row, and double check all my tests, before trying to merge with the upstream main
repo through a pull request.
To test memery as you work on it, you'll want to install it locally. This is as simple as using pip
with "editable" enabled:
pip install -e .
The .
refers to your local working directory; if this command doesn't work, try replacing that character with the full path of your memery repo.
Now, within the main memery folder there is a subfolder memery/memery
. This contains .py
files, which are the source code for the repo. You might be tempted to edit these Python files directly, but you must hesitate.
Remember: we are doing notebook-driven development. The Python files
Change the notebooks
Test the notebooks
Notebook-driven development
Tangle the source code
Weave the documentation
Compile this notebook
from nbdev.export import notebook2script; notebook2script()


You need to enable JavaScript to run this app.
Game of Stones
You guessed correctly!
Score: 2 | Top Score: 9
Game of Stones
Most believe there are six Infinty Stones—they are wrong.
Twelve Infinty Gems are shown below.
Click on a gem to keep it from Thanos' evil grasp; but don't click on any more than once!


Something very big has just happened!
— Donald J. Trump (@realDonaldTrump) October 27, 2019
"TwitterBot or Not" was made to create a dataset for the
Twitter Analysis Tool
Senior Design project at Drexel University.
TAT uses machine learning to detect malicious bots on Twitter, we need to create a dataset to see if our tool can beat a human.
Thanks for your help!


OpenUrl birds identified disease CrossRef novel avian viral lorikeet virus viruses white rainbow Australian amino bird using Figure RNA associated acid protein wild non-suppurative accession black clinical lesions lorikeets polyomavirus Avian cell including infection psittacine syndrome DNA PCR Virol (b) Wang birds. claw genome number species BWBD degeneration picornavirus potential scale used (a) Science analysis brain gene histological new phylogenetic sequence Bootstrap cases central clenched magpie sequencing (black Dis Web disease. feather inflammation midpoint number: pathogens rooted samples (GenBank Download Open Vet Wildlife adenovirus based diseases mononuclear numbers perivascular shown >;% Holmes astrovirus case clarity data data-hide-link-title=""> data-icon-position="" figure identify identity infiltrates meta-transcriptomic metagenomic nervous phylogeny site. substitutions syndromes tab tree Abstract GenBank Table abundance beak common diseased hepatovirus included key magpies members mortality reads representative signs tissue urban virus, (c) Australia, Eden FREE NDV NSW Phylogenetic Text Trichoglossus Zhang affected astroviruses axonal bar indicates infectious inferred influenza libraries necrosis neurological only. paresis read study. support values APMV Australia Clenched Emerg Shi animals avulavirus characterization circular diversity highly investigation known outbreak outbreaks polymerase presenting range sequences study surveillance termed trees virome wildlife (/), (d) (open Australia. CCS Delwart Health Med Microbiol Novel RT-PCR RdRp Schematic amplification body butcherbird cause chambers characteristic characterized complete contigs currawongs detection determine diagnostic examined family given head here. host human labels. large liver lorikeets. matter nerve nodes. paramyxovirus peripheral polyprotein revealed severe single site species, targeting taxa tissues wildlife, Black Chen Infect RNA-seq Rose Sanger VP, Wallerian aa) acute additional animal antigen approaches assays assess birds, bodies budgerigars capsid cardiac cases. cleavage closest commonly detected dogs domestic ecology emergent etiology events extracted feces genomic include isolated kidney likelihood major polyomaviruses pooled positive present prevalent primers products ravens recently records reported role similarity skeletal spinal sporadic syndrome. typical variety zoonotic >;%. (*) (/). (upper (white Arch BWBDpicoV Characterization Cracticus Deng Lin Muller Paramyxoviridae, Photomicrographs Proceedings RCA Registry Sci Trees Using Virus Viruses acids) annotated approach arrow), arrowhead) assays. bacterial bars brain, budgerigar cattle chamber chapparvovirus closely comprising conservation corresponding coverage description designed dilated divergent emerging encephalomyelitis estimated exhibited fatal female genomes genus graded haematodus) hepatic identification impacts inclusion infections infections. liver, meta-transcriptomics multifocal multiple nephritis node nt) occurred paralysis parrot pathogenic pathology performed phylogenies polyomavirus/magpie. positive, proteins region related representation serosal shows specific suspected syndrome, total transmission understanding viruses. yellow:


Chapter 4 Descriptive Statistics
** Under Construction **
Here in we will describe - the data set - the methods by which we label students at risk - the distributions of at-risk students by - demographic indicators - registration record indicators
4.1 Demographics across the colleges and major programs
4.1.1 Dawson
| AN | AU | FR | Sum | |
|---|---|---|---|---|
| F | 0.33 | 0.15 | 0.12 | 0.6 |
| M | 0.23 | 0.1 | 0.07 | 0.4 |
| Sum | 0.56 | 0.25 | 0.19 | 1 |
4.1.2 John Abbott College
| AN | AU | FR | Sum | |
|---|---|---|---|---|
| F | 0.31 | 0.09 | 0.12 | 0.52 |
| M | 0.3 | 0.07 | 0.11 | 0.48 |
| Sum | 0.61 | 0.16 | 0.23 | 1 |
4.1.3 Vanier
| AN | AU | FR | Sum | |
|---|---|---|---|---|
| F | 0.26 | 0.17 | 0.1 | 0.53 |
| M | 0.24 | 0.16 | 0.08 | 0.48 |
| Sum | 0.5 | 0.33 | 0.18 | 1.01 |
4.2 Academic Performance in Semesters leading to drop-out
4.2.1 Grades
Do students who drop out do so because of poor grades? What fraction of students are counted year after year as drop-outs and labeled as problems to be solved by the system while being exemplary students in terms of academic performance. Armed with this dataset, we can get the answer to that question. Let us begin by looking at the average grades of students who eventually dropped out compared to grades of students who haven’t. The following set of graphs will look at that comparison for 3 different semesters: the semester in which they dropped out (or graduated), the semester before that and the one before that. Let us see what the data says.
From the average total grade between the drop outs and the graduates, we can clearly see that the distributions are significantly different, but what is surprising is that NaN% of students have an average grade above 75% and that more than NaN% of the students who dropped out had an average grade above 60%. In other words, most students who drop out have passing averages. One hypothesis for this effect is that students who end up dropping out start with good semesters and have their performance decline closer to the final semester. Let us verify this hypothesis.
Let us now look at the performance of drop outs vs graduates on a semester by semester basis. Let us start by looking at the average grades of students in their last semester during which they are either graduating or dropping-out.
##
## Welch Two Sample t-test
##
## data: Average_all_courses by status
## t = 78.251, df = 7349.6, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 20.36923 21.41600
## sample estimates:
## mean in group grad mean in group out
## 79.97370 59.08109
From the average total grade between the drop outs and the graduates, we can clearly see that the distributions are significantly different, but what is surprising is that 22% of students have an average grade above 75% and that more than 52% of the students who dropped out had an average grade above 60%. In other words, most students who drop out have passing averages. One hypothesis for this effect is that students who end up dropping out start with good semesters and have their performance decline closer to the final semester. Let us verify this hypothesis.
Let us now look at the performance of drop outs vs graduates on a semester by semester basis. Let us start by looking at the average grades of students in their last semester during which they are either graduating or dropping-out.
##
## Welch Two Sample t-test
##
## data: avg_grade by status
## t = 84.649, df = 7619.5, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 27.00250 28.28279
## sample estimates:
## mean in group grad mean in group out
## 79.17656 51.53391
In this data, we can clearly observe a stark difference between the graduates and the drop outs. First of all, note that 23% of students still have a term average over 75% in the semester in which they drop out. To push it further 15% of students who drop out have an average grade over 80%. The data clearly suggests that some of the drop outs aren’t dropping out because of academic performance. Furthermore, the long tail of the data on the low end of performance suggests that some of the students stopped coming to class prior to the end of the semester resulting in very low grades that serve to drive their cegep average grades from the graph above even lower. 34% of students have a grade below 40 suggesting that they have indeed stopped coming to school some time during the semester. What if these students hadn’t stopped coming, would their performance be similar to that of graduates?
Let us now turn our attention to the semester before the one where they graduate or drop out.
In this data, we can clearly observe a stark difference between the graduates and the drop outs. First of all, note that 22% of students still have a term average over 75% in the semester in which they drop out. To push it further 14% of students who drop out have an average grade over 80%. The data clearly suggests that some of the drop outs aren’t dropping out because of academic performance. Furthermore, the long tail of the data on the low end of performance suggests that some of the students stopped coming to class prior to the end of the semester resulting in very low grades that serve to drive their cegep average grades from the graph above even lower. 34% of students have a grade below 40 suggesting that they have indeed stopped coming to school some time during the semester. What if these students hadn’t stopped coming, would their performance be similar to that of graduates?
Let us now turn our attention to the semester before the one where they graduate or drop out.
##
## Welch Two Sample t-test
##
## data: avg_grade by status
## t = 57.702, df = 6604.9, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 15.65690 16.75814
## sample estimates:
## mean in group grad mean in group out
## 80.56981 64.36230
The data clearly shows that even if there are significant differences between the groups, the drop out student population is getting closer to the graduate population. A section of 33% is observed to have an average grade above 75%.
Finally, let us look at 2 semesters before they graduate or drop-out. We are again expecting the same trend.
##
## Welch Two Sample t-test
##
## data: avg_grade by status
## t = 42.166, df = 4390.4, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 10.95430 12.02262
## sample estimates:
## mean in group grad mean in group out
## 80.42574 68.93729
4.3 Conclusion
In conclusion, the data strongly suggests that there are approximately 20% of students who consistently have averages above 75%, but still drop out. Therefore, that section of the drop out population is a section that will always go undetected if only traditional academic failure metrics are used to assess which students are likely to drop out. Students who move out to the US or the rest of Canada after their second semester and those who drop out by lack of interest are two potential student types that will always drop out no matter what remedial solutions are offered for them.
One of the profile level Key Performance Indicators that colleges are supposed to specifically keep track of is third semester retention. In this light, we can somewhat flip the line of questionning above, and look to see if the distribution of grades in the third semester students looks different for those who will drop out, and those who will continue on.
In conclusion, the data strongly suggests that there are approximately 20% of students who consistently have averages above 75%, but still drop out. Therefore, that section of the drop out population is a section that will always go undetected if only traditional academic failure metrics are used to assess which students are likely to drop out. Students who move out to the US or the rest of Canada after their second semester and those who drop out by lack of interest are two potential student types that will always drop out no matter what remedial solutions are offered for them.
4.3.1 Passed vs. Failed Courses
The line of questionning above can be repeated, but instead of looking at the average grade of courses taken in a term, we can instead look to see if the number of courses passed, or the proportion failed, might be different for students who drop out versus those who do not.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Not-drop-out | 11339 | 1320 | 447 | 216 | 116 | 66 | 34 | 8 | 2 | 0 |
| out | 263 | 113 | 93 | 80 | 134 | 109 | 59 | 36 | 15 | 1 |
What we remark in the table above is that the number of courses failed does not seem to differentiate students who will drop out after their third term. But perhaps, we should consider the fraction of courses that a student took in their third term, and failed?
For the above graphic, we calculate, for each student in their term, the fraction of courses that they took and failed, and we plot the distributions for the group of students we know who dropped out, and those we know stayed in the college for a fourth term. The red boxplot shows that,of the students who dropped out after their third term, 50% of them failed more than than half of their classes in that third term (the central notch represents a 95% confidence interval on the median). Conversely, the distribution on the left, squashed down at 0, shows that almost all students who stay on for a fourth term, pass all of their third term classes (The additional dots shown in this distribution are considered outliers to the distribution, meaning there are some students who failed all of their third term classes, and decided to stay for an additional fourth term).


Information assurance and security professionals need to have an understanding of the progression and use of data within organizations in order to assist with designing and implementing appropriate business systems. Traditional business systems can include databases, networks, and applications.
Security professionals will be called on to solve security and data-retrieval issues, as well as help with computer system design and networking. They may be expected to maintain disaster-recovery plans, which copy data into storage backup files that are located outside the IT network.
Because cybersecurity ties directly to the discipline of computer science and information technology, individuals will typically need a strong technology background or interest in information systems to pursue a cybersecurity profession. Experience with computer science; information technology; research and development; the completion of security certifications; and consulting activities can all help build a career in cybersecurity.


Will Apple Raise Its Dividend in 2020?
Investors have come to expect rising payouts from the tech giant, but will they continue?
by Dan Caplinger (TMFGalagan)Over the past year, Apple (NASDAQ:AAPL) has successfully regained its perch as the most valuable stock in the world. With a market capitalization above $1 trillion, the iPhone maker has managed to reinvigorate its core product line while also expanding into new areas like wearables and service offerings.
Apple's products are so popular that the tech giant generates truly astounding amounts of cash flow. Tax reform in late 2017 toppled the last barriers standing in the way of the company returning capital to shareholders, and Apple has aggressively boosted its dividend in recent years -- 2019 marked the eighth straight year for a higher dividend from Apple.
Some investors, however, weren't entirely satisfied with the size of that increase and wondered whether they can count on the company to keep its streak alive in 2020. Below, we'll look more closely at Apple's dividend prospects in the coming year.
Dividend stats on Apple
| Metric | Value |
|---|---|
| Current Quarterly Dividend Per Share | $0.77 |
| Current Yield | 1.2% |
| Number of Consecutive Years With Dividend Increases | 8 years |
| Payout Ratio | 25% |
| Last Increase | May 2019 |
Source: Yahoo! Finance. Last increase refers to ex-dividend date.
A newcomer to dividends
Given the billions of dollars that Apple now pays to shareholders annually, it might seem surprising to learn that the company didn't even pay a dividend for decades. During the tech boom of the mid-1990s, Apple discontinued its modest initial payout, and shareholders had to deal with having no income from their Apple stock until the early 2010s.
At that point, though, Apple made up for lost time by implementing a dividend in 2012. With a payout of roughly 30% of earnings, Apple paid a 2% dividend yield.
Investors in Apple currently have to settle for a yield of just 1.2%, but it's hard to blame the company for that. The per-share payout has more than doubled in seven years, but the gain in the stock price has greatly surpassed the dividend growth rate.
Until 2019, most of Apple's dividend increases amounted to about 10%. In 2018, a 16% dividend hike followed favorable changes in tax laws, giving shareholders even more confidence in the income Apple stock could give them.
What's next for Apple?
Yet in 2019, Apple disappointed some dividend investors. A smaller increase of just 5% raised some concerns about whether the pace of dividend growth would slow permanently.
Some noted, however, that the move came in conjunction with a broader plan for returning capital to shareholders. Apple authorized an additional $75 billion in stock buybacks at the same time that it boosted its dividend, and CFO Luca Maestri repeated Apple's commitment to move toward a cash-flow neutral stance in determining its capital-return policy.
Meanwhile, confidence in Apple's business has helped send the stock to all-time highs recently. The recent release of the iPhone 11 has gone relatively well, and moves to emphasize the company's services offerings are gaining momentum. Other product lines, such as the Apple Watch and AirPods wearable devices, have seen surges in demand recently, helping to create new growth opportunities for the tech giant. If those parts of Apple's business remain healthy, they could drive the cash flow necessary for future dividend increases.
Expect a higher dividend from Apple in 2020
Apple has committed itself to rewarding shareholders with returns of capital, and dividends have become a key part of the company's capital-allocation strategy. Given Apple's recent success, investors should expect dividend growth to return to around 10%, suggesting a boost to around $0.85 per share that would likely come in the spring.
That won't do much to increase Apple's yield, but it will give dividend investors the confidence that they'll continue to participate in the company's growth.


SON-IN-LAW A film review by James Berardinelli Copyright 1993 James Berardinelli
Rating: 6.0 out of 10 (C, ** out of ****)
Date Released: 7/2/93 Running Length: 1:36 Rated: PG-13 (Language, mature themes, brief nudity)
Starring: Pauly Shore, Carla Gugino, Lane Smith, Cindy Pickett, Mason Adams, Dan Gauthier Director: Steve Rash Producers: Michael Rotenberg and Peter M. Lenkov Screenplay: Fax Bahr, Adam Small, and Shawn Schepps based on a story by Patrick J. Clifton, Susan McMartin, and Peter M. Lenkov Music: Richard Gibbs Released by Hollywood Pictures
Following graduation from a small school in Midwestern America, Rebecca Warner (Carla Gugino) opts for a change. Instead of sticking close to home, she wants to go to college in Southern California. Although her father Walter (Lane Smith) and mother Connie (Cindy Pickett) are uncertain about the idea, they agree that it's Becca's life, and make the two-day drive to her new school. There they encounter her Residential Advisor, Crawl (Pauly Shore). The next time the Warners meet Crawl, it's when he comes home for Thanksgiving with Rebecca. The person who gets off the plane isn't the same shy, reserved girl that left three months ago, but her change in attitude and appearance isn't the only surprise she has in store for her family. In order to get out of marrying an old boyfriend (Dan Gauthier), she pretends to be engaged to Crawl.
Some people like Pauly Shore (mostly teenagers, I suspect). After all, if those people didn't exist, SON-IN-LAW would have never been made. Clearly, the role of Crawl was scripted specifically for him. Oddly enough, with someone marginally less annoying, this could have been a somewhat charming, albeit predictable, film. But to put Shore in a romantic comedy is asking for trouble.
 Unfortunately, there are too few of those moments and, as soon as they pass, the aggravating side of Mr. Shore quickly re-surfaces. There are times when it becomes exceptionally difficult to accept--not to mention like--the character of Crawl.
The film has its humorous scenes, but these are formula-driven and lacking in originality. Perhaps the most inventive moment of SON-IN-LAW comes as the result of a cameo by Brenden Frasier, reprising the role he played in last summer's dud, ENCINO MAN. It says something about the rest of this film to site that as one of SON-IN-LAW's highlights.
The plot is stock romantic comedy material, complete with the usual misunderstandings, break-ups, and resolutions. The ending of SON-IN-LAW is so sickeningly sweet that I almost went into sugar shock. This gives an entirely new meaning to the term "happy ending." Blech. I'm not against happy endings in general, but this kind of sappiness is impossible to stomach.
Carla Gugino, who has the somewhat thankless role of Rebecca, does a fine job with the material she's been given. In many ways, she reminds me of Kimberly Williams (Steve Martin's daughter in the remake of FATHER OF THE BRIDE). Both have a certain freshness that's enjoyable to watch. This is especially true of Gugino in this film, where she mercifully gives us a stable counterbalance to Shore's idiotic antics.
Since SON-IN-LAW takes place on a farm, there exists the usual run of city-boy-out-of-his-element gags. Of course, there's a cow milking scene, and Shore gets to feed the pigs, pluck a turkey, and try his hand at fishing. It's all pretty routine stuff. The few laughs garnered by this line of tried-and-true humor aren't worth sitting through ninety-five minutes of lame drivel.
SON-IN-LAW is a singularly unexceptional comedy, the content of which is well-represented by the theater trailers and TV ads. It's perfect fare for watching on cable, but not worth the time or effort of making a trip to a theater. Those who can't stand Pauly Shore would do well to stay away, and those that love him will go regardless of what I say. So, for those who don't care one way or another, be aware that SON-IN-LAW gives exactly what you expect: a dumb, predictable romantic comedy that has more animals than laughs.
- James Berardinelli<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


When you click the "Modal Close" button, you can call the "parent [callBack]" function in the parameter "callBack" that is passed from the "parent", to run the modal.close.
If you are using a server script, it is possible to call the modal content page POST, the received parameters in the server scripts can also be controlled in the same way.


The healthiest coffee in Dallas!
WhirlyBird Coffee is a unique blend of light and dark roast coffee beans. The beans are sourced from local farms and wet processed to maintain maximum flavor and minimum contaminants.
Free Coffee Beans Sample!
Send us a message!


|
KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Functions | |
| def | SafeConvertVectorToMatrix (_L) |
| def | IsVector (_X) |
| def | IsEmpty (_A) |
| def | ZeroVector (m) |
| def | ZeroMatrix (m, n) |
| def | Ones (n) |
| def | RowSize (_A) |
| def | CollSize (_A) |
| def | HorzCat (_A, _B) |
| def | VertCat (_A, _B) |
| def | Norm2 (_X) |
| def | NormInf3D (_X) |
| def | Dot (_X, _Y) |
| def | Plus (_X, _Y) |
| def | ScalarVectorProduct (scal, _X) |
| def | ScalarMatrixProduct (scal, _A) |
| def | Prod (_A, _B) |
| def | ElemwiseProd (_X, _Y) |
| def | Trans (_A) |
| def | Minus (_X, _Y) |
| def | TranslateToNewBasis (_A, basis) |
| def | TranslateToOriginalBasis (_A, basis) |
| def | SolveLinearSystem (A, b) |
| def | QuadProg (A, b, max_itr, tolerance) |
| def | PerformBisectioning (func, a, b, target, tolerance, max_itr) |
| def | PerformGramSchmidtOrthogonalization (vector_space) |
| def utilities.custom_math.CollSize | ( | _A | ) |
| def utilities.custom_math.Dot | ( | _X, | |
| _Y | |||
| ) |
| def utilities.custom_math.ElemwiseProd | ( | _X, | |
| _Y | |||
| ) |
| def utilities.custom_math.HorzCat | ( | _A, | |
| _B | |||
| ) |
| def utilities.custom_math.IsEmpty | ( | _A | ) |
| def utilities.custom_math.IsVector | ( | _X | ) |
| def utilities.custom_math.Minus | ( | _X, | |
| _Y | |||
| ) |
| def utilities.custom_math.Norm2 | ( | _X | ) |
| def utilities.custom_math.NormInf3D | ( | _X | ) |
| def utilities.custom_math.Ones | ( | n | ) |
| def utilities.custom_math.PerformBisectioning | ( | func, | |
| a, | |||
| b, | |||
| target, | |||
| tolerance, | |||
| max_itr | |||
| ) |
| def utilities.custom_math.PerformGramSchmidtOrthogonalization | ( | vector_space | ) |
| def utilities.custom_math.Plus | ( | _X, | |
| _Y | |||
| ) |
| def utilities.custom_math.Prod | ( | _A, | |
| _B | |||
| ) |
| def utilities.custom_math.QuadProg | ( | A, | |
| b, | |||
| max_itr, | |||
| tolerance | |||
| ) |
| def utilities.custom_math.RowSize | ( | _A | ) |
| def utilities.custom_math.SafeConvertVectorToMatrix | ( | _L | ) |
| def utilities.custom_math.ScalarMatrixProduct | ( | scal, | |
| _A | |||
| ) |
| def utilities.custom_math.ScalarVectorProduct | ( | scal, | |
| _X | |||
| ) |
| def utilities.custom_math.SolveLinearSystem | ( | A, | |
| b | |||
| ) |
| def utilities.custom_math.Trans | ( | _A | ) |
| def utilities.custom_math.TranslateToNewBasis | ( | _A, | |
| basis | |||
| ) |
| def utilities.custom_math.TranslateToOriginalBasis | ( | _A, | |
| basis | |||
| ) |
| def utilities.custom_math.VertCat | ( | _A, | |
| _B | |||
| ) |
| def utilities.custom_math.ZeroMatrix | ( | m, | |
| n | |||
| ) |
| def utilities.custom_math.ZeroVector | ( | m | ) |


Setup Gogs with HTTPS
November 15, 2015
There are two ways to use HTTPS for Gogs based on the way you choose to deploy:
- Reverse proxy, e.g. NGINX, Caddy
- Expose Gogs on the internet directly
And there are two types of HTTPS certificates: real and pretend to be real.
So, let’s talk about how to get your HTTPS certificates.
Obtain HTTPS Certificates
- Buy business version (OH PLEASE!!! Donate a million or two to Gogs project 😊)
- Apply free version from Let’s Encrypt or StartSSL
- Self-signed
You can Google (I just happened to be lazy) about how to get the first two versions of certificates. There are also some tools can generate self-signed certificates, but in this article, I’m going to talk about how to use Gogs to generate them.
First of all, you have to build Gogs with build tags cert
(official binaries are included this tag by default).
After that, execute the following command is all you need:
$ ./gogs cert -ca=true -duration=8760h0m0s -host=myhost.example.com
Don’t forget to replace with your own domain (Wait, did you just say that you DO NOT OWN ONE? Go buy it!)
OK, now you should have two new files in the current directory: cert.pem
and key.pem
.
Config HTTPS Certificates
I’ve mentioned that there are two ways to config HTTPS for Gogs.
If you’re using reverse proxy, all you need to do on Gogs’s configuration is making sure your ROOT_URL
is using a HTTPS URL, such as https://try.gogs.io
, and
NOTHING ELSE! NOTHING ELSE! NOTHING ELSE!
For NGINX, see example below:
server {
listen 443 ssl;
server_name try.gogs.io;
ssl_certificate path/to/cert.pem;
ssl_certificate_key path/to/key.pem;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:3000$request_uri;
}
}
# Redirect HTTP requests to HTTPS
server {
listen 80;
server_name try.gogs.io;
return 301 https://$host$request_uri;
}
Look at it! Gogs still starts as normal HTTP!
Maybe I’m not so clear, but I believe you get the point…
Great, see how to do the same thing with Caddy:
https://try.gogs.io {
proxy / localhost:3001
tls path/to/cert.pem path/to/key.pem
}
# Redirect HTTP requests to HTTPS
http://try.gogs.io {
redir https://try.gogs.io{uri} 301
}
It’s so damn obvious in Caddy!
Of course, I’m not saying expose Gogs directly on the internet is bad, you have your ways of doing things. Then, change the following configuration in your custom app.ini
file:
[server]
PROTOCOL = https
ROOT_URL = https://try.gogs.io/
CERT_FILE = path/to/cert.pem
KEY_FILE = path/to/key.pem
(I have to say Gogs itself has the least lines of configuration 😂)
Well done!
If you’re using real certificates, a green nice locker will show near the URL bar in Chrome.


Harry Potter
Stranger Things
Harry Potter and the Half-Blood Prince
Harry Potter and the Half Blood Prince
Severus Snape(Harry Potter series)
Percy Jackson(Percy Jackson & the olympians series)
Jim Moriarity(Sherlock Holmes)
Joker(dc comics)
Tony stark aka Iron Man
Jack Sparrow(Pirates of Caribbean)
None
Emma Watson


Toronto instrumental trio Big Horn Sheep blend elements of funk, jazz, electronica, and rock into an innovative, all-original repertoire.
A website for Toronto instrumental trio Big Horn Sheep, this project required bold imagery and graphic design, unique typography, the presentation of band audio tracks and images, as well as performance dates and contact information.
The design solution consisted of a Single Page Application (SPA) approach using AngularJS and Bootstrap 4. It features animated page entrances/exits, embedded soundcloud audio players, a pinterest style image gallery, Bootstrap modal popups for show dates with band posters (also of mason media design), with unique banner images and branding. The site was also an exercise in Atomic CSS, with an effort to limit styles to native Bootstrap 4 classes.
The site is built with HTML5, CSS3, Bootstrap 4, and AngularJS. It also required UX/UI design, copywriting, graphic design, color palette development, image/logo creation, and a Facebook page design.


Jordan's King visits enclave evacuated by Israel
King Abdullah II and his son visit the enclave of Tzofar after expiration of lease to Israel.
by Ben ArielJordanian King Abdullah II and his son, Crown Prince Hussein, on Saturday visited the enclave of Tzofar (Al Ghamr in Arabic), one of the two enclaves evacuated by Israel this week after its 25-year lease on the land expired.
According to the Jordan Times, King Abdullah was also accompanied by his chief adviser for religious and cultural affairs and personal envoy. They were received by Chairman of the Joint Chiefs of Staff Maj. Gen. Yousef Huneiti and a number of senior army officers.
During the visit, King Abdullah was briefed on the historical, geographic and strategic importance of the area.
Under the 1994 peace agreement between Israel and Jordan, Tzofar a second enclave, Naharayim, were leased to Israel for 25 years, allowing the Israeli farmers living in the enclave to continue managing their farms.
Last year, the Hashemite Kingdom announced that it wanted to terminate the lease agreement and take over the two enclaves. As of last Sunday, Jordan barred Israeli farmers from entering Naharayim.
King Abdullah and his son visited Naharayim by helicopter last Monday.


When memebers found a defect, they can post this discussion board
After developers saw these issues, they have to write the root cause.


Dadar is a densely populated residential and shopping neighbourhood in Mumbai's central district and a prominent transit hub with local and national connectivity.
Located on the tip of the tiny peninsula that makes up Mumbai, Colaba is a dynamic area of the city, filled with bustling markets, art galleries, and historic monuments.
Byculla was part of the original seven islands that constituted the Presidency of Bombay. It was also part of the first railway line .


func runtime/internal/atomic.Xchguintptr
2 uses
runtime/internal/atomic (current package)
atomic_amd64.go#L66: func Xchguintptr(ptr *uintptr, new uintptr) uintptr
runtime
netpoll.go#L441: old := atomic.Xchguintptr(gpp, 0)
The pages are generated with Golds v0.2.7-preview. (GOOS=darwin GOARCH=amd64)


It has several years since I began to do some research with security. But actually I did not have any big projects which could be opened to everyone. There are some small projects and tools that I could provide at present.
-
SecWiki Desribe: the website was builded four years ago, and it generates the latest security news and technology articles (not only China not also the whole world). It has more than 1000 users, 6000+ article links and other materials at present. It also has security skill guide for beginners. And I hope this project could be the most popular website in security zone.
-
Decode Describe: this tool is for xss users. It provide many encode/decode methods, including:URL HTML Ascii Ascii:Xss Ascii:Oracle Ascii:Mysql Ascii:Mssql Escape Hex:Ascii Hex:Ascii:Xss Hex:Unicode Hex:Ascii:Sql Hex:Unicode:Sql MD5:16 MD5:32 Base64 LM NT LM:NT and etc.. Platform: Windows
-
Webshellscan Describe: support for malware PHP script scanning. Support two methods: grammer token and keywords. Platform: PHP


Simulation of slow-motion CW-EPR spectra from time-domain trajectories
[B,spc] = cardamom(Sys,Exp) [B,spc,FID,t] = cardamom(Sys,Exp) [...] = cardamom(Sys,Exp,Par) [...] = cardamom(Sys,Exp,Par,Opt) [...] = cardamom(Sys,Exp,Par,Opt,MD)
cardamom
simulates a CW-EPR spectrum using trajectories of orientations, which are obtained from either stochastic dynamics simulations or molecular dynamics (MD) simulations. If stochastic dynamics is to be used, then cardamom
uses
stochtraj_diffusion
or stochtraj_jump
to simulate the orientational trajectories required to calculate a cw EPR spectrum. If MD is to be used, then cardamom
requires that the information and processed output of the MD simulation (which can itself be done by using mdload
) be provided, including the orientational trajectories.
cardamom
accepts up to five input arguments
Sys
: static and dynamic properties of the spin system
Exp
: EPR experimental parameters
Par
: simulation parameters for quantum propagation
Opt
: other simulation options
MD
: molecular dynamics parameters
If no input argument is given, a short help summary is shown (same as when typing help cardamom
).
Up to four output arguments are returned:
B
: magnetic field axis, in mT
spc
: derivative of the CW-EPR absorption spectrum, arbitrary units
TDSignal
: the time-domain signal, free induction decay (FID)
t
: time axis, in s
The first two output arguments B
and spc
are mandatory, whereas the last output argument pair TDSignal
and t
is optional.
Sys
is a structure containing the dynamic properties for generating the stochastic rotational trajectories. Many of its fields overlap with those of chili
. This allows the user to easily simulate EPR spectra in both frequency and time domains for easy comparison.
Diffusion model
A Brownian diffusion model of rotational motion can be used for local dynamics by declaring Par.Model='diffusion'
.
For the timescale(s) of motion, one of the fields tcorr
, logtcorr
, Diff
or logDiff
should be given. If more than one of these is given, the first in the list logtcorr
, tcorr
, logDiff
, Diff
takes precedence over the other(s).
Sys.tcorr
[txy tz]
: anisotropic diffusion with axial diffusion tensor
[tx ty tz]
: anisotropic diffusion with rhombic diffusion tensor
For example,
Sys.tcorr = 1e-9; % isotropic diffusion, 1ns correlation time Sys.tcorr = [5 1]*1e-9; % axial anisotropic diffusion, 5ns around x and y axes, 1ns around z Sys.tcorr = [5 4 1]*1e-9; % rhombic anisotropic diffusion
Instead of tcorr
, Diff
can be used, see below. If tcorr
is given, Diff
is ignored. The correlation time tcorr
and the diffusion rate Diff
are related by tcorr = 1/(6*Diff)
.
Sys.logtcorr
tcorr
, logDiff
and Diff
are ignored.tcorr
for least-squares fitting with esfit.
Sys.Diff
[Dxy Dzz]
gives axial tensor [Dxy Dxy Dzz]
[Dxy Dxy Dzz]
Diff
is ignored if logtcorr
, tcorr
or logDiff
is given.
Sys.logDiff
Diff
. If given, Diff
is ignored.
Diff
for least-squares fitting
with esfit.
It is also possible to specify an orientational potential to simulate restricted diffusion. cardamom
accomplishes this by representing the orientational potential function using either a series of Wigner D-functions (see reference for details), a numerical 3D array, or a function handle. To take advantage of one of these feature, use Sys.Potential
and assign to it one of the following:
The ranges of allowed index values are as follows: L≥0; 0≤K≤L; if K=0, then 0≤M≤L; and if K≠0, then -L≤M≤L. Given the associated λLM,K, stochtraj_diffusion
will automatically include appropriate λL-M,-K to assure the potential is real-valued. This also means that the input λL0,0 have to be real.
The full form of the orientational potential is expressed as
U(Ω) = - kB T ΣL,M,KλLM,K DLM,K (Ω),
where DLM,K are the Wigner D-functions, λLM,K are the potential coefficients. The temperature is not needed, as it is divided out in the Langevin equation (which uses only U(Ω)/kBT).
For example, to specify an orientational potential using lambda200
to represent the coefficient λ20,0 of the commonly used second-order Legendre polynomial, use
Sys.Potential = [2, 0, 0, 1.2]; % L=2, M=K=0, lambda = 1.2
For details about this type of orientational potential, see K.A. Earle & D.E. Budil, Calculating Slow-Motion ESR Spectra of Spin-Labeled Polymers, in: S. Schlick: Advanced ESR Methods in Polymer Research, Wiley, 2006.
3D array (numerical representation). A 3D array of size (N,M,N) representing the orienting potential energy function U(α,β,γ). Dimensions 1, 2, and 3 of this array correspond to the Euler angles α, β, and γ, respectively.
alpha = linspace(0,2*pi); % grid over alpha beta = linspace(0,pi); % grid over beta gamma = linspace(0,2*pi); % grid over gamma Uarray = lambda*(3*cos(beta).^2-1) % potential energy over grid Sys.Potential = Uarray;
Function handle (functional representation). A user-defined function representing U(α,β,γ). This function must by vectorized (accept arrays as inputs) and accept three input arguments, corresponding to the Euler angles α, β, and γ, and yield one output.
lambda200 = 0.86; U = @(a,b,c) lambda200*(3*cos(b).^2-1); Sys.Potential = U;
Jump model
A jump model with a discrete number of orientational states can be used for local dynamics by declaring Par.Model='jump'
. To dictate the inter- and intra-state dynamics, either TransRates
or TransProb
can be given, with the former taking precedence if both are given.
Sys.TransRates
Transition rate matrix of size (nStates,nStates), with rates in seconds-1. The elements of Sys.TransRates
must satisfy the following properties:
Sys.TransProb
Sys.TransProb
must satisfy the following properties:
Sys.Orientations
MD model
An MD model can also be employed, where MD trajectories are used to model local dynamics and obtain additional trajectories.
There are three types of MD model that make use of MD trajectories in different ways:
Par.Model='MD-direct'
, where orientational trajectories are directly extracted from the MD trajectory atomic coordinate output; Par.Model='MD-HBD'
, where the orientations and dynamics of the paramagnetic spin system are used to build and simulate trajectories from a coarse-grained, hindered Brownian dynamics (HBD) model; and Par.Model='MD-HMM'
, where the dihedral angles of the spin label are projected onto a hidden Markov model (HMM), from which jump trajectories of time-averaged, state-dependent Hamiltonians are simulated.
Par
is a structure containing the parameters for generating the stochastic orientational trajectories. The most important field is the model choice:
Par.Model
Specifies the motional model to use. The following are available:
'MD-direct'
: simulate EPR spectrum directly from MD trajectory
'MD-HBD'
: simulate EPR spectrum using a hindered-Brownian-diffusion model fitted to the MD trajectory
'MD-HMM'
: simulate EPR spectrum using a Hidden Markov Model fitted to the MD trajectory
'diffusion'
: simulate EPR spectrum using a hindered-Brownian-diffusion model with given parameters
'jump'
: simulate EPR spectrum using a Markov model with given parameters
If any of the MD-based models are used, an MD trajectory (processed via mdload) has to be provided in the fifth input, MD
.
Two additional mandatory parameters are the time step Dt
and the number of steps nSteps
to use for the calculation of the free-induction decay (FID):
Par.Dt
The time step of spin propagation (FID calculation), in seconds. For a nitroxide at X-band frequencies, a typical value is 1-2 ns. For higher fields and frequencies, it should be shortened.
Par.nSteps
The number of time steps for the spin propagation (FID calculation). For a nitroxide at X-band frequencies, a reasonable value is 250. For other systems and/or at other fields/frequencies, the best number will be different.
Lastly, the trajectory settings are used to specify the starting orientations for the trajectories using triplets of Euler angles in OriStart = [alpha;beta;gamma]
,
which correspond to the Euler angles α, β, and γ; how many trajectories to simulate, nTraj
; and a set of orientations in the lab frame for a powder-like summation, Orients
.
Par.OriStart
The Euler angles corresponding to the starting orientations for trajectories, in radians.
Par.nTraj
The total number of trajectories to simulate.
Par.Orients
Orientations of the system in the lab frame (powder-like summation).
Par.nOrients
The total number of orientations in the lab frame.
If only one set of starting orientations OriStart
is given and nTraj
is greater than one, then this starting orientation will be repeated for each trajectory. If nTraj
is not provided, only one trajectory will be simulated. If OriStart
is not provided, then for the case of unrestricted diffusion, a number of starting orientations equal to nTraj
will be chosen from a uniform random distribution over the unit sphere, where α, β, and γ are sampled from [0,2π), [0,π), and [0,2π), respectively. If one is simulating using restricted diffusion (Sys.Potential
is present), then OriStart
will be sampled from the equilibrium distribution corresponding to the potential.
For the lab orientations Orients
, if these are not specified but nOrients
is declared, then nOrients
orientations will be chosen using a spiral grid on the unit sphere. If neither are provided, then the number of lab orientations to sum over will be set equal to Par.nTraj
and they will be chosen from a spiral grid.
Opt
is a structure with additional simulation options.
Opt.Verbosity
Determines how much information cardamom
prints to the screen. If Opt.Verbosity=0
, is is completely silent. Opt.Verbosity=1
prints details about the progress of the computation.
Opt.Method
Determines the method with which the time-dependent spin Hamiltonian is constructed and the spin density matrix propagated. The two possible values are 'fast'
and 'ISTO'
.
'fast'
(default for spin systems with S=1/2 and at most one nucleus), cardamom
will construct a nuclear sub-Hamiltonian restricted to the electron spin S=-1/2 subspace and propagate it within this subspace, allowing for a very efficient analytical calculation of the propagator at each time step.
'ISTOs'
, cardamom
will construct a spin Hamiltonian using irreducible spherical tensor operators and calculate the full propagator using a matrix exponential, which is very general but much less efficient than the specialized 'fast'
method.
Opt.specCon
Termination tolerance for simulating spectra at different lab orientations. If true, cardamom
will keep doubling the number of lab orientations in the spectral summation until the RMSD between the last sum and the new sum, say N vs. 2N orientations, changes by less than 10%.
Opt.FFTWindow
MD
is a structure with properties and options regarding the usage of MD simulation trajectories to simulate an EPR spectrum.
MD.dt
Time step between snapshots in the MD simulation trajectory, in seconds. It could be necessary to rescale this if the model for the spin label's environment molecules does not yield the correct time scale for diffusion, e.g. TIP3P water, where the time step is often increased by a factor of 2.5.
MD.RProtDiff
An array of size 3x3xnTraj
xnSteps
containing the rotation matrices representing the global rotational diffusion of the protein.
MD.FrameTraj
An array of size 3x3xnTraj
xnSteps
containing the cartesian coordinates of the spin label tensor frame's x-, y-, and z-coordinate frame axis vectors with respect to the MD simulation box frame, in Å.
MD.FrameTrajwrtProt
Same as FrameTraj
, but without global rotational diffusion of the host protein, in Å.
MD.removeGlobal
If set to true (default), cardamom
will use FrameTrajwrtProt
to simulate a spectrum. If set to false, FrameTraj
will be used instead.
MD.DiffGlobal
Optional rotational diffusion coefficient for simulating stochastic isotropic global rotational diffusion, which will be coupled to the local diffusion obtained from the MD simulation trajectory.
HMM
Optional HMM model parameters to be used when setting Par.Model = 'MD-HMM'
. If used, please set it equal to the output argument from mdhmm
.
To simulate a cw EPR spectrum of an 14N nitroxide spin label with a rotational correlation time of 5 ns using a , use
Sys.g = [2.009, 2.006, 2.002]; Sys.A = mt2mhz([6,6,36]/10); % hyperfine tensor, G -> MHz Sys.tcorr = 5e-9; % 5 ns rotational correlation time Exp.mwFreq = 9.4; % microwave frequency, in GHz [B,spc] = cardamom(Sys,Exp);
To simulate a CW EPR spectrum using very slow hindered Brownian diffusion, with an orientational potential with coefficient λ20,0 = 1.0 and a 250-ns long FID, use
clear Sys.g = [2.009, 2.006, 2.002]; Sys.Nucs = '14N'; Sys.A = mt2mhz([6,6,36]/10); % hyperfine tensor, G -> MHz Sys.tcorr = 50e-9; % rotational correlation time, seconds Sys.Potential = [2, 0, 0, 1.0]; Exp.mwFreq = 9.4; % GHz Par.Model = 'diffusion'; Par.dt = 1e-9; % seconds Par.Dt = 1e-9; % seconds Par.nSteps = 250; Par.nTraj = 400; [B,spc] = cardamom(Sys,Exp,Par);
To simulate a cw EPR spectrum using an MD trajectory with a direct model (we assume that the MD trajectory has already been processed and output to the variable MD
using mdload
), enter
Sys.g = [2.009, 2.006, 2.002]; Sys.Nucs = '14N'; Sys.A = mt2mhz([6,6,36]/10); % hyperfine tensor, G -> MHz Exp.mwFreq = 9.4; % GHz Par.Model = 'MD-direct'; Par.Dt = 1e-9; % seconds Par.nSteps = 250; Par.nOrients = 400; [B,spc] = cardamom(Sys,Exp,Par,[],MD);
chili, stochtraj_diffusion, stochtraj_jump, mdload


Do you like cookies?
🍪 We use cookies to ensure you get the best experience on our website.
Learn more
I agree


This paper has two goals:
Threshold-limited influence relies on an imitation or conformity pressure effect: agents adopt a behavior/product/opinion/fashion whenever a critical fraction of their neighbors in the network have adopted it already.
So-called threshold models, having gained early, wide-spread attention, are used precisely to represent the dynamics of diffusion under threshold-limited influence
The logical setting introduced is "minimal": propositional logic is used to specify both the network structure and the agents behavior, and a single dynamic modality is used to represent the threshold-limited influence.
Moreover, while others focus on the limit thresholds of 100% (all neighbors) and non-0% (at least one neighbor), here they allow for any (uniform) adoption threshold, as is standard within the literature on threshold models.
The paper also shows how the logic captures the relationship between clusters and diffusion of a behavior to the whole network.
Definition: a network is a pair $(\mathcal{A}, N)$ where $\mathcal{A}$ is a non-empty finite set of agents, and the function $N : \mathcal{A} \rightarrow \mathcal{P}(\mathcal{A})$ assigns a set $N(a)$ to each $a \in \mathcal{A}$.
It is irreflexive (an agent is not a friend of itself), symmetric (friends are friends of each other) and serial (no agent in the network has no friends).
Definition: a threshold model is a tuple $\mathcal{M} = (\mathcal{A}, N, B, \theta)$ where $(\mathcal{A}, N)$ is a network, $B \in \mathcal{A}$ is a behavior and $\theta \in [0, 1]$ is a uniform adoption threshold.
It is assumed throughout the paper that both the network structure and the adoption threshold stay constant under updates. Therefore, the spread of the behavior (i.e., the extension of B) at ensuing time steps may be calculated using the fixed threshold and network structure.
An updated threshold model $\mathcal{M}' = (\mathcal{A}, N, B', \theta)$, where $B'$ is given by: \[ B' = B \cup \left\{ a \in \mathcal{A} : \frac{\lvert N(a) \cap B \rvert}{\lvert N(a) \rvert} \geq \theta \right\} \]
A diffusion sequence $\mathcal{S}_\mathcal{M}$ is the sequence of threshold models $\mathcal{M}_0, \mathcal{M}_1, \mathcal{M}_2, \dots$ such that, for any $n \in \mathbb{N}$, $\mathcal{M}_n = (\mathcal{A}, N, B_n, \theta)$ where $B_n$ is given by: \[ B_0 = B \ \text{and} \ B_{n+1} = B_n' \] The paper shows that any such diffusion process reaches a fixed point.
An alternate diffusion model is given, which also allows Unadoption by capturing a conservative tie-breaking rule:
\[ B' = \left\{ a : \frac{\lvert N(a) \cap B \rvert}{\lvert N(a) \rvert} > \theta \right\} \cup \left\{ a : \frac{\lvert N(a) \cap B \rvert}{\lvert N(a) \rvert} = \theta \ \text{and} \ a \in B \right\} \]
Since this does not cause $B$ to inflate, this alternative rule allows the possibility of loops in behavior, i.e. where $B = B'' \neq B'$. Notice that a diffusion sequence with this model does not necessarily reach a fixed point.
The language $\mathcal{L}_{[]}$ is an extension of propositional logic, given by: \[ \varphi := N_{ab} \mid \beta_a \mid \neg \varphi \mid \varphi \land \varphi \mid [adopt]\varphi \] where atoms are given by $\Phi = \{ N_{ab} : a, b \in \mathcal{A} \} \cup \{ \mathcal{B}_a : a \in \mathcal{A} \}$.
The formulas of $\mathcal{L}$ are those of $\mathcal{L}_{[]}$ that do not involve the $[adopt]$-modality.
Conventional formulas are evaluated in the standard way. Others, as follows:
Consider the recursive abbreviation $[adopt]^n \varphi$: \[ [adopt]^0 \varphi := \varphi\\ [adopt]^{n+1} \varphi := [adopt][adopt]^n \varphi \]
And also the abbreviation $\beta_N(a) \geq \theta$, expressing that the proportion of agent $a$'s neighbours who adopted the behavior is equal to or above the threshold $\theta$: \[ \beta_N(a) \geq \theta := \bigvee_{\mathcal{G} \subseteq \mathcal{N} \subseteq \mathcal{A} : \frac{\lvert \mathcal{G} \rvert}{\lvert \mathcal{N} \rvert} \geq \theta} \left(\bigwedge_{b \in \mathcal{N}}N_{ab} \land \bigwedge_{b \not\in \mathcal{N}}\neg N_{ab} \land \bigwedge_{b \in \mathcal{G}} \beta_b \right) \]
An agent adopting a new behavior may influence some of her neighbors to adopt it at the next moment, which in turn may cause further agents to adopt it, and so on. Such a chain reaction is termed a cascade in the literature, and a cascade is said to be complete when it results into a state where all agents have adopted the new behavior.
The sentence abbreviated by $cascade$ expresses that all agents will have adopted a behavior eventually: \[ cascade := [adopt]^{\lvert \mathcal{A} \rvert - 1} \bigwedge_{a \in \mathcal{A}} \beta_a \]
Strongly connected groups of agents are more resilient to external influence. Briefly put, dense components of a network may prevent complete cascades and the denser a group, the better it resists change induced from the outside
A cluster of density $d$ is any group $C \subseteq \mathcal{A}$ such that for all $a \in C$, $ \frac{\lvert N(a) \cap C \rvert}{\lvert N(a) \rvert} \geq d$.
A social network with a cluster of density $\frac{2}{3}$
Notice that any network will contain at least one cluster of density $1$, namely the group $\mathcal{A}$, and that each singleton $\{a\} \subseteq \mathcal{A}$ is a cluster of density $0$ (by irreflexivity).
Given a threshold model $\mathcal{M}$ with threshold $\theta \neq 0$ and a set $B \subseteq \mathcal{A}$ of agents who have adopted, all agents will eventually adopt if and only if there does not exist a cluster of density greater than $1 - \theta$ in $\mathcal{A} \setminus B$.
The theorem can be encoded in $\mathcal{L}_{[]}$ in the following way: \[ \mathcal{M} \models cascade \leftrightarrow \neg \exists C_{\geq 1 - \theta} \neg \beta \] where $\exists C_{\geq 1 - \theta} \neg \beta$ is an abbreviation, which characterizes the existence of a cluster of density $d$ among agents who have not adopted: \[ \bigvee_{C \subseteq \mathcal{A}} \bigwedge_{a \in C} \bigvee_{\mathcal{G} \subseteq \mathcal{N} \subseteq \mathcal{A} : \frac{\lvert \mathcal{G} \cap C\rvert}{\lvert \mathcal{N} \rvert} \geq d} \left(\bigwedge_{b \in \mathcal{N}}N_{ab} \land \bigwedge_{b \not\in \mathcal{N}}\neg N_{ab} \land \bigwedge_{b \in \mathcal{G}} \neg \beta_b \right) \]
It's possible to define the threshold $\theta$ not as a constant but as a function assigning a particular threshold to each agent, i.e., set $\theta : \mathcal{A} \rightarrow [0,1]$, and replace $\theta$ by $\theta(a)$ in the definition of the update.
It's also possible to generalize the logic to capture several behaviors. Let $\mathcal{B}$ be a finite set of behaviors $\mathcal{B} = \{B_1, B_2, \dots, B_n\}$ and define $\theta : \mathcal{A} \times \mathcal{B} \rightarrow [0,1]$.
A situation of uncertainty. Agent $a$ cannot tell whether world $w$ or world $v$ is the actual one.
The paper extends the standard threshold models with an epistemic dimension and define a refined adoption policy where agents' behavior change depends on their knowledge of others' behavior.
We will say that an agent has sight $n$ when it can "see" at least $n$ agents away, i.e., when the agent knows at least both the network structure and the behavior of all agents within distance $n$.
Let be given an ETM $\mathcal{M} = (\mathcal{W}, \mathcal{A}, N, B, \theta, \{\sim_a\}_{a \in \mathcal{A}})$ and let $n \in \mathbb{N}$. Define $N^n : \mathcal{W} \rightarrow \mathcal{A} \rightarrow \mathcal{P}(\mathcal{A})$ (n-reachable) as follows, for any $w \in \mathcal{W}$ and any $a, b, c \in \mathcal{A}$:
The (n sight) informed adoption update of $\mathcal{M}$ produces results in an ETM $\mathcal{M}^i = (\mathcal{W}, \mathcal{A}, N, B^i, \theta, \{\sim_a^i\}_{a \in \mathcal{A}})$:
The paper concludes that the standard threshold models make the implicit epistemic assumption that agents know their neighborhood and its behavior.
Another conclusion is that knowledge about more distant agents is redundant as it will not affect behavior.
Let $\mathcal{M}$ be an ETM and $w \in \mathcal{W}$. Let $\mathcal{M}^i$ be the informed update, and $\mathcal{M}(w)$ the state-generated model of $\mathcal{M}$ (equivalent standard threshold model for the state $w$). Let $\mathcal{M}^i(w)$ be the state-generated model of $\mathcal{M}^i$ and let $\mathcal{M}(w)'$ be the standard threshold update of $\mathcal{M}(w)$. Then:
if $\mathcal{M}$ has sight $n \geq 1$ then $\mathcal{M}^i(w) = \mathcal{M}(w)'$
A diffusion process "slowed down" by the uncertainty of agent $b$, with threshold $\theta = \frac{1}{2}$. Consider the situation in world $w$: agent $a$ has adopted, but agent $b$ does not know it. Therefore, agent $b$ will not adopt immediately.
The lack of knowledge may for instance block a cascade, despite the absence of a cluster-obstacle. Note that under the non-epistemic threshold update, or if agent $b$ knew that $a$ has adopted, the situation depicted in state $w$ would evolve into a complete cascade.


Switch to a different program to blur this page.
You can also just click into the location bar (except in Safari).
Click this page again to focus it.
When blurred, this page will have a black background with white text.
The window is currently FOCUSEDBLURRED.


--- layout: post title: "this is a test" date: Wed Aug 25 2010 18:25:00 commentsOn: true status: publish type: post published: true categories: [] excerpt: "null" logoUrl: null keywords: null filepath: 2010-08-26-this-is-a-test.html disqus_identifier: this-is-a-test ---
this is just a test. we’ll remove it when we’re ready!
I’m a picture!


I use my phone right before heading to bed and almost immediately after I wake up. By tracking when the screen on my phone turns on and off, I can approximate my sleep schedule. Aside from showing just how much I use my phone (scary!), this visualization also shows how irregular my sleep schedule is. By replaying my git-commit log and taking screenshots, I've made an animation of how this visualization came together.


{% extends "base.html" %} {% set title = "Administration" %} {% block content %}
You are {{ title }}
You are {{ email }}


 - Tom Ripley, THE TALENTED MR.RIPLEY
RATING: 10/10 - BEST PICTURE - #4
After the passionate and sensually seductive "The English Patient", everyone were waiting in anticipation for director Anthony Minghella's next film. And here it is. A sophisticated and brilliantly creepy film experience that will mesmerize and shock you to the last frame. This is as far as psychological thrillers go. Hichock's "Psycho", Kubrick's "The Shining", Demme's "The Silence of the Lambs" and Fincher's "The Game" can be compared to this spine-chilling masterpiece. Minghella offers you the guilty seasonal pleasure of pure evil in its most luxuriant form.
The film is based on Patricia Highsmith's 1955 cult novel with the same title. Set in the mid-50s, the story begins in an exquisite garden party, where Tom Ripley (Matt Damon ) is playing the piano for the cream of aristocracy.  Tom is then offered $1000 for going to Italy and bring his irresponsible son back from his dream world to his father and the real life. Tom, pretending to know Dickie, agrees. It is here we start suspecting that Tom is more than a good looking pianist. He is starting to prepare for his trip, collecting all information about Dickie, including his taste for music. In Italy, Tom is instantly liked by Dickie and Dickie's cultured fiancÚ, Marge (Gwynlyth Paltrow ), pretending to love jazz and having the same interests, while soaking into luxury. Here, the audience and Dickie is about to discover that there is a lot hiding under Tom's mask of innocence. He is a man of many talents, including lies, forgery and such accurate impersonations of different people, their voices and behavior, that hair will rice on your heads. His solitary life makes him vulnerable and he is reaching for attention and love. This is how it begins -- as a story of possession. Tom wants Dickie. He wants to be the center of Dickie's world and, because he is a new refreshment in Dickies privileged life, he is. At this time Minghella, his cast, crew and audience are taking a wonderful vacation. You can almost feel the fresh ocean breeze and gentle sun. You can relax in the lush vineyards with Dickie, Marge and Tom, while enjoying the intoxicating blend of jazz, suntan lotion and gin-and-tonic-on-the-rocks. This is heaven on earth. Seductive, fresh. You never want to leave. But Dickie bores easily, and when his old-time pal named Freddie (Philip Seymour Hoffman ) shows up, Tom is brutally pushed into the background, with all feelings slowly cropping up. Now he wants Dickie in another way. If he can't his love, he will have Dickie's life, with all its pleasures..
Minghella is exploring the human nature, mind and soul. Like American Beauty and Eyes Wide Shut, this is a film about two worlds, two plans of existence.  One is a world of masks and illusions, another is a reality that we all hide. Tom Ripley is caught between these two worlds. He is charming, beautiful and can make anybody like, love and respect him. But behind the mask of innocence and charm, lurks another truth, that is more frightening than anyone imagines. In truth he is searching, as everyone else, for fulfillment, happiness, peace. In other words for a perfect life. His methods, however, are close to paranoia. It is a frightening story about class envy.  He ends up in a solitary existence (portrayed in a powerful scene where he alone unpacks his Christmas presents that he has bought for himself). In numbness and emptiness. His life becomes an eternal fear and charade, as he covers up his true identity with mask after mask, until he looses it completely. In several scenes it seems that Tom is a homosexual, in others he is definitely not. This is never explained and that is the point. He becomes nothing more than a combination of masks, under which is nothing, emptiness. Somewhere you can sense an echo of critique of the modern society, where money, status and image is everything, including fulfillment. In his bizarre and twisted search for happiness, Tom has misunderstood money for bliss. There are moments, when he dreams of giving someone the key to his dark soul, but he realizes that it is too late and that there are too many demons in his past for him to start a new. His past can not be washed away. Hurt, angry and confused, he couldn't understand where he did go wrong.
Matt Damon (Saving Private Ryan and Dogma) plays this spine-chilling chameleon with uncanny -- and quite spooky -- ease. It is frightening to see him float into different persons, copying their voices and personalities. This talented young actor is a joy to behold and should get a nomination at this years Academy Awards. In fact, I wouldn't be surprised to see Tom Ripley become a recurring antihero -- like a Hannibal Lecter (returning next year in "Hannibal"). Equally magnificent is the surprisingly fascinating performance of Jude Law ("Gattaca", eXistenZ) as the sharp, fresh young Casanova, reminding about Sonny from the "Godfather". Gwynlyth Paltrow ("Sliding Doors" and Shakespeare in Love) is impressive as always as the smart, good-hearted Marge and Cate Blanchet (Elizabeth) is fabulous as the elegant, sophisticated beauty that falls under Tom's spells, naively believing his lies. Another interesting performance is provided by Hoffman ("Boogie Nights" and Magnolia). Speaking in a lockjaw tone, he is amusing as the local "provider" of earthly pleasures. The supporting cast is equally convincing.
This film is so beautifully shaped, that there are not enough words to describe its perfection. The elegant cinematography, rich art direction, precise editing and heavenly music (Gabriel Yared) combine in a colorful blend that will electrify you from the first to the last frame. And yet, it is not the visual aspect that makes this a powerful and memorable experience. It is the intellect and sophistication of the plot and the magnificence of the acting that create a frightening, thought provoking epic, that even Hichock would not direct any better.
 - Tom Ripley, THE TALENTED MR.RIPLEY
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Read the annotated source here
The Backbone.AdviceFactory register
| Type | Behavior |
|---|---|
| register | Registers a constructor using a namespace |
| inst | Returns an instance of a the given constructor namespace |
| get | Returns a constructor using a constructor namespace |
| getMixinsForType | Returns an array of mixins for a given constructor namespace |
Registers a constructor using a namespace. The second argument is the options object. This object can contain any of the advice keywords.
Note: The method is smart about applying properties and methods that are not contained in an advice keyword. By default, all such methods will be applied as 'after's and all such properties will replace ones that already exist on the base constructor.
In addition the register method options object has the following reserved keys:
| Keyword | Behavior |
|---|---|
| base | the constructor to be used as the base for extension |
| mixins | Array of mixins to be applied on the constructor |
| mixinOptions | Mixin options that are passed to the constructor |
| extend | extends the constructor with the given object |
| deepExtend | deep extends the constructor with the given object |
Note: Mixins are applied after the options object is used to extend the constructor.
Example:
// Register the constructor using a namespace
Factory.register('MyConstructorName', {
// Property is replaced on base constructor
myProperty: 'foo',
// Method applied as an after on the constructor
myMethod: function() {
console.log(this, ' is me');
},
// Mixins applied on the constructor
mixins: [
function(mixinOptions) {
// my mixin
}
],
// Passed to all mixins in the 'mixins' keyword
mixinOptions: {
myOption1: 1,
myOption2: my other option
}
// Extends the base constructor
extend: {
myProp1: 1
},
// Deep extends the base constructor
deepExtend: {
foo: {
bar: 1
}
}
});
Returns an instance of a the given constructor namespace
// Instantiate it using the same namespace
var myInstance = Factory.inst('MyConstructorName');
myInstance.myMethod(); // logs: object is me;
Gets the constructor given a namespace
// Get the constructor for the namespace 'MyConstructorName'
var myConstructor = Factory.get('MyConstructorName');
var inst = new myConstructor();
Gets the mixins associated with a given constructor namespace
// Get the mixins for the namespace 'MyConstructorName'
var mixins = Factory.getMixinsFprType('MyConstructorName');


1. Preface¶
Chinese proverb
The palest ink is better than the best memory. – old Chinese proverb
1.1. About¶
1.1.1. About this note¶
This document is a summary of our valueable experiences in using Python
for Data Scientist
daily work. The PDF version can be downloaded from HERE.
You may download and distribute it. Please be aware, however, that the note contains typos as well as inaccurate or incorrect description.
In this repository, we try to use the detailed Data Scientist
related demo code and
examples to share some useful python tips for Data Scientist work. If you
find your work wasn’t cited in this note, please feel free to let me know.
Although we are by no means a python programming and Data Scientist expert, We decided that it would be useful for us to share what we learned about Python in the form of easy note with detailed example. We hope those notes will be a valuable tool for your studies.
The notes assume that the reader has a preliminary knowledge of python
programing, LaTex
and Linux
. And this document is generated automatically by using sphinx. More details can be found at [Georg2018].
1.1.2. About the authors¶
Wenqiang Feng
Director of Data Science and PhD in Mathematics
University of Tennessee, Knoxville
Webpage: http://web.utk.edu/~wfeng1
Email<EMAIL_ADDRESS>Jing Yang
Senior Data Scientist and PhD in Physics
Harvard University
Email<EMAIL_ADDRESS>Declaration
The work of Wenqiang Feng was supported by the IMA, while working at IMA. However, any opinion, finding, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the IMA, UTK, DST and Harvard.
1.2. Motivation for this note¶
No matter you like it or not, Python has been one of the most popular programming languages.
I have been using Python
for almost 4 years. Frankly speaking, I wasn’t impressed and attracted
by Python
at the first using. After starting working in industry, I have to use Python
. Gradually
I recognize the elegance of Python and use it as one of my main programming language. But I found that:
Most of the
Python
books or tutorials which emphasize on programming will overwhelm the green hand.While most of the
Python
books or tutorials forData Scientist
orData Analysis
didn’t cover some essential skills from the engineer side.
So I want to keep some of my valuable tips which are heavily applied in my daily work.
1.3. Feedback and suggestions¶
Your comments and suggestions are highly appreciated. I am more than happy to receive corrections, suggestions or feedbacks through email (Wenqiang Feng<EMAIL_ADDRESS>Jing Yang<EMAIL_ADDRESS>) for improvements.


Cambridge School, Aurangabad offers education from kindergarten to grade XI under the ICSE and ISC boards. The subjects provided in the primary sections are English, Science, Maths. Hindi, Computer, Social Studies, Environmental Education and Marathi as their compulsory third language. In the secondary section, English, Science, Maths, Hindi, Computer studies, Social Studies, Environmental Education are compulsory till grade VIII and from grade IX, English, Hindi and Social Studies (History, Civic, and Geography) are compulsory with two others subjects to be chosen from Maths, Science, Economics and Commercial Studies and one between Computer Applications and Home Science. For grade XI, students are offered subjects compatible with the Commerce stream.
At Cambridge School, Students also have the option to choose from a vast variety of activities to complement their interests and hone their individual talents. The activities can be broadly categorized into Sports, Music, Dance, Drama and Arts.
All the physical activities are conducted on their respective playgrounds and courts. The students are supervised and guided by trained sports coaches. The school has outdoor and indoor sports with all types of sporting equipment made available to students. The school’s ever-expanding repertoire currently includes Badminton, Table Tennis, Lawn Tennis, Basketball, Football, Cricket, Squash, Throw ball, Skating, Chess as well as hockey. We encourage students to actively participate in sports for their well being and health.
The dance section has a spacious mirrored dance hall with wooden flooring and trained dance instructors. The students are taught traditional, western as well as fusion forms of dance. In addition, the students are also taught aerobics to help them remain fit and agile throughout the dance session.
The students of Cambridge school are trained by qualified art teachers. They are instructed with the basics of sketching, drawing, collage making, colouring, painting, model making, and many other art techniques. Exposure to art allows our students to express themselves. The school also teaches the students through hands-on experience in project making and handicrafts.
Cambridge School
World Bank Highway , Jalna Road
Aurangabad
431001


View All Categories
Home
View All Categories
×
Alert!
×
Alert!
Add Category
Add Subcategory
Category ID
Name
Sub Category
Action
Update
Delete
Category ID
Name
Sub Category
Action


Select the visual theme for the site. For more information about creating and modifying themes, see the developer documentation.


a. What is a markup?
A markup language is a system for annotating a document in a way that is syntactically distinguishable from the text.
. What is hypertext and hypermedia?
Hypertext is a software system allowing extensive cross-referencing between related sections of text and associated graphic material. Hypermedia is an extension to hypertext providing multimedia facilities, such as those handling sound and video.
c. What is a doctype and why is it important to include it in every HTML document?
The doctype declaration should be the very first thing in an HTML document, before the tag. The doctype declaration is not an HTML tag; it is an instruction to the web browser about what version of the markup language the page is written in. The doctype declaration refers to a Document Type Definition (DTD).
d. What language can be used to style web documents?
Casacading Style Sheets (CSS) is used to style web documents.
e. Which elements are required for a valid XHTML5 document?
DOCTYPE, head and body are required for a valid XHTML5 document.
f. What is a self closing HTML element? Give an example?
HTML elements with no content are called empty elements. is an empty element without a closing tag (the
tag defines a line break). Adding a slash inside the start tag, like
, is the proper way of closing empty elements in XHTML and XML.
g. What is XML and why is it important to web developers?
Extensible markup Language or XML plays a significant role in the present world of web development, it is perfectly useful for those who wish to make use of web technologies for, content is important not how it is presented. XML's motto is to elaborate the meaning of the content and not the presentation of the same.
h. Describe 4 XML rules?
HTML is a forgiving language. It tolerates a host of sins, from imprecise markup to altogether missing elements, and can still generate a web page in the browser. XML, on the other hand, is basically a tyrant. Violate even the most trivial rule, and the browser or your application will crash. Some people find comfort in the uncompromising nature of XML, because it won't work unless you build it correctly. It's great to get instant feedback when you do something wrong!
There are nine basic rules for building good XML:
All XML must have a root element.
All tags must be closed.
All tags must be properly nested.
Tag names have strict limits.
Tag names are case sensitive.
Tag names cannot contain spaces.
Attribute values must appear within quotes ("").
White space is preserved.
HTML tags should be avoided (optional).
XML that follows these rules is said to be "well formed." But don't confuse well-formed XML with valid XML!
i. What is the difference between a "well-formed" and a valid web document?
Documents that follow the XML syntax are referred as “well formed” and well formed document and conformance of a doctype is called valid web document.


#include <BL3_Engine_classes.hpp>
◆ StaticClass()
| static UClass* StaticClass |
( |
| ) |
|
|
inlinestatic |
◆ bAllowPerParticleInitialSize
| unsigned char bAllowPerParticleInitialSize |
◆ bClipSourceSegement
| unsigned char bClipSourceSegement |
◆ bDeadTrailsOnDeactivate
| unsigned char bDeadTrailsOnDeactivate |
◆ bDeadTrailsOnSourceLoss
| unsigned char bDeadTrailsOnSourceLoss |
◆ bEnablePreviousTangentRecalculation
| unsigned char bEnablePreviousTangentRecalculation |
◆ bEnableTangentDiffInterpScale
| unsigned char bEnableTangentDiffInterpScale |
◆ bRenderGeometry
| unsigned char bRenderGeometry |
◆ bRenderSpawnPoints
| unsigned char bRenderSpawnPoints |
◆ bRenderTangents
| unsigned char bRenderTangents |
◆ bRenderTessellation
| unsigned char bRenderTessellation |
◆ bSpawnInitialParticle
| unsigned char bSpawnInitialParticle |
◆ bTangentRecalculationEveryFrame
| unsigned char bTangentRecalculationEveryFrame |
◆ DistanceTessellationStepSize
| float DistanceTessellationStepSize |
◆ MaxParticleInTrailCount
| int MaxParticleInTrailCount |
◆ MaxTessellationBetweenParticles
| int MaxTessellationBetweenParticles |
◆ MaxTrailCount
◆ MotionSmoothing
◆ RenderAxis
◆ SheetsPerTrail
◆ TangentSpawningScalar
| float TangentSpawningScalar |
◆ TangentTessellationScalar
| float TangentTessellationScalar |
◆ TilingDistance
◆ UnknownData00
| unsigned char UnknownData00[0x3] |
◆ UnknownData01
| unsigned char UnknownData01[0x3] |
◆ UnknownData02
| unsigned char UnknownData02[0x3] |
◆ UnknownData03
| unsigned char UnknownData03[0x3] |
◆ UnknownData04
| unsigned char UnknownData04[0x3] |


Single dad praised for his response to his 11-year-old daughter's first period
When Maverick Austin’s daughter 11-year-old Avi called him to say she had pooped her pants, he was sympathetic and rushed to get her a change of clothes.
But when she called a few hours later to say it had happened again, he wasn’t impressed.
With a busy day ahead, the single dad, from Texas, promised to sort it when he could.

But a few minutes later, he realised that it was actually blood and not poop – his daughter had actually got her first period.
So he dropped everything and raced to school to find Avi and explain.
Luckily, by the time he got there, Avi had realised what was happening.
Advertisement Advertisement
Posting on Facebook, he said: ‘I interrupt my project meeting and explain to my banking colleagues that I’m VERY sorry but I have to go.
‘I’m racing to the school while calling them telling the nurse to “go find my child!”.
‘I run in the office and she’s standing there very calm looking at me and says “Dad…. I officially started my first …” and I stopped her and said “I already know Avi… it hit me a few minutes after I hung up on you”
‘The stress of raising a daughter.’
Avi joked that she deserved something like when your tooth falls out so her dad created ‘the period fairy’.
So to make her feel better about her first period, he bought her chocolate, ice cream, cookies, flower and a ‘you’ve got this!’ card, while she was in the shower.
The post soon went viral with over 128,000 shares and 199,000 likes.
People praised Maverick for how he reacted to the moment in his daughter’s life.
Elina said: ‘Wow, I’m impressed with how amazingly you handled that!! Oh & BTW, I think you might be onto something there with the period fairy!’
Sarah added: ‘The best dad award!! Got her all the good stuff!’
Maverick said that Avi made fun of him for getting her a card but made a touching subtle gesture to say thanks.
Advertisement Advertisement
He added: ‘I wasn’t sentimental at all because she’s such a jokester and was making fun of me for getting her a card lol
‘THEN I go lay on the couch and I come back later into the kitchen and she NEVER gives me more than like 2 M&Ms….. so I look on the counter and she had left me a heart made out of M&Ms!!!! That’s like 12 M&Ms!!! Yep I had to run to my room cuz I got a tad bit emotional.’


Visual
@interface Visual : Observable <Interactable>
This is a superclass for visual representations of a Ripe instance.
-
A map with options to configure the instance.
Declaration
Objective-C
@property (assign, readwrite, nonatomic) NSDictionary *_Nonnull options;
Swift
var options: [AnyHashable : Any] { get set }
-
Base constructor for Visual instances.
Declaration
Objective-C
- (nonnull id)initWithOwner:(nonnull Ripe *)owner options:(nonnull NSDictionary *)options;
Swift
init(owner: Ripe, options: [AnyHashable : Any] = [:])
Parameters
owner
The Ripe instance to be represented.
options
A map with options to configure the instance.
Return Value
The Visual instance created.


To make a graph of the Win Expectancy of a baseball game, use the graph a game tool.
This data is from MLB games from 1957-2015, including postseason games. All data is available at Retrosheet.
Linked from: FiveThirtyEight (search for "eighth inning"), The Washington Post, CBS Sports, CBS Sports again, Royals Review, Beyond the Box Score, and more!
Idea taken from walkoffbalk.com's Win Expectancy Finder (now defunct). Here's a good article about Win Expectancy. Leverage Index calculations based on this article.
Source files also available on GitHub.
The information used here was obtained free of charge from and is copyrighted by Retrosheet. Interested parties may contact Retrosheet at 20 Sunset Rd., Newark, DE 19711.


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
B
C
D
E
F
G
H
I
L
M
N
O
P
Q
R
S
T
U
V
X
Z
_
L
libraries
- Static variable in class blitzEdit.application.
BlitzEdit
LibrariesAccordion
- Variable in class blitzEdit.application.
BlitzEdit
LibraryCanvas
- Class in
blitzEdit.application
Canvas used for displaying the library and its entries.
LibraryCanvas()
- Constructor for class blitzEdit.application.
LibraryCanvas
Constructor
LibraryEntry(double, double, double, double, ComponentBlueprint)
- Constructor for class blitzEdit.core.
ComponentLibrary.LibraryEntry
Constructor
Line
- Class in
blitzEdit.core
Class for electrical lines in a Circuit
Line(Connector, Connector)
- Constructor for class blitzEdit.core.
Line
constructs a new Line
line_color
- Static variable in class tools.
GraphicDesignContainer
line_width
- Static variable in class tools.
GraphicDesignContainer
loadCircuit(Circuit, String)
- Method in interface blitzEdit.storage.
IParser
Used for loading a circuit from a filepath on the disk
loadCircuit(Circuit, String)
- Method in class blitzEdit.storage.
XMLParser
A
B
C
D
E
F
G
H
I
L
M
N
O
P
Q
R
S
T
U
V
X
Z
_
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


Type Definitions
-
AsyncIterator
-
An object returning successive values from some underlying collection.
Type:
- Object
Properties:
Name Type Description next
function return next item as an Promise of an IteratorValue
-
Entry
-
A key/value pair [k,v] represeting a logical mapping between the key and the value.
Type:
- Array
-
ForEachCallback(item [, index] [, context])
-
Parameters:
Name Type Argument Description item
Object item to process
index
number <optional>
index of current item in stream
context
object <optional>
context infromation (such as the collection iterated over)
-
Iterable
-
Object that can be iterated over
Type:
- Object
Properties:
Name Type Description Symbol.iterator
function return an Iterator over items in this collection
-
Iterator
-
An object returning successive values from some underlying collection.
Type:
- Object
Properties:
Name Type Description next
function return next item as an IteratorValue
-
IteratorValue
-
An item returned by an iterator.
Type:
- Object
Properties:
Name Type Description done
boolean true if iterator has no more values
value
Object a value (from some parent collection of values)
-
MapFunction(item [, index] [, context])
-
Parameters:
Name Type Argument Description item
Object Item to evaluate
index
number <optional>
index of item in stream
context
Object <optional>
Context, such as the collection we are iterating over
Returns:
mapped value
- Type
- Object
-
Predicate(item [, index] [, context])
-
Parameters:
Name Type Argument Description item
Object Item to evaluate
index
number <optional>
index of item in stream
context
Object <optional>
Context, such as the collection we are iterating over
Returns:
true if item matches criteria, false otherwise
- Type
- boolean
-
Reducer(accumulator, item [, index] [, context])
-
Parameters:
Name Type Argument Description accumulator
Object current value of accumulator
item
Object Item to evaluate
index
number <optional>
index of item in stream
context
Object <optional>
Context, such as the collection we are iterating over
Returns:
new value for accumulator
- Type
- Object