Spinning!
I like to spin. If you youtube "fire spinning", you'll find out what I mean. I haven't yet actually spun fire, but I've been spinning my glowsticks and non-fire props for several years now, and I'm pretty dang good, if I say so myself! I started spinning at the University of Virginia (props to my Brown College spinners, and the short-lived poi club!) but now, living in Somerville, Massachusetts, I spin twice a week at the Medford Spinjam (at Tufts!) and the Boston Spinjam (at MIT). Check out their facebook pages to see when and where they meet, if you want to see me (and a bunch of others!) spinning our hearts out.
Poi!
Poi was the first prop I learned. Once I managed to do a three-beat weave, I zoned out until my partner poked me that they were tired, and I realized that I was completely pooped, as I'd just spun for three hours without even thinking about it. That was in 2011, and I've been spinning poi off-and-on (and other props!) since then.
I like poi becasue it's relaxing. I can get into it and just spin for hours, and let the prop guide my movements. Gets boring, though!
Here's a list of the tricks I can do. If you don't spin a lot, feel free to ignore this. If you do, I apologize for the ones I have kooky names for.
- In-plane spinning
- Turns
- Butterfly
- Thread the Needle (forward only)
- Pac-Man Twist
- 3-beat Weave
- Weave extensions
- Wrap-beat weave
- 5-beat Weave (forward only)
- Reels
- Chasing the Moon, Chasing the Sun, Moon Chasing Sun
- Chasing where the Sun Don't Shine (same time only)
- Windmills
- Air Wraps
- All manner of bicep wraps and leg wraps
- Spiral wraps
I spin a pair of flowlights with crystal cases. I've got the Sol coloration, and I love them dearly (although they have a tendency to turn off at the wrong times). I'm hoping to get a pair of Spectrum flowlights, or possibly build my own. I also have a pair of tailed poi I need to fix - they're so fun to spin!
Someday I'd like to build a pair of accelerometer-powered glowpoi - they could change color depending on the acceleration they're feeling. When you're spinning in a circle, that's directly dependent on speed - it could make for really nifty effects!
Staff!
Since the end of 2012 I've also been very into spinning staff. I use a full-length staff that I made myself for super cheap - it's heavy as a car, but it's balanced alright. I spin a mix of traditional and contact staff, because what else would I do?
I like spinning staff because it's fun. Poi is relaxing, meditative; staff is, to me, much more energetic. I feel like I'm getting to play with this giant whirling toy, whereas with poi I feel like I'm guided by the inertia of the props.
Here's a (partial) list of tricks I can do:
- Rotors
- Weaves up to 5 beats (I think)
- Half-Steves (right-to-left consistently, shakier on left-to-right)
- Halos
- Angel Rolls (only right-to-left)
- Shoulder-Neck-Shoulder
- Neck wraps, shoulder wraps
- Fishtails (forward only, right hand only)
- Rainbow Stalls
- Conveyor Belts
I'd like to learn to spin a dragon staff someday.


Learning in undirected models
Let us now look at parameter learning in undirected graphical models. Unfortunately, as in the case of inference, the higher expressivity of undirected models also makes them significantly more difficult to deal with. Fortunately, maximum likelihood learning in these models can be reduced to repeatedly performing inference, which will allow us to apply all the approximate inference techniques that we have seen earlier.
Learning Markov random fields
Let us start with a Markov random field (MRF) of the form
where
is the normalizing constant.
We can reparametrize as follows:
where is a vector of indicator functions and is the set of all the model parameters, as defined by the .
Note that is different for each set of parameters ; therefore, we also refer to it as the partition function. Bayesian networks are constructed such that for all ; MRFs do not make this modeling assumption, which makes them more flexible, but also more difficult to learn.
Exponential families
More generally, distributions of this form are members of the exponential family of distributions, about which you can learn more in CS229. Many other distributions are in the exponential family, including the Bernoulli, Multinomial, Normal, Poisson, and many other distributions.
Exponential families are widely used in machine learningWe refer the reader to the CS229 course notes for a more thorough presentation of this topic. . Suppose that you have an exponential family distribution of the formActually, exponential families have a slightly more general form, but this one will be enough for our purposes
Here are few facts about these distributions that you should know about.
- Exponential families are log-concave in their natural parameters . The partition function is also log-convex in .
- The vector is called the vector of sufficient statistics; these fully describe the distribution ; e.g. if is Gaussian, contains (simple reparametrizations of) the mean and the variance of .
- Exponential families make the fewest unnecessary assumptions about the data distribution. More formally, the distribution maximizing the entropy under the constraint (i.e. the sufficient statistics equal some value ) is in the exponential family.
Exponential families are also very convenient to work with computationally. Their sufficient statistics can summarize arbitrary amounts of i.i.d. variables from the same distribution, and they admit so-called conjugate priors which makes them easily applicable in variational inference. In short, it definitely pays off to learn more about exponential families!
Maximum likelihood learning of MRFs
Suppose now that we are given a dataset and we want to estimate via maximum likelihood. Since we are working with an exponential family, the maximum likelihood will be concave. The log-likelihood is:
The first term is linear in and is easy to handle. The second term equals
Unlike the first term, this one does not decompose across . It is not only hard optimize, but it is hard to even evaluate that term, as we have already seen in previous chapters.
Now consider the gradient of the log likelihood. Obtaining the gradient of the linear part is obviously very easy. However, the gradient of takes a more complicated form:
This expression can be derived using simple algebra.
Computing the expectation on the right hand side of the equation requires inference with respect to . For example, we could sample from and construct a Monte-Carlo estimate of the expectation. However, as we have seen, inference in general is intractable, and therefore so is computing the gradient.
We can similarly derive an expression for the Hessian of :
Since covariance matrices are always positive semi-definite, this proves that is convex (and therefore that the log-likelihood is concave). Recall that this was one of the properties of exponential families that we stated earlier.
In summary, even though the log-likelihood objective is convex, optimizing it is hard; usually non-convexity is what makes optimization intractable, but in this case, it is the computation of the gradient.
Approximate learning techniques
Interestingly, however, maximum-likelihood learning reduces to inference in the sense that we may repeatedly use inference to compute the gradient and determine the model weights using gradient descent.
This observation lets us apply to learning many of the approximate inference methods that we have seen in previous chapters, such as:
- Gibbs sampling from the distribution at each step of gradient descent; we then approximate the gradient using Monte-Carlo.
- Persistent contrastive divergencePersistent contrastive divergence (PCD) is one of the most popular methods for training Restricted Boltzmann Machines (RBMs), a very important deep learning model that is also an undirected graphical model. Have a look at this great practical tutorial on RBMs. , a variant of Gibbs sampling which re-uses the same Markov Chain between iterations. After a step of gradient descent, our model has changed very little: hence we can essentially keep taking samples from the same Gibbs sampler, instead of starting a new one from scratch.
Pseudo-likelihood
Another popular approach to learning is called pseudo-likelihood. The pseudo-likelihood replaces the likelihood
with the following approximation:
where is the -th variable in and is the set of neighbors of in the graph of (i.e. the Markov blanket of ).
Note that each term only involves one variable and hence its partition function is going to be tractable (we only need to sum over the values of one variable).
However, it is not equal to the likelihood. Note that the correct way to expand the likelihood would involve the chain rule, i.e. the terms would be objective, where are variables preceding in some ordering.
Intuitively, the pseudo-likelihood objective assumes that depends mainly on its neighbors in the graph, and ignores the dependencies on other, more distant variables. Observe also that if pseudo-likelihood succeeds in matching all the conditional distributions to the data, a Gibbs sampler run on the model distribution will have the same invariant distribution as a Gibbs sampler run on the true data distribution, ensuring that they are the same.
More formally, we can show that the pseudo-likelihood objective is concave. Assuming the data is drawn from an MRF with parameters , we can show that as the number of data points gets large, .
Pseudo-likelihood often works very well in practice, although there are exceptions.
Moment matching
We will end with an interesting observation about the maximum likelihood estimate of the MRF parameters.
Recall that the log-likelihood of an MRF is
Taking the gradient, and using our expression for the gradient of the partition function, we obtain the expression
Note that this is precisely the difference between the expectations of the natural parameters under the empirical (i.e. data) and the model distribution. Let’s now look at one component of . Recall that we have defined in the context of MRFs to be the vector of indicator functions for the variables of a clique: one entry of equals for some . The gradient over that component equals
This gives us an insight into how MRFs are trained. The log-likelihood objective forces the model marginals to match the empirical marginals.
| We refer to the above property as moment matching. This property of maximum-likelihood learning is very general: whenever we choose distribution to minimize the inclusive KL-divergence | q)</script></span> across in an exponential family, the minimizer will match the moments of the sufficient statistics to the corresponding moments of . Recall that the MLE estimate is the minimizer over of $$D(\hat{p} | q)\hat{p}qQ$$ is known as M-projection (``moment projection’’). |
Learning in conditional random fields
Finally, let us look how maximum-likelihood learning extends to conditional random fields (CRFs), the other important type of undirected graphical models that we have seen.
Recall that a CRF is a probability distribution of the form
where
is the partition function. The feature functions now depend on in addition to . The variables are fixed and the distribution is only over ; the partition function is thus a function of both and .
We can reparametrize as we did for MRFs:
where is again a vector of indicator functions and is a reparametrization of the model parameters.
The log-likelihood for this model given a dataset is
Note that this is almost the same form as we had for MRFs, except that now there is a different partition function for each data point .
The gradient is now
Similarly, the Hessian is going to be the covariance matrix
The good news is that this means that the conditional log-likelihood is still a concave function. We can optimize it using gradient ascent as before.
The bad news is that computing the gradient now requires one inference per training data point in order to compute the term
This makes learning CRFs more expensive that learning in MRFs. In practice, however, CRFs are much more widely used than MRFs because supervised learning is a more widely used type of learning, and discriminative models (like CRFs) often learn a better classifier than their generative counterparts (which model ).
To deal with the computational difficulties introduced by the partition function, we may use simpler models in which exact inference is tractable. This was the approach taken in the OCR example introduced in our first discussion of CRFs. More generally, one should try to limit the number of variables or make sure that the model’s graph is not too densely connected.
Finally, we would like to add that there exists another popular objective for training CRFs called the max-margin loss, a generalization of the objective for training SVMs. Models trained using this loss are called structured support vector machines or max-margin networks. This loss is more widely used in practice because it often leads to better generalization, and also it requires only MAP inference to compute the gradient, rather than general (e.g. marginal) inference, which is often more expensive to perform.
| Index | Previous | Next |


ClientUser
class ClientUser extends User (View source)
Represents the Client User.
Properties
| string | $avatar | The hash of the user's avatar. | from User | |
| boolean | $bot | Is the user a bot? Or are you a bot? | from User | |
| Client | $client | The client which initiated the instance. | from ClientBase | |
| DateTime | $createdAt | An DateTime instance of the createdTimestamp. | from User | |
| int | $createdTimestamp | The timestamp of when this user was created. | from User | |
| int | $defaultAvatar | The identifier of the default avatar for this user. | from User | |
| string | $discriminator | The discriminator of this user. | from User | |
| DMChannel|null | $dmChannel | The DM channel for this user, if it exists, or null. | from User | |
| string | An email address or maybe nothing at all. More likely to be nothing at all. | from User | ||
| string | $id | The user ID. | from User | |
| Message|null | $lastMessage | The laste message the user sent while the client was online, or null. | from User | |
| string|null | $lastMessageID | The last ID of the message the user sent while the client was online, or null. | from User | |
| boolean|null | $mfaEnabled | Whether the user has two factor enabled on their account, or null if no information provided. | from User | |
| Presence|null | $presence | The presence for this user, or null. | from User | |
| string | $tag | Username#Discriminator. | from User | |
| string | $username | The username. | from User | |
| boolean|null | $verified | Whether the email on this account has been verified, or null if no information provided. | from User | |
| boolean | $webhook | Determines wether the user is a webhook or not. | from User |
Methods
Creates a new Group DM with the owner of the access tokens. Resolves with an instance of GroupDMChannel. The structure of the array is as following:
Fetches the User's connections. Requires connections scope. Resolves with a Collection of UserConnection instances, mapped by their ID.
Get the URL of the displayed avatar.
Set your activity. Resolves with $this.
Set your avatar. Resolves with $this.
Set your playing game. Resolves with $this.
Set your presence. Resolves with $this.
Set your status. Resolves with $this.
Set your username. Resolves with $this.
Details
at line 245
Promise
createGroupDM(array $userWithAccessTokens, array $nicks = array())
Creates a new Group DM with the owner of the access tokens. Resolves with an instance of GroupDMChannel. The structure of the array is as following:
array( 'accessToken' => \CharlotteDunois\Yasmin\Models\User|string (user ID) )
The nicks array is an associative array of userID => nick. The nick defaults to the username.
Promise
fetchUserConnections()
Fetches the User's connections. Requires connections scope. Resolves with a Collection of UserConnection instances, mapped by their ID.
string|null
getAvatarURL(int $size = 256, string $format = '')
Get the Avatar URL.
string
getDisplayAvatarURL(int $size = 256, string $format = '')
Get the URL of the displayed avatar.
at line 124
Promise
setActivity(Activity|string|null $name = null, int $type = 0)
Set your activity. Resolves with $this.
at line 80
Promise
setAvatar(string $avatar)
Set your avatar. Resolves with $this.
at line 148
Promise
setGame(string $name = null, string $url = '')
Set your playing game. Resolves with $this.
at line 191
Promise
setPresence(array $presence)
Set your presence. Resolves with $this.
$presence = array( 'afk' => bool, 'since' => integer|null, 'status' => string, 'game' => array( 'name' => string, 'type' => int, 'url' => string|null )|null )
Any field in the first dimension is optional and will be automatically filled with the last known value.  Ratelimit is 5/60s.
at line 110
Promise
setStatus(string $status)
Set your status. Resolves with $this.
at line 97
Promise
setUsername(string $username)
Set your username. Resolves with $this.


Performance - Office
| Coach | NINO | Surname | Status | IDOC | Cohort 13 (days left) |
Last seen |
|---|---|---|---|---|---|---|
| Workcoach 1 | JCxxxxxxA | Williams | Live | 10/08/2015 | 2 | 05/10/2015 |
| Workcoach 2 | JCxxxxxxC | Jones | Live | 01/07/2015 | 7 | 28/09/2015 |
| Workcoach 3 | JCxxxxxxB | Smith | Dormant | - | - | - |
| Workcoach 4 | JCxxxxxxB | Brown | Live | 23/07/2015 | 10 | 01/10/2015 |
| Workcoach 5 | JCxxxxxxC | Docherty | Dormant | - | - | - |
| Workcoach 1 | JCxxxxxxA | Peters | Live | 30/09/2015 | 61 | 30/09/2015 |
| Workcoach 2 | JCxxxxxxB | Shaw | Live | 23/08/2015 | 34 | 02/10/2015 |
| Workcoach 3 | JCxxxxxxA | Peel | Dormant | - | - | - |
| Workcoach 4 | JCxxxxxxC | Gathercole | Live | 23/09/2015 | 46 | 03/10/2015 |
| Workcoach 5 | JCxxxxxxC | Kane | Live | 05/09/2015 | 2 | 25/09/2015 |
| Workcoach 1 | JCxxxxxxB | Tong | Dormant | - | - | - |
| Workcoach 2 | JCxxxxxxA | West | Live | 05/08/2015 | 71 | 02/10/2015 |
| Workcoach 3 | JCxxxxxxA | Fielding | Dormant | - | - | - |
| Workcoach 4 | JCxxxxxxC | Gallagher | Dormant | - | - | - |
| Workcoach 5 | JCxxxxxxB | Riley | Live | 27/09/2015 | 12 | 26/09/2015 |
| Workcoach 1 | JCxxxxxxC | Burrows | Live | 10/08/2015 | 37 | 28/09/2015 |


I have found that the anxiety I have generated ahead of a pairing session - as I face meeting a new person, working with them on a challenging assignment, an become vulnerable in exposing my skills (or lack of them) - has been completely off-set by the really positive experiences I've had.
Everyone - without fail - has been friendly, open, generous with their time, expertise and kindess throughout the pairing experience.
Whilst I have felt (and because of my reduced prep time, is probably the reality) "chasing my tail", I have gone into the pairing sessions feeling fearful of disappointing the other party. However, whilst I have learnt tons from my fellow students, I have also been able to educate also, as I have found that I have known tricks and tips that others don't yet know. Or indeed have been able to provide a good sounding board to facilitate critical thinking.
The pairing experience is a defining feature of DBC, and is also an aspect of the Sharing Economy. As defined by Widipedia:
The sharing economy (sometimes also referred to as the peer-to-peer economy, mesh, collaborative economy, collaborative consumption) is a socio-economic system built around the sharing of human and physical resources.
Whilst innovative young tech companies are benefiting from the commercialisation of this sharing economy, the fundamental principles remain the same - help thy neighbour. Help them with stuff, with effort, with favours, with support, with mentorship, with education... And I think it's a wonderful way to learn.


Managing multiple datasets
With startup.json
When Firefly first opens it searches for the startup file, startup.json
,
in firefly/static/data
. If startup.json
does not exist,
Firefly will display a button that will allow you to
select the directory containing the files you want to
load (the directory must contain a manifest file, filenames.json
).
This interface can also be accessed if you already have a dataset loaded and displayed in Firefly from within the UI by clicking on the Load New Data button.
Note
Some browsers may show a default warning message that you are about to upload many files to the site and to only do so if you trust the site. Please allow Firefly to upload these files– you are not uploading them to the internet, only to your browser.
Warning
For most browsers, you will only be able to select a
directory that is a sub-directory of firefly/static/data
.
You must keep your .json
files there or
could use symbolic links within
the data directory pointing to elsewhere on your local
disk, e.g.,
ln -s /home/mydirectory/snapdir_XXX
firefly.data_reader.Reader.writeToDisk()
will automatically
create a symbolic link if it detects that the JSONdir
you
specified is not a sub-directory of firefly/static/data
.
If you have multiple data sets available on your computer
and prefer to have a menu of these data files to choose
from at the start of Firefly, you can append entries to the
startup.json
file to create a list of directories
. For instance, a Reader
may create a
startup.json
file that contains the following:
{"0":"data\/snapdir_001"}
You could manually append this to contain the following:
{"0":"data\/snapdir_001",
"1":"data\/snapdir_002",
"2":"data\/snapdir_003",
"3":"data\/snapdir_004"}
Or use the write_startup=append
keyword argument of __init__()
when initializing your second dataset.
With this startup.json
, you would see a button when
Firefly loads that, when clicked, will allow you to choose
which data set to display.
In general, this method may be useful if the Firefly webserver
you are accessing is not hosted locally and is instead
being port forwarded
to your local browser (which can only see your local file system).
With separate Firefly source directories
Alternatively, one could make many copies of the Firefly source directory,
each with their own startup.json
.
To facilitate this, we provide the
firefly.data_reader.Reader.copyFireflySourceToTarget()
method which will create a new directory and copy the necessary source
files to run Firefly within it (without the Python frontend API).
You can optionally specify to also copy the necessary Flask files to run a flask local server by keyword argument but this is disabled by default. Instead, this feature is envisioned to enable users to quickly create instances of Firefly that they can host on the internet.
To streamline this process even further, we provide an optional
init_gh_pages
keyword argument that will even attempt to make
a new GitHub repository with GitHub pages, a free webhosting service offered
by GitHub, enabled.
Note
To use the init_gh_pages
keyword argument you must have created
a GitHub OAUTH token somewhere on your system and passed it to
copyFireflySourceToTarget()
using the GHOAUTHTOKENPATH
keyword argument (which defaults
to $HOME/.github.token
.
Attempting to use the init_gh_pages
flag without doing so
will raise an error message with instructions for how to generate
a GitHub OAUTH token.


Todo List
Clean the house
Goto school
Come back home
Code, code and code
Add a new todo...
Todo List
Clean the house
Goto school
Come back home
Code, code and code
Add a new todo...


Home
POSTS
About ME
résumé
😂
😂😂😂😂
Why do chemistry if you can do alchemy?
Fixing Synology DS2415+ Not Booting Issue
C'mon Intel, you even failed in making an Atom..
Posted by
an AMD user
on April 24, 2021
Hello World!
Finally got my personal website!
Posted by
me
on April 24, 2021
More Posts ⇒


Ctrl
Alt
Shift
Del
Esc
...
F1
←
↑
→
↓
Start
Alt+F4
Ctrl+Alt+Del
Spark View (RDP)
Spark View (VNC)
Spark View (SSH)
Spark View (TELNET)
Spark View (Remote Assistance)
Spark Gateway:
*default port is 80 if it's not specified (ip:port).
General
Display
Local
Programs
Advanced
Multi-Monitor
Enter the name of the remote computer. Open or drag a .rdp file
Computer
Port
User Name
Password
Domain
Keyboard
English (United States)
English (United Kingdom)
English (Canadian French)
Unicode (Universal QWERTY)
Unicode (Universal AZERTY)
Unicode (Universal QWERTZ)
Arabic (Saudi Arabia)
Danish (Danish)
Dutch (Netherlands)
Dutch (Belgium)
Chinese (Simplified)
Chinese (Traditional)
Chinese (Traditional) Microsoft Pinyin IME 3.0
French (Belgium)
French (Canada Legacy)
French (France)
French (Switzerland)
German (Germany)
German (Switzerland)
German (IBM)
Hebrew
Icelandic
Irish (Ireland)
Italian (Italy)
Italian (142) (Italy)
Japanese (Japan)
Korean (Korea)
Norwegian (Bokmal)
Norwegian with Sami
Polish
Portuguese
Portuguese (Brazil ABNT)
Portuguese (Brazil ABNT2)
Russian (Russia)
Spanish (International Sort)
Spanish (Variation)
Spanish (Mexico/Latin American)
Swedish (Sweden)
Turkish
Connect to console session
Touchpad mode(Relative mouse movement)
Enter the size of your remote desktop:
Width
Height
Color depth
256
High color (16 bit)
True color (24 bit)
Highest Quality (32 bit)
Disable remote cursor
Time Zone
(GMT-12:00) Dateline Standard Time
(GMT-11:00) Samoa Standard Time
(GMT-10:00) Hawaiian Standard Time
(GMT-09:00) Alaskan Standard Time
(GMT-08:00) Pacific Standard Time
(GMT-07:00) US Mountain Standard Time
(GMT-07:00) Mountain Standard Time
(GMT-07:00) Mountain Standard Time (Mexico)
(GMT-06:00) Central Standard Time
(GMT-06:00) Central Standard Time (Mexico)
(GMT-06:00) Central America Standard Time
(GMT-06:00) Canada Central Standard Time
(GMT-05:00) Eastern Standard Time
(GMT-05:00) SA Pacific Standard Time
(GMT-05:00) Eastern Standard Time
(GMT-04:00) SA Western Standard Time
(GMT-04:00) Pacific SA Standard Time
(GMT-04:00) Central Brazilian Standard Time
(GMT-04:00) Atlantic Standard Time
(GMT-03:30) SA Eastern Standard Time
(GMT-03:30) Newfoundland Standard Time
(GMT-03:30) Greenland Standard Time
(GMT-03:30) E. South America Standard Time
(GMT-02:00) Mid-Atlantic Standard Time
(GMT-01:00) Cape Verde Standard Time
(GMT-01:00) Azores Standard Time
(GMT+13:00) Tonga Standard Time
(GMT+12:00) New Zealand Standard Time
(GMT+12:00) Fiji Standard Time
(GMT+11:00) Central Pacific Standard Time
(GMT+10:00) West Pacific Standard Time
(GMT+10:00) Vladivostok Standard Time
(GMT+10:00) Tasmania Standard Time
(GMT+10:00) E. Australia Standard Time
(GMT+10:00) AUS Eastern Standard Time
(GMT+09:30) Cen. Australia Standard Time
(GMT+09:30) AUS Central Standard Time
(GMT+09:00) Yakutsk Standard Time
(GMT+09:00) Tokyo Standard Time
(GMT+09:00) Korea Standard Time
(GMT+08:00) W. Australia Standard Time
(GMT+08:00) Taipei Standard Time
(GMT+08:00) Singapore Standard Time
(GMT+08:00) North Asia East Standard Time
(GMT+08:00) China Standard Time
(GMT+07:00) SE Asia Standard Time
(GMT+07:00) North Asia Standard Time
(GMT+06:30) Myanmar Standard Time
(GMT+06:00) Sri Lanka Standard Time
(GMT+06:00) N. Central Asia Standard Time
(GMT+06:00) Central Asia Standard Time
(GMT+05:45) Nepal Standard Time
(GMT+05:30) India Standard Time
(GMT+05:00) West Asia Standard Time
(GMT+05:00) Ekaterinburg Standard Time
(GMT+04:30) Afghanistan Standard Time
(GMT+04:00) Georgian Standard Time
(GMT+04:00) Caucasus Standard Time
(GMT+04:00) Azerbaijan Standard Time
(GMT+04:00) Arabian Standard Time
(GMT+03:30) Iran Standard Time
(GMT+03:00) Russian Standard Time
(GMT+03:00) E. Africa Standard Time
(GMT+03:00) Arabic Standard Time
(GMT+03:00) Arab Standard Time
(GMT+02:00) South Africa Standard Time
(GMT+02:00) Namibia Standard Time
(GMT+02:00) Israel Standard Time
(GMT+02:00) GTB Standard Time
(GMT+02:00) FLE Standard Time
(GMT+02:00) Egypt Standard Time
(GMT+02:00) E. Europe Standard Time
(GMT+01:00) W. Europe Standard Time
(GMT+01:00) W. Central Africa Standard Time
(GMT+01:00) Romance Standard Time
(GMT+01:00) Central European Standard Time
(GMT+01:00) Central Europe Standard Time
(GMT) Greenwich Standard Time
(GMT) GMT Standard Time
Remote audio playback
Play on this computer
Do not play
Play on remote computer
Quality
Low
High
Remote audio recording
Choose the devices and resources that you want to use in remote session.
Clipboard
Enable (Copy text, image, html between local and remote)
Printer
Enable; Name
Uploading/Downloading files. (Drag files to your screen after connected).
Shared Disk Name
Default is "Cloud Storage"
Start the following program on connection:
Program path and file name
Start in following folder
RemoteApp:
Exe or file
Arguments
None
Desktop background
Font smoothing
Desktop composition
Show window contents while dragging
Menu and window animation
Visual styles
Persistent bitmap caching
RemoteFX(32 bit color and lan only)
Session Recording
RDP6.1 decompression
Load Balancing:
Hyper-V VM ID:
Connecting to Hyper-V console, default listening port of Hyper-V console is 2179
Computer Name:
You need a browser window for every monitor.
1. Please open another window for another monitor
2. Repeat step 1 if you have more monitors
3. Make this window full screen (F11 or Command+Shift+F)
4. Enter your credentials and Connect
Open in existing window
Copyright © Remote Spark Corp. 2011 - 2018
www.remotespark.com
Connected to:
Session id:
Join mode:
Every one can control
Only one can control
Only one can control (others can move mouse)
Leave joined sessions open when close
Join this session with following link:
Leave session on and reconnect to it from other devices.
Keyboard shortcuts
Touchpad mode(Relative mouse movement)
External Keyboard
Tap
to activate soft keyboard. IE doesn't support 3 finger gestures and 2 finger scroll (mouse wheel).


404
The page you requested does not seem to exist.
This may be because...
- The page has either been moved or deleted.
- The page you are looking for does not exist.
- The redirect or link you used is broken.
- The URL has not been typed in correctly.
The page you requested does not seem to exist.
This may be because...
ページが見つかりませんでした。
可能性があります。再度お試しください。


---
layout: post
title: ThinkingLinux 06 Conference, Melbourne
tags:
- Business
- Linux
- Open Source Software
- Software Configuration Management
- Software Development
- Web
status: publish
type: post
published: true
meta: {}
---
A few days ago I was a little sniffy about the ThinkingLinux conference, to which I had wangled a free ticket just by being in the first twenty to telephone a number in an newspaper ad. Having attended today I have to say it was very useful and well worth going to; it was admittedly a vendor event, as opposed to an industry conference, but still worth going to - if you booked before 2/Oct it was only A$99 anyway.
I shall be posting some more details over the next few days but here is my high level brain dump:
- Alfreso supports document management, embedded processes, version control etc. It can be used from Windows clients using CIFS.
- Pentaho has some neat data mining and dashboard technology. Compare to BusinessObjects.
- For software development process (a subject dear to my heart) consider ScrumWiki (I wonder if there is an Extreme Programming WiKi?)
- Eclipse have just released version 1.0 of their Process Framework, which includes the Open Unified Process (head for the hills!) and EPF composer so you can customise your own processes which sounds much more useful. Currently the composer creates web pages that document the process, there is no process automation engine, whatever you might guess that to be.
- TWiki might be highly configurable
- BackupPC is a neat way to backup Linux and Windows machines across a network. Minimises back up sets and it's easy to restore (files copies from a web browser)
- Jabber can be used, not just to receive status messages, but also to send commands to software agents
- XEN is a sophisticated piece of server management technology for failover and server migration. I'm going to use it on my laptop for development.
- The award for the coolest acronym must be STONITH
powered by performancing firefox


Crucible Dashboard
Logout
Error ({{error}}). The product data was not loaded.
Click here to try again
Reviews
{{category}}
Seed app: v


--- title: NlpFunction layout: doxygen comments: false sidebar: doxygen_sidebar topnav: topnav tags: false ---
This class provides a data structure for a optimization function. This function could be either a constraint or a objective function of the problem. More...
Public Member Functions | |
| NlpFunction (varargin) | |
| The class constructor function. More... | |
| function NlpFunction funcs = | getSummands () |
| Returns the object of the dependent function. More... | |
| function obj = | setSummands (NlpFunction summands) |
| Sets dependent objects of the Nlp Function. More... | |
| function colvec indices = | getDepIndices () |
| Returns the indices of the dependent variables. More... | |
| function obj = | setName (char name) |
| Specifies the name of the NLP function. More... | |
| function obj = | setType (char type) |
| Sets the type (either LINEAR or NONLINEAR) of the NLP function. More... | |
| function obj = | setAuxdata (rowvec auxdata) |
| Sets the auxilary input argument data to call the NLP function. These auxilary data must be a vector of numeric values. More... | |
| function obj = | setJacobianPattern (matrix jac_sp,char sp_form) |
| This function configure the sparsity pattern of the Jacobian of the function. More... | |
| function obj = | setHessianPattern (cell hes_sp,char sp_form) |
| This function configure the sparsity pattern of the Hessian of the function. More... | |
| function obj = | setDependentVariable (NlpVariables depvars) |
| This function sets the dependent variables of the function. More... | |
| function obj = | setBoundary (colvec lowerbound,colvec upperbound) |
| set the upper/lower boundary values of the function if they exist More... | |
| function obj = | updateProp (varargin) |
| This function updates the properties of the class object based on the input name-value pair arguments. More... | |
| function val = | checkFuncs (colvec x,double derivative_level) |
| Evaluates the external functions (or function handles) with a given input argument. More... | |
| function obj = | setDimension (double dim) |
| Sets the dimension of the NLP variable vector. More... | |
| function obj = | setFuncIndices (integer index) |
| Sets indinces of the Nlp Function. More... | |
| function obj = | setFuncs (funcs) |
| This function specify the functions (name) that calculates the the function. More... | |
| function obj = | setSymFun (SymFunction symfun) |
| This function specify the symbolic expression (SymFunction) of the NLP function. More... | |
Public Attributes | |
| logical | Type |
| This property specifies whether the function is the linear function of dependent variables. More... | |
| char | Name |
| An identification of the object. More... | |
| NlpVariable | DepVariables |
| An array of dependent NLP variables. More... | |
| NlpFunction | SummandFunctions |
| An array of summand NlpFunctions that are to be summed up to get the current NLP function. More... | |
| colvec | FuncIndices |
| Stores the indices of the function. More... | |
| colvec | nnzJacIndices |
| Stores the indices of the non-zero elements in the first-order jacobian. More... | |
| colvec | nnzHessIndices |
| Stores the indices of the non-zero elements in the Hessian matrix of the Lagrangian. More... | |
| Funcs | |
| File names of the external functions that computes the function/Jacobian/Hessian of the object. More... | |
| struct | JacPattern |
A two-vector structure that specifies the non-zero structure of the first order Jacobian of the function with respect to the dependent variables. The first vector determines the row indices of the all non-zero elements in the Jacobian matrix, and the second vector determines the colomn indices of the all non-zero elements in the Jacobian matrix. For the gradient of the cost function, the first vector should consists of all 1 s. More... | |
| struct | HessPattern |
| A two-vector structure that specifies the non-zero structure of the second order Hessian of the Lagrangian function with respect to the dependent variables. The first vector determines the row indices of the all non-zero elements in the Hessian matrix, and the second vector determines the colomn indices of the all non-zero elements in the Hessian matrix. More... | |
| integer | nnzJac |
| The number of nonzero entries in the Jacobian matrix. More... | |
| integer | nnzHess |
| The number of nonzero entries in the Hessian matrix. More... | |
| cell | AuxData |
| A constant array of auxiliary data that will be used to construct the function handles. More... | |
| SymFunction | SymFun |
| The associated SymFunction object that specifies the symbolic expression of the NlpFunction. More... | |
| colvec | LowerBound |
| The lower boundary values of the function. More... | |
| colvec | UpperBound |
| The upper boundary values of the function. More... | |
| integer | Dimension = 0 |
| It gives a quick access to the dimension of the function output without actually evaluating the function. More... | |
| Public Attributes inherited from handle | |
| addlistener | |
| Creates a listener for the specified event and assigns a callback function to execute when the event occurs. More... | |
| notify | |
| Broadcast a notice that a specific event is occurring on a specified handle object or array of handle objects. More... | |
| delete | |
| Handle object destructor method that is called when the object's lifecycle ends. More... | |
| disp | |
| Handle object disp method which is called by the display method. See the MATLAB disp function. More... | |
| display | |
| Handle object display method called when MATLAB software interprets an expression returning a handle object that is not terminated by a semicolon. See the MATLAB display function. More... | |
| findobj | |
| Finds objects matching the specified conditions from the input array of handle objects. More... | |
| findprop | |
| Returns a meta.property objects associated with the specified property name. More... | |
| fields | |
| Returns a cell array of string containing the names of public properties. More... | |
| fieldnames | |
| Returns a cell array of string containing the names of public properties. See the MATLAB fieldnames function. More... | |
| isvalid | |
| Returns a logical array in which elements are true if the corresponding elements in the input array are valid handles. This method is Sealed so you cannot override it in a handle subclass. More... | |
| eq | |
| Relational functions example. See details for more information. More... | |
| transpose | |
| Transposes the elements of the handle object array. More... | |
| permute | |
| Rearranges the dimensions of the handle object array. See the MATLAB permute function. More... | |
| reshape | |
| hanges the dimensions of the handle object array to the specified dimensions. See the MATLAB reshape function. More... | |
| sort | |
| ort the handle objects in any array in ascending or descending order. More... | |
This class provides a data structure for a optimization function. This function could be either a constraint or a objective function of the problem.
To define a NlpFunction object, a user-defined function file must be created first. It could be either MATLAB m file or mex file. The name of the file should be the same as the name of the NlpFunction.
Copyright (c) 2016, AMBER Lab All right reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted only in compliance with the BSD 3-Clause license, see http://www.opensource.org/licenses/bsd-license.php
|
inline |
The class constructor function.
auxdata
argument must be an 1-dimensional vector of constants.| varargin | variable nama-value pair input arguments, in detail: Required Parameters for varargin:
|
Func —
a string of the function that computes the function value Jac —
a string of the function that computes the function Jacobian JacStruct —
a string of the function that computes the sparsity structure of function Jacobian Hess —
a string of the function that computes the function Hessian HessStruct —
a string of the function that computes the sparsity structure of function Hessianrows —
the row indices of non-zero elements cols —
the column indices of non-zero elementsrows —
the row indices of non-zero elements cols —
the column indices of non-zero elements Evaluates the external functions (or function handles) with a given input argument.
| x | the value of dependent variables |
| derivative_level | determines the level of derivatives to be exported (1, 2) |
| val | a structure of computed values |
|
inline |
Returns the indices of the dependent variables.
| indices | the indices of dependent variables |
|
inline |
Returns the object of the dependent function.
For most of the function object, the dependent object is itself.
| funcs | the summand function objects |
| function obj = NlpFunction.setAuxdata | ( | rowvec | auxdata | ) |
Sets the auxilary input argument data to call the NLP function. These auxilary data must be a vector of numeric values.
| auxdata | a set of auxilary input argument |
set the upper/lower boundary values of the function if they exist
| lowerbound | the lower boundary values |
| upperbound | the upper boundary values |
| function obj = NlpFunction.setDependentVariable | ( | NlpVariables | depvars | ) |
This function sets the dependent variables of the function.
| depvars | an array of dependent variables |
| function obj = NlpFunction.setDimension | ( | double | dim | ) |
Sets the dimension of the NLP variable vector.
| dim | the dimension of the vector |
| function obj = NlpFunction.setFuncIndices | ( | integer | index | ) |
Sets indinces of the Nlp Function.
| index | the indices of the function |
| function obj = NlpFunction.setFuncs | ( | funcs | ) |
This function specify the functions (name) that calculates the the function.
| funcs |
Func —
a string of the function that computes the function value Jac —
a string of the function that computes the function Jacobian JacStruct —
a string of the function that computes the sparsity structure of function Jacobian Hess —
a string of the function that computes the function Hessian HessStruct —
a string of the function that computes the sparsity structure of function HessianThis function configure the sparsity pattern of the Hessian of the function.
The form of given sparsity pattern is determined by the input
MatrixForm
: the sparsity pattern is given as a matrix (dense or sparse). In this case we extract the row and column indices of non-zero elements from this matrix Indexform
: the sparsity pattern is directly given as vectors row and column indices of non-zero entries| hes_sp | a matrix array consists of sparsity pattern of Hessian of each element of the function |
| sp_form | the type of given sparsity pattern. |
This function configure the sparsity pattern of the Jacobian of the function.
The form of given sparsity pattern is determined by the input
MatrixForm
: the sparsity pattern is given as a matrix (dense or sparse). In this case we extract the row and column indices of non-zero elements from this matrix Indexform
: the sparsity pattern is directly given as vectors row and column indices of non-zero entries| jac_sp | the sparsity pattern of the Jacobian |
| sp_form | the type of given sparsity pattern. |
| function obj = NlpFunction.setName | ( | char | name | ) |
Specifies the name of the NLP function.
| name | the name character |
|
inline |
Sets dependent objects of the Nlp Function.
| summands | the summand function objects |
| function obj = NlpFunction.setSymFun | ( | SymFunction | symfun | ) |
This function specify the symbolic expression (SymFunction) of the NLP function.
| symfun | the symbolic function object |
| function obj = NlpFunction.setType | ( | char | type | ) |
Sets the type (either LINEAR or NONLINEAR) of the NLP function.
| type | the type of the NLP function |
| function obj = NlpFunction.updateProp | ( | varargin | ) |
This function updates the properties of the class object based on the input name-value pair arguments.
| varargin | variable nama-value pair input arguments, in detail: updateProp ( lb, ub )
|
| NlpFunction.AuxData |
A constant array of auxiliary data that will be used to construct the function handles.
SetAccess = Protected, GetAccess = Public
| NlpFunction.DepVariables |
An array of dependent NLP variables.
SetAccess = Protected, GetAccess = Public
| NlpFunction.Dimension = 0 |
It gives a quick access to the dimension of the function output without actually evaluating the function.
Default: 0
SetAccess = Protected, GetAccess = Public
| NlpFunction.FuncIndices |
Stores the indices of the function.
SetAccess = Protected, GetAccess = Public
| NlpFunction.Funcs |
File names of the external functions that computes the function/Jacobian/Hessian of the object.
Each field of 'Funcs' specifies the name of a function that used for a certain computation of the function.
SetAccess = Protected, GetAccess = Public
| NlpFunction.HessPattern |
A two-vector structure that specifies the non-zero structure of the second order Hessian of the Lagrangian function with respect to the dependent variables. The first vector determines the row indices of the all non-zero elements in the Hessian matrix, and the second vector determines the colomn indices of the all non-zero elements in the Hessian matrix.
SetAccess = Protected, GetAccess = Public
| NlpFunction.JacPattern |
A two-vector structure that specifies the non-zero structure of the first order Jacobian of the function with respect to the dependent variables. The first vector determines the row indices of the all non-zero elements in the Jacobian matrix, and the second vector determines the colomn indices of the all non-zero elements in the Jacobian matrix. For the gradient of the cost function, the first vector should consists of all 1
s.
SetAccess = Protected, GetAccess = Public
| NlpFunction.LowerBound |
The lower boundary values of the function.
SetAccess = Protected, GetAccess = Public
| NlpFunction.Name |
An identification of the object.
SetAccess = Protected, GetAccess = Public
| NlpFunction.nnzHess |
The number of nonzero entries in the Hessian matrix.
SetAccess = Protected, GetAccess = Public
| NlpFunction.nnzHessIndices |
Stores the indices of the non-zero elements in the Hessian matrix of the Lagrangian.
SetAccess = Protected, GetAccess = Public
| NlpFunction.nnzJac |
The number of nonzero entries in the Jacobian matrix.
SetAccess = Protected, GetAccess = Public
| NlpFunction.nnzJacIndices |
Stores the indices of the non-zero elements in the first-order jacobian.
SetAccess = Protected, GetAccess = Public
| NlpFunction.SummandFunctions |
An array of summand NlpFunctions that are to be summed up to get the current NLP function.
SetAccess = Protected, GetAccess = Public
| NlpFunction.SymFun |
The associated SymFunction object that specifies the symbolic expression of the NlpFunction.
SetAccess = Protected, GetAccess = Public
| NlpFunction.Type |
This property specifies whether the function is the linear function of dependent variables.
SetAccess = Protected, GetAccess = Public
| NlpFunction.UpperBound |
The upper boundary values of the function.
SetAccess = Protected, GetAccess = Public


Demonstrate Metadata parser
Run test 1 MetaData
Run test 2 people simple
Run test 3 people with label
Run Test 4 option array of javascript
Run Test 5 Object containing array of Nested Objects
Run Test 6 Object containing Data Value with Comment on end of line
Run Test 7 merge 1
Run Test 8 merge 2
Run Test 9 Proper Array Detection
Run Test 10 Include


Should you need to placate a squalling infant, here—reposted from several years ago—is a handy quartet of incey-winceys.
Incey-wincey badger, scrubbling in the dirt
Puts some sticks together and builds himself a yurt
He's a New Age badger, his name is Little Kurt
Careful now, his feelings are very easily hurt
QIncey-wincey lobster, clacking in the sea
His brain's completely alien to that of you and me
Incey-wincey lobster, much bigger than a bee
The lobster's very strange, and is never ever twee
Incey-wincey goat-boy, creature of two realms
We can see you darting in between the elms
Half of you is human, the other half's a goat
Incey-wincey goat-boy, drowning in a moat
Incey-wincey Stalin with his pockmarked face
Keeps all his medals in a big briefcase
Lurks in the Kremlin hatching plots and schemes
Incey-wincey Stalin haunts your childhood dreams


{% extends "layout.html" %} {% block title %}HaploQA{% endblock %} {% block content %}
HaploQA is a software platform that provides interpretation of genotype calls from the Mouse Universal Genotyping array platforms (including Mega-/Giga- MUGA) that are available from Neogen Genomics (Morgan et al., 2015). The software allows for direct upload of sample and genotype data, sample annotation, and organization by users. The software interprets genotype calls and uses established Hidden Markov Models that were generated by Dr. Gary Churchill’s laboratory to generate haplotypes with negative log likelihood scoring. There are additional options for interfacing with the data through a web-based graphics, links out to widely used genome browsers, data/image/report downloads, and options for making the data public. If you want to read more about MUGA platforms the following is a great resource:
Morgan AP et al.
The Mouse Universal Genotyping Array: From Substrains to Subspecies.
G3 (Bethesda). 2015 Dec 18;6(2):263-79. doi:
10.1534/g3.115.022087.
PMID: 26684931; PMCID:
PMC4751547
To get started with HaploQA, you may browse the public data listed below. However, if you wish to upload your own data, you'll need to have an account. You can either login to your account if you already have one, please login; otherwise you can create a new account using the 'Sign Up' option in the top left. Please contact us at<EMAIL_ADDRESS>if you have any questions.
To get started, use the “Import Sample Data” link in the header or click here to the data upload page. From here you can directly upload the “Sample_Map.txt” and “…_FinalReport.txt” files provided to you by your MUGA genotyping provider (Neogen).
| Sample Tag | Sample Count |
|---|---|
| {{ my_tag.name }} | {{ my_tag.sample_count }} |
| Sample Tag | Sample Count |
|---|---|
| all samples (includes untagged samples) | {{ total_sample_count }} |
| {{ tag.name }} | {{ tag.sample_count }} |


Scope: Standardization in the field of packaging with regard to terminology and definitions, packaging dimensions, performance requirements and tests.


how do you see This
FirstName
LastName
Profession Doctor Software Developer Lawyer Teacher
By creating an account you agree to our Terms & Privacy.
Submit


| Class | Description |
|---|---|
| BaseProcessPayment |
Base class for all process payment operations.
|
| BaseProcessPayment.Builder | |
| BaseRequestPayment |
Base class for request payment operations.
|
| BaseRequestPayment.Builder | |
| ProcessExternalPayment |
Process external payment.
|
| ProcessExternalPayment.Builder | |
| ProcessExternalPayment.Request |
Request for processing external payment.
|
| ProcessPayment |
Process payment.
|
| ProcessPayment.Builder |
Builder for
ProcessPayment . |
| ProcessPayment.Request |
Request for payment processing.
|
| RequestExternalPayment |
Context of an external payment.
|
| RequestExternalPayment.Builder | |
| RequestExternalPayment.Request |
Requests context of external payment.
|
| RequestPayment |
Context of a payment.
|
| RequestPayment.Builder |
Builds
RequestPayment instance. |
| RequestPayment.Cards | |
| RequestPayment.MoneySource | |
| RequestPayment.Request |
Requests for a payment context.
|
| Enum | Description |
|---|---|
| BaseProcessPayment.Status | |
| BaseRequestPayment.Status | |
| ProcessPayment.TestResult |
Available test results.
|
| RequestPayment.TestResult |
Test results.
|


--- layout: post title: Foss.in yet again date: 2006-11-22 15:55:00.000000000 +11:00 type: post published: true status: publish categories: [] tags: [] meta: lj_itemid: '21' lj_permalink: http://jus4kix.livejournal.com/5432.html author: login: ajaysusarla email<EMAIL_ADDRESS>display_name: partha first_name: '' last_name: '' ---
just a couple of days more to go and its time for foss.in - all the talks - all the drooling at the speakers... Man am excited or what.
Meanwhile...
My marriage is less than 3 weeks away - and i have been really busy with it. Just finished with the invites. Got them from the printer last evening. Loaded with work at work too.
All the best to the team (http://foss.in/2006/info/Team) at foss.in.
C you guys there.


Hello People, This is template loaded using RequireJS and rendered by jSmart. The best way to share templates in PHP and JavaScript. by {$name}


Indian Cops Attempt Quidditch But their Brooms Won’t Take off - Video
New Delhi (Sputnik): Remember the epic Harry Potter make-believe Quidditch tournaments. Well, it seems that Indian cops in Uttar Pradesh state have derived some inspiration from the wizards of Potter's world.
The wizarding sport, Quidditch, is played by mounting on broomsticks in the magical Hogwarts series.
Similar scenes were witnessed during an anti-riot drill by police, who were seen running with batons between their legs in the Firozabad district of India’s Uttar Pradesh state.
According to a Twitter post, the one of a kind drill was carried out due to the unavailability of actual horses. Therefore, it appears that the decision to use batons instead of horses was taken by the authorities.
The mock-drill was conducted ahead of the crucial Ayodhya land dispute verdict, due to be announced by the court around 17 November.
India’s Home Ministry has deployed 4,000 troops in Ayodhya ahead of court’s judgement on the several decades' old contentious dispute over a piece of land claimed by both Hindu and Muslim organisations.
The video also refreshed the memories of netizens of an earlier incident in which an Uttar Pradesh Police officer imitated the sound of a gun, saying “thaye- thaye”, to scare off a criminal, after his gun jammed during an encounter.
The video, which is going viral on social media, is leaving netizens in peals of laughter.
— Bhartiya Socrates (@ind_pol_noob) November 8, 2019


I am a University of Saskatchewan Graduate with a BSc. in Geology and a minor in Geomatics.
My work experience includes two summers with Cameco, as both an exploration geology summer student and a minesite geology summer student. I have also worked on spatial analysis projects with the SSRL (Social Science Research Laboratory), developed cartographic material for Geomatics and Human Geography textbooks, spent a summer with the Saskatchewan Ministry of Forestry, and ran a children's mapping camp.
I'm interested in geology, cartography, web mapping, GIS, canoeing with my dog, and pale ales. Please feel free to view my detailed work experience on LinkedIn, and to contact me for interesting opportunities or projects.


File Links
The image and the text below will become links to a file from disk:
Click to open the external file
File Attachments
Click the next icon to open the attachment from a file:
Click the next icon to open the attachment from a stream:


This is a link, but it won't do anything
| Kısayol | Uzunu |
|---|---|
| x = y | x = y |
| x += y | x = x + y |
| x -= y | x = x - y |
| x *= y | x = x * y |
| x /= y | x = x / y |
| x %= y | x = x % y |
| x <<= y | x = x << y |
| x >>= y | x = x >> y |
| x >>>= y | x = x >>> y |
| x =& y | x = x & y |
| x ^= y | x = x ^ y |
| x |= y | x = x | y |


{% extends "base.html" %}
{% block title %}Tests{% endblock %}
{% block content %}
This platform is used to access prospective applicants and verify whom is more suitable for employment.
Take your tests. The tests is for only job applicants. Please note that your results would not be shown to you.
This platform is used to access prospective applicants and verify whom is more suitable for employment.
Take your tests. The tests is for only job applicants. Please note that your results would not be shown to you.


Search
See if you belong to the population group that can be vaccinated in the current period based on the AMKA in combination with your AFM and book your appointment.
In general this season people in age of 30-70 can be vaccinated.If you belong to sensitive group(people over 70 years old,adults over 18 years old with underlying health conditions) choose wisely the place in which you are going to be vaccinated


I'm Britt, a Full-Stack JavaScript, C#.NET & React developer interested in creating beautiful design, following best practices and learning new things.
A smart shopping application to help you keep track of which items you buy the most and which items you may need to pick up on your next trip to the grocery store. Responsive and accessible. Created with ReactJS, Firebase and MaterialUI and deployed with Netlify.
An interactive keyboard application that allows users to switch between free-play mode where they can play the keyboard and create images on the canvas or learn-melody mode where they can follow along to play a melody. Created with JavaScript, Sass, Webpack, MIDI.js and the Sketch.io API
An application to help take the stress out of traveling with your pets. Enter your destination into the search bar to find pet friendly shops, restaurants and hotels. Created with React, Redux, Firebase-Firestore and the Google Maps API.
A place to report incidences of harrasment in the community to help create safer spaces for all. Created with C#, MVC ASP.NET Core, RESTful routing and the Google Places API.
A fun game of chance where you roll the dice to rack up points! Play against yourself or with a friend. Created with object oriented JavaScript and jQuery and styled with CSS.
I really enjoy languages, and not just programming ones. I've studied Japanese, Chinese and Arabic, though my main focus was Japanese. From 2010 to 2011 I lived in Izumo, Japan and ate as much Okonomiyaki (Hiroshima-style for life) and Tonkotsu ramen as I could get my hands on! I've live in Milwaukie, OR. with my husband and our pup Gemma for 2 years, but my heart will forever be split between Japan and Bellingham, WA. where I have many dear friends and fond memories. I've worked in education and health care, but found my ultimate calling with development.


---
lang: en-us
layout: offers-page-en
title: 'meem | Murabaha Deposit offer'
description: 'Everyone, everyday can enjoy the best profit rates in the Kingdom of Saudi Arabia with the meem Murabaha Deposit.We will be checking the markets everyday to ensure we offer you the very best rates. Deposit a minimum amount of SAR 10,000 in the meem Murabaha deposit.'
social-audio:
social-video:
social-media:
- tw-summary:
tw-title:
offer-banner:
- offer-heading-text-1: 'Receive the best
Murabaha Deposit rates
for you and your family
this Ramadan'
offer-heading-text-2:
offer-heading-text-3: Welcome to digital banking
offer-heading-terms: 'Terms & conditions apply'
how-to-apply-boxes:
- box-last-panel: false
box-title: How to apply?
box-description: "Click the button below to learn how to apply whether you're a new or an existing customer."
box-link: '#applynowlink'
box-button-text: Find How to Apply
- box-last-panel: true
box-title: Request a phone call
box-description: Click the button below to request our Telesales team to call you in your preferred time.
box-link: '#phonenowlink'
box-button-text: Go to Call Request
apply-button:
- button-text: 'Apply Now!'
button-link: 'http://online.meem.sa/default.aspx?startpage=onboarding&culture=us'
product:
- product-title: Murabaha Deposit
product_description: >-
The meem Murabaha deposit is flexible and Shariah compliant. You can
withdraw up to 20% of your balance without incurring any financial
penalties and choose an investment period of between 30 to 720 days.
The meem Murabaha Deposit is the first Shariah Compliant product with
online placement and liquidation (fully and partially).
product-benefits:
- product-benefit-title: Low risk investment option
product-benefit_description:
product-benefit-icon: icon-energy
product-benefit-delay: '100'
- product-benefit-title: Wide choice of deposit tenures
product-benefit_description:
product-benefit-icon: icon-magic-wand
product-benefit-delay: '200'
- product-benefit-title: Variety of choice for deposit currencies
product-benefit_description:
product-benefit-icon: icon-trophy
product-benefit-delay: '300'
offer:
- offer_title: 'Best Profit Rates for everyone, everyday'
offer_description: '
Everyone, everyday can enjoy the best profit rates in the Kingdom of Saudi Arabia with the meem Murabaha Deposit.
We will be checking the markets everyday to ensure we offer you the very best rates. Deposit a minimum amount of SAR 10,000 in the meem Murabaha deposit.
Available for a limited time only.
' form-contact-label-name-text: Name form-contact-label-email-text: Email form-contact-label-phone-text: Phone form-contact-label-calltime-text: Preferred Time for Calling form-contact-label-button-text: Submit Request newsletter: - subscribe-text: "Never miss meem's offers and promotions. Subscribe to our mailing list." form-action_link: '#' form-subscribe-button-text: Subscribe form-input-field-comment: Enter your email... permalink: /en/offers/murabaha-deposit-p-5b-en.html alt_url: /ar/offers/murabaha-deposit-p-5b-ar.html sitemap: exclude: --- {% for mast in page.offer-banner %}{{ mast.offer-heading-text-3 }}
{{ mast.offer-heading-terms }}
{{ offer.offer_description }}
{% endfor %}{{ product.product_description }}
{% endfor %} {% for benf in page.product-benefits %}{{ benf.product-benefit_description }}
Please login to your account to apply for the Murabaha Deposit.
Choice of placing deposit in SAR, USD, GBP, and other GCC currencies
Tenure option (Days): 30, 90, 180, 360, 720
Profit calculation done upfront at the time of placing the deposit
Depositor can withdraw up to 20% of deposit value without breaking the deposit
Cement is the offered commodity with the delivery option
Straight Through Process enables you to get your investment online within few minutes
Our Murabaha Deposit rates are strictly a limited offer and may be withdrawn at any time.


General Chair: Christoph Treude
ICSME 2020 Site: https://icsme2020.github.io
The meeting for members of the 2020 organizing committee will take place during lunch on Wednesday, October 2, 2019.
Location: Old Arcade Board Room of the Hyatt Recency Arcade


Day/Date:
Day of the Week:
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Date:
All Days
Subsriber Class:
(All)
Home Worker
Short Term Visitor
Long Term Visitor
Resident Worker
Inbound Commuter
Outbound Commuter
Trip Purpose:
(All)
Home-Other
Other-Other
Other-Home
Work-Work
Other-Work
Work-Other
Home-Home
Home-Work
Work-Home
Base Map:
Basic
Population Density
Employment Density


1 reference to NetShareEnum
System.Management.Automation (1)
engine\CommandCompletion\CompletionCompleters.cs (1)
4573
int result =
NetShareEnum
(machine, 1, out shBuf,


Mindfulness FAQ
1) What is mindfulness?
Mindfulness is a basic human ability that focuses on paying attention to the current moment, in a particular way. Over time and with practice, people can become more mindful.
2) What are some of the benefits of mindfulness?
Mindfulness can help you pay attention and focus on what you want to at a specific moment, instead of letting your mind wander. Mindfulness has also been related to better well-being and improved mood. For smoking, mindfulness has been associated with lower cravings for cigarettes and increased smoking abstinence.
3) Why is it so important for me to focus on what’s happening right now?
Focusing on what is happening right now is a way to practice focusing your attention to whatever you want to at a specific moment. This can be really hard to do with all the distractions we have in life; however, the more you practice focusing on what is happening now, the more easily you’ll be able to do this over time.
4) Why do I need to practice mindfulness?
Becoming more mindful is just like any other skill – the more you practice, the more you will understand it. Over time, you will be to apply it to your daily life more easily.
5) How am I supposed to focus on my thoughts if I’m supposed to let them pass by?
You want to be aware of what thoughts are popping up in your mind, in order to decide what to do with them. Some thoughts are more useful than others. When trying to quit smoking, the following two thoughts will likely impact your mood and behavior differently: “I want a cigarette” vs “I want to take a walk.” By becoming more aware of these types of thoughts, you have more control over how you deal with them.
6) Is it ok to focus on what’s going on around me as long as I don’t fixate on it?
As you practice mindfulness exercises, you will be able to decide where you want your attention to go and for how long, depending on what you need in that moment. You may decide to fixate on something, or not.
7) Mindfulness involves movement? I just thought it was about breathing.
Mindfulness is about putting your attention in a certain place, at a certain time. This may involve paying attention to how your body feels when you move, or even noticing if certain areas are tense or sore. You can also pay attention to sensations that occur when you do daily activities, like washing your hands or dishes.
8) Why is there such a focus on thoughts being right or wrong?
When we judge something as right or wrong (or good or bad), we can get distracted from what is actually happening. We want to “put space” between our initial gut reaction and the decisions we later make. For example, if you tell yourself you’re a bad person for craving a cigarette when trying to quit smoking, you may end up smoking a cigarette. However, if you can “hit the pause button” between that thought and making a decision, you may instead be able to tell yourself that it is okay to crave a cigarette and that you’re going to do something else instead.
9) How does being aware of my thoughts relate to me quitting smoking?
When a craving to smoke occurs, it can feel like smoking a cigarette is automatic. In other words, smoking becomes a habit. Usually, cravings include thoughts related to smoking. Noticing these thoughts can break the habit of automatically reaching for a cigarette.
10) How will I feel when practicing mindfulness?
People feel many different things when practicing mindfulness. You may feel more focused and calm. Other people feel happy or relaxed. Sometimes mindfulness can be challenging, so you may occasionally feel frustrated or anxious. All of these feelings are normal.
11) Is mindfulness the same thing as meditation?
Mindfulness and meditation are related, but slightly different. Meditation is when you set aside a period of time to focus on something specific (like your breathing or stretching). Mindfulness exercises can include meditations, but they can also include paying attention to things within your day-to-day activities, like the sounds you hear or the foods you eat.
12) Is this connected to religion?
Mindfulness practices do originate from Buddhism. However, many people who practice mindfulness are not Buddhist, and in fact, may even follow a different religion (or no religion at all). It is up to you whether you want your mindfulness practice to relate to religion or not.
13) Can I practice mindfulness anywhere?
Yes! In fact, you can pay attention to your breathing right now, and you’re being mindful! Your breath is always with you, so drawing your attention to your breathing can be really helpful when you’re experiencing stress or a craving to smoke.


THE INDIAN IN THE CUPBOARD A film review by Thomas Wheeler Copyright 1995 Thomas Wheeler
As with CASPER, I went to THE INDIAN IN THE CUPBOARD uncertain of what to expect, and not really expecting a whole lot. It looked amusing, and certainly interesting from a special effects standpoint, and it was based on a British children's story book, many of which are wonderful adventures (I recommend the original version of 101 DALMATIANS to anyone).
And, as with CASPER, the movie far, *far* exceeded my expectations. THE INDIAN IN THE CUPBOARD is a truly wonderful, marvelous, and magical adventure. For those unfamiliar with the story, a young boy named Omri receives, among other birthday presents, an antique cupboard and a small plastic Indian. Placing the Indian in the cupboard (!) and locking it with a special key somehow (and they never explain how, but this isn't "Star Trek," people--they don't *have* to explain) brings the Indian to life. Or more accurately, brings a miniaturized Iroquois Indian named Little Bear to the cupboard. (I have to say, it makes you wonder if there's a six-foot plastic Indian out there in the past someplace after that).
Omri soon learns a number of lessons, *none* of which are, thank God, crammed down the audience's throat. One is that such a wonder as this cupboard must be treated carefully, as he learns when he crams Darth Vader, a G.I. Joe, Robocop, a Jurassic Park dinosaur, and a Star Trek Ferengi and Cardassian in the cupboard, and miniaturized chaos ensues for a truly hysterical multiple cameo.
Omri also learns that the little Indian must be treated with care and respect. It's a person, not a toy.  But even he learns eventually.
There are subtle lessons on friendship, respect, life and death, all woven through the picture, but none pounded over your head. You're left with, as I said, a truly wonderful and magical adventure whose special effects are just as carefully and subtly woven throughout the movie. If you've got kids, go see it. If you don't have kids, go see it anyway. I don't, and I still enjoyed it.
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


To take advantage of the dislikes of the user, we plan to use the method of 'Love-Hate Square Counting Method' proposed in [1] Let's take an example to explain this! Suppose Cav is friends with Trump and Parisa. Now, Cav hates 3 books which Trump also hates & Cav loves 3 books which Parisa also loves. Now if we know that Trump likes "Twilight" and Parisa likes "Life of Pie", then , is it more likely for Cav to like "Twilight" or "Life of Pie"? This is exactly the question we are trying to answer with BookLook!


Click a room for a detailed view.
How did you find out about this apartment? Check any that apply:
Transcript: Hello. Welcome to our apartment. You'll really enjoy living here. The rooms are spacious and the apartment building amenities are fantastic. We look forward to hearing from you!
| Service | Day/Hours |
|---|---|
| Gym | Monday-Friday 6am-10pm Saturday 8am-8pm Sunday 8am-5pm |
| Pool | |
| Laundry | 24/7 |
| Please do not allow people you do not know to use these facilities. |


Vaccine death toll at 148, PAO says
by Rio N. ArajaThe Public Attorney’s Office has received another complaint following the death of a 13-year-old girl, and supposedly as a result of the Dengvaxia vaccine.
PAO chief Persida Rueda-Acosta said the number of Dengvaxia-related deaths had risen to 148 following the girl’s death as reported by her parents who hail from Parañaque City.
The parents, whose names were not released, asked PAO to examine the remains of their child to validate the cause of her death.
PAO said the victim, who received her first Dengvaxia shot in 2016, was taken to a hospital on Oct. 29 due to high fever and vomiting, but then died on Nov. 1.
Erwin Erfe of PAO’s forensic laboratory stood firm that the kin of those whose deaths were believed to be linked to Dengvaxia had a strong case against former and incumbent health officials, Sanofi Pasteur Inc. and its distributor Zuellig Pharma Corp., and that they were guilty of homicide.
The autopsy on the latest victim discovered brain hemorrhage and enlarged internal organs, among other things, Erfe said.
“There is a strong link to Dengvaxia. It was Sanofi who made a statement that its product could pose higher risks or cause serious effects on a person without prior dengue infection,” Erfe said.
“Sanofi said that.”
He reiterated PAO’s appeal to designate a special court that would hear and litigate only the Dengvaxia complaints filed with the Department of Justice and Quezon City courts.
The relatives of the victims accused former Health Secretary Janette Garin, Health Secretary Francisco Duque III other Health officials and executives of Sanofi Pasteur Inc. and Zuellig Pharma Corp. for the mass Dengvaxia vaccination of over 830,000 children and several adults since 2016.


Subscribe
Dashboard
Create New Issue
Archive
About Us
About Us
Status
Log In
Subscribe
Products
Pricing
About Us
Status
Log In


Tōdai (灯台) encompasses a lifestyle philosophy that encourages self-reflection and action to improve ones life. Translated from Japanese, Tōdai means "lighthouse" and encompasses our ideal as a beacon of focus in a turbulent sea of distractions.
The Tōdai platform is designed as a private online application that allows you to choose important values and evaluate how your lifestyle aligns with those values.
Choose 3 - 5 values that you wish to incorporate into your daily routine
Go about your day and make choices with your desired values in mind
Complete your journal entries and compare them with your desired values
Send us a message, we hearing from you!


South Korean Defence Ministry Announces First Female Lieutenant General
MOSCOW (Sputnik) - Lt. Gen. Kang Sun-young has become the first female in South Korea's history to obtain the rank of two-star general, South Korean Defence Ministry said in a statement on Friday.
"Among the best personnel in possession of skills and professionalism, three women were selected: Kang Sun-young (aviation), Kim Joo-hee (intelligence), and Jeong Eui-sook (nursery) ... Kang Sun-young has become the first female Lieutenant General, while Kim Joo-hee has become the first female Major General in military intelligence," the statement read.
The women were promoted in a regular reshuffle of top military personnel, the ministry added.
Kang, 53, has served in the military since 1990. She also currently serves as the president of the Army Aviation school.


Cloud9 needs a few dependencies to be able to work with this SSH workspace. If you agree, we’ll install a few things in the ~/.c9 folder. This will not affect any other part of your system, it’s fully self-contained!
To fully remove Cloud9 from your machine, all you need to do is remove the ~/.c9 folder! Nothing will be left over on your system.
See https://github.com/c9open/install
The next step allows you to select which components to install.


Welcome to Super Friend Finder!
Take a short 10 question quiz,
Then find out who your Super Friend is!
Watch out! It could be a Hero or a Villain!
Take Quiz


This is an Oracle/OCI adapter for the ActiveRecord persistence framework. It relies upon the OCI8 driver, which works with Oracle 8i and above. Most recent development has been on Debian Linux against a 10g database, ActiveRecord 1.12.1 and OCI8 0.1.13. See: rubyforge.org/projects/ruby-oci8/
Usage notes:
- Key generation assumes a "${table_name}_seq" sequence is available for all tables; the sequence name can be changed using ActiveRecord::Base.set_sequence_name. When using Migrations, these sequences are created automatically.
- Oracle uses DATE or TIMESTAMP datatypes for both dates and times. Consequently some hacks are employed to map data back to Date or Time in Ruby. If the column_name ends in _time it‘s created as a Ruby Time. Else if the hours/minutes/seconds are 0, I make it a Ruby Date. Else it‘s a Ruby Time. This is a bit nasty - but if you use Duck Typing you‘ll probably not care very much. In 9i and up it‘s tempting to map DATE to Date and TIMESTAMP to Time, but too many databases use DATE for both. Timezones and sub-second precision on timestamps are not supported.
- Default values that are functions (such as "SYSDATE") are not supported. This is a restriction of the way ActiveRecord supports default values.
- Support for Oracle8 is limited by Rails’ use of ANSI join syntax, which is supported in Oracle9i and later. You will need to use finder_sql for has_and_belongs_to_many associations to run against Oracle8.
Required parameters:
- :username
- :password
- :database
- active?
- add_order_by_for_association_limiting!
- disconnect!
- distinct
- next_sequence_value
- pk_and_sequence_for
- prefetch_primary_key?
- quoted_false
- quoted_true
- reconnect!
- table_alias_length
Returns true if the connection is active.
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 193 193: def active? 194: # Pings the connection to check if it's still good. Note that an 195: # #active? method is also available, but that simply returns the 196: # last known state, which isn't good enough if the connection has 197: # gone stale since the last use. 198: @connection.ping 199: rescue OCIException 200: false 201: end
ORDER BY clause for the passed order option.
Uses column aliases as defined by distinct.
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 480 480: def add_order_by_for_association_limiting!(sql, options) 481: return sql if options[:order].blank? 482: 483: order = options[:order].split(',').collect { |s| s.strip }.reject(&:blank?) 484: order.map! {|s| $1 if s =~ / (.*)/} 485: order = order.zip((0...order.size).to_a).map { |s,i| "alias_#{i}__ #{s}" }.join(', ') 486: 487: sql << "ORDER BY #{order}" 488: end
Disconnects from the database.
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 211 211: def disconnect! 212: @connection.logoff rescue nil 213: @connection.active = false 214: end
SELECT DISTINCT clause for a given set of columns and a given ORDER BY clause.
Oracle requires the ORDER BY columns to be in the SELECT list for DISTINCT queries. However, with those columns included in the SELECT DISTINCT list, you won‘t actually get a distinct list of the column you want (presuming the column has duplicates with multiple values for the ordered-by columns. So we use the FIRST_VALUE function to get a single (first) value for each column, effectively making every row the same.
distinct("posts.id", "posts.created_at desc")
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 464 464: def distinct(columns, order_by) 465: return "DISTINCT #{columns}" if order_by.blank? 466: 467: # construct a valid DISTINCT clause, ie. one that includes the ORDER BY columns, using 468: # FIRST_VALUE such that the inclusion of these columns doesn't invalidate the DISTINCT 469: order_columns = order_by.split(',').map { |s| s.strip }.reject(&:blank?) 470: order_columns = order_columns.zip((0...order_columns.size).to_a).map do |c, i| 471: "FIRST_VALUE(#{c.split.first}) OVER (PARTITION BY #{columns} ORDER BY #{c}) AS alias_#{i}__" 472: end 473: sql = "DISTINCT #{columns}, " 474: sql << order_columns * ", " 475: end
Returns the next sequence value from a sequence generator. Not generally called directly; used by ActiveRecord to get the next primary key value when inserting a new database record (see prefetch_primary_key?).
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 228 228: def next_sequence_value(sequence_name) 229: id = 0 230: @connection.exec("select #{sequence_name}.nextval id from dual") { |r| id = r[0].to_i } 231: id 232: end
Find a table‘s primary key and sequence. Note: Only primary key is implemented - sequence will be nil.
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 395 395: def pk_and_sequence_for(table_name) 396: (owner, table_name) = @connection.describe(table_name) 397: 398: pks = select_values("select cc.column_name\nfrom all_constraints c, all_cons_columns cc\nwhere c.owner = '\#{owner}'\nand c.table_name = '\#{table_name}'\nand c.constraint_type = 'P'\nand cc.owner = c.owner\nand cc.constraint_name = c.constraint_name\n", 'Primary Key') 399: 400: # only support single column keys 401: pks.size == 1 ? [oracle_downcase(pks.first), nil] : nil 402: end
Returns true for Oracle adapter (since Oracle requires primary key values to be pre-fetched before insert). See also next_sequence_value.
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 267 267: def prefetch_primary_key?(table_name = nil) 268: true 269: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 184 184: def quoted_false 185: "0" 186: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 180 180: def quoted_true 181: "1" 182: end
Reconnects to the database.
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 204 204: def reconnect! 205: @connection.reset! 206: rescue OCIException => e 207: @logger.warn "#{adapter_name} automatic reconnection failed: #{e.message}" 208: end
[ show source ]
# File vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb, line 154 154: def table_alias_length 155: 30 156: end


Welcome to PCAT’s documentation!¶
When testing hypotheses or inferring their free parameters, a recurring problem is to compare models that contain a number of objects whose multiplicity is itself unknown. Therefore, given some data, it is desirable to be able to compare models with different number of parameters. One way of achieving this is to obtain a point estimate (usually the most likely point) in the parameter space of each model and, then, rely on some information criterion to penalize more complex models for excess degrees of freedom. Another way is to sample from the parameter space of each model and compare their Bayesian evidence. Yet another is to take samples from the union of the hypotheses using a set of transdimensional jumps across models. This is what PCAT (Probabilistic Cataloger) is designed for.
PCAT is a hierarchical, transdimensional MCMC sampler. It’s theoretical framework is introduced in Daylan, Portillo & Finkbeiner (2016), submitted to ApJ. Given some data, it can be used to sample from the catalog space, i.e., the hypothesis space of a model with a variable number of components. Alternatively, it can be used as a general purpose Poisson mixture sampler to infer clusters in a dataset.
Installation¶
To install PCAT you can use pip
pip install pcat
or download the latest release and run
python setup.py install
Input¶
PCAT expects input data in the folder pathbase/data/inpt/
. The principal input is the observed dataset, which could be binned or unbinned (currently unfunctional).
Supplying data¶
Input dataset is provided through the strgexprflux
argument. This should be the name of a FITS file (including the .fits
extension), which contains a numpy array of dimension \(N_e \times N_{pix} \times N_{psf}\), where \(N_e\) is the number of energy bins, \(N_{pix}\) is the number of spatial pixels and \(N_{psf}\) is the number of PSF classes. The units should be photons per cm \(^2\) per seconds per GeV.
The exposure map is suppled via the strgexpo
argument. This should be the name of a FITS file (including the .fits
extension). The format should be the same as strgexprflux
, whereas units should be cm \(^2\) GeV.
Similary, background templates can be provided via the back
argument. back
should be a list of FITS file names (including the .fits
extension), whose format should be same as that of strgexprflux
.
Specifying model priors¶
The prior structure of the model is set by the relevant arguments to pcat.main.init()
. PCAT allows the following components in the model:
Background prediction
Given some an observed dataset, it can be expressed as a Poisson realization of the integral emission from a large number of point sources. However, due to the prohibitively large number of point sources required, it is favorable to represent the contribution of extremely faint point sources (those that negligibly affect the likelihood) with background templates. PCAT allows a list of spatially and spectrally distinct background templates to be in the model simultaneously.
Point Spread Function (PSF)
PSF defines a how a delta function in the position space projects onto the data space, e.g., the image. PCAT assumes that all point sources are characterized by the same PSF.
Generating mock data¶
PCAT ships with a built-in mock (simulated) data generator. The generated mock data is randomly drawn from a generative mock model, not to be confused with the above model subject to inference. Once the user configures the prior probability density of this model, PCAT samples from the catalog space given the simulated dataset. Some of the mock model parameters can be fixed, i.e., assigned delta function priors. These are
- the number of mock point sources,
mocknumbpnts
, - hyperparameters controlling the population characteristics of these point sources.
All other mock model parameters are fair draws from the hierarchical prior.
When working on variations of a certain problem or different analyses on the same dataset, it is useful to have default priors. PCAT allows unique defaults for different built-in experiments, controlled by the argument exprtype
. Currently the built-in experimental types are
ferm
: Fermi-LAT (Default)chan
: Chandrahubb
: Hubble Space Telescopesdss
: SDSSgaia
: Gaia
By setting exprtype
the user imposes the default prior structure for the chosen experimental type. However, it is also desirable to be able to change the prior of a specific parameter. This is accomplished by setting the relevant argument(s).
Note
The mock generative model defaults to that of the model subject to inference. In other words, if the user does not specify any mock model parameters, the generative mock model will be the same as the model used to fit the data. In most cases, one will be interested in studying mismodeling, i.e., when the mock data is generated from a model different from that used to fit the data. This can be achieved by deliberately setting the mock model parameters different from the prior model.
Selecting the initial state¶
When the dataset is supplied by the user (strgexprflux
is set), and unless specified otherwise by setting randinit=False
, the initial state of the chain is drawn randomly from the prior. Note that in order for the initial state to be nonrandom, a reference catalog needs to be internally supplied.
In constrast, if the dataset is simulated, randinit
is not True
and generative mock model is the same as the prior model, then the initial state of the chain is set to be the state from which the mock dataset was drawn.
Output¶
A function call to pcat.main.init()
returns the collected samples as well as postprocessed variables in an object that we will refer to as gdat
. Any output (as well as many internal variables of the sampler) can be accessed via the attributes of this global object.
Furthermore, PCAT ships with extensive routines to visualize the output chain. The output plots are placed in the relevant subfolders pathbase/data/outp/rtag
and pathbase/imag/rtag
, respectively, where rtag
is the run tag. The pathbase
folder is created if it does not already exist. It defaults to the value of the environment variable $PCAT_DATA_PATH
. Therefore pathbase
can be omitted by setting the environment variable $PCAT_DATA_PATH
.
Plots¶
If not disabled by the user, PCAT produces plots in every stage of a run. Some plots are produced in the initial setup, frame plots are produced at predetermined times during the sampling and others are produced in the postprocessing after all chains have run. There are five subfolders in the plot folder of a given run.
init
Initial setup, pixel lookup table (if applicable)fram
Frame plotsdiag
Diagnostic plotspost
Posterior distribution plots of model parameters and derived quantities, prior and likelihood.anim
GIF animations made from the frame plots infram
that are producing during sampling.
Chain¶
pcat.main.init()
returns an object that contains the output chain.
Diagnostics¶
Autocorrelation¶
A chain of states needs to be Markovian (memoryless) in order to be interpreted as fair draws from a target probability density. The autocorrelation of the chain shows whether the chain is self-similar along the simulation time (either due to low acceptance rate or small step size). Therefore the autocorrelation plots should be monitored after eah run.
In a transdimensional setting, the autocorrelation of a parameter is ill-defined, since parameters can be born, killed or change identity. Therefore, for such parameters, we calculate the autocorrelation The autocorrelation Note that the In the The acceptance rate of the birth and death moves shows whether the prior on the amplitude of the elements is appropriate. If the acceptance rate of birth and deaths proposals is too low, the lower limit of the prior on the amplitude is too high. Likewise, if it is too low, the lower limit of the prior on the amplitude is too low. This behaviour is due to the fact that element parameters (position, amplitude and, if relevant, spectral or shape parameters) are drawn randomly from the prior when a birth is proposed. Therefore the lower limit on the amplitude prior should be adjusted such that the birth and death acceptance rate is between \(\sim 5%% - \sim30%%\). Otherwise across-model sampling will be inefficient and result in slow convergence.
Gelman-Rubin test¶
PCAT nominally runs multiple, noninteracting chains, whose samples are aggregated at the end. In order to ensure convergence, therefore, one can compare within-chain variance with across-chain variance. This is known as the Gelman-Rubin test. PCAT outputs the GR test statistics in gdat.gmrb
and plots the relevant diagnostics in $PCAT_DATA_PATH/imag/rtag/diag/
.
Note
Make sure to run PCAT with the argument diagmode=False
for reasonable time performance. diagmode=True
option puts the sampler in a conservative diagnostic mode and performs extensive checks on the state of critical data structures to ensure that the model and proposals are self consistent, largely slowing down execution.
Tutorial¶
In this tutorial, we will illustrate how to run PCAT during a typical science analysis. Assuming that you have installed PCAT, let us first run it on mock data.
All user interaction with PCAT can be performed through the pcat.main.init()
funtion. Because arguments to this function have hierarchically defined defaults, even the default call (without arguments) starts a valid PCAT run.
import pcat.main
pcat.main.init()
This runs PCAT on mock Fermi-LAT data to collect a single chain of 100000 samples before thinning and burn-in. After initialization, PCAT collects samples, produces frame plots (snapshots of the sampler state during the execution) and postprocesses the samples at the end. The run should finish in under half an hour with the message
>> The ensemble of catalogs is at $PCAT_DATA_PATH/data/outp/rtag/
While the sampler is running, you can check $PCAT_DATA_PATH/imag/rtag/
to inspect the output plots.
pcat.main.init( \
randinit=True, \
maxmgang=deg2rad(20.), \
indxenerincl=arange(1, 4), \
indxevttincl=arange(2, 4), \
lgalcntr=lgalcntr, \
bgalcntr=bgalcntr, \
minmflux=3e-11, \
maxmflux=3e-6, \
strgback=['isotflux.fits', 'fdfmflux%s.fits' % strgcntr], \
strgexpo='fermexpo_cmp0_igal%s.fits' % strgcntr, \
strgexprflux='fermflux_cmp0_igal%s.fits' % strgcntr, \
)
API¶
All user interaction with PCAT is accomplished through the pcat.main.init()
function. Below is a list of its function arguments.
-
pcat.main.
init
(...)¶ Given an observed dataset, sample from the hypothesis space.
Sampler settings
Parameters: - numbswep (int) – Number of samples to be taken by each process
- numbburn (int) – Number of samples to be discarded from the beginning of each chain
- factthin (int) – Factor by which to thin each chain. Only one sample out of
factthin
samples is saved. - numbproc (int) – Number of processes. The total number of samples before thinning and burn-in, will be
numbproc
timesnumbswep
.
Input
Parameters: - indxenerincl (ndarray int) – Indices of energy bins to be taken into account. It is only effective if data is provided by the user, i.e., for non-simulation runs, where it defaults to all available energy bins. Other energy bins are discarded.
- indxevttincl (ndarray int) – Indices of PSF class bins to be taken into account. Works similar to
indxenerincl
.
Output
Parameters: - verbtype (int) –
Verbosity level
0
No standard output1
Minimal standard output including status of progress (Default)2
Diagnostic verbose standard output
- pathbase (str) – Data path of PCAT. See Output.
Associations with the reference catalog
Parameters: - anglassc (float) – Radius of the circle within which sample catalog point sources can be associated with the point sources in the reference catalog.
- margfactcomp (float) – The ratio of the side of the square in which the sample point sources are associated with the reference catalog, to the size of the image.
- nameexpr (str) – A string that describes the provided reference catalog to be shown in the plot legends.
- cntrpnts (bool) – Force the mock data to a single PS at the center of the image. Defaults to
False
.
General
Parameters: pntstype (str) – Functional type of point sources.
lght
Point sources are light sourceslens
Point sources are lenses.
Initial state
Parameters: randinit (bool) – Force the initial state to be randomly drawn from the prior. Default behavior for mock data is to initialize the chain with the true state. Adaptive burn-in
Parameters: - loadvaripara (bool) – Load the diagonal elements of the previously learned covariance
- optiprop (bool) – Optimize the scale of each proposal by acceptance rate feedback. All samples during the tuning are discarded.
Post processing
Parameters: - regulevi (bool) – Regularize the log-evidence estimate.
- strgexprflux (str) – Name of the FITS file (without the extension) in
pathdata
containing the observed data as anndarray
. - strgcatl (str) – A descriptive name for the provided reference catalog to be shown in the plot legends.
- strgback (list of str or int) – A list of FITS file names (without the extension) in
pathdata
each containing a spatial template for the background prediction as anndarray
. Seestrgexprflux
for the content of the file and its unit. One element of the list can be a float, indicating an isotropic template with the provided amplitude. - lablback (list of str) – a list of axis labels for the spatial background templates to be shown in plots.
- strgexpo (str or float) – Name of the FITS file (without the extension) in
pathdata
containing the exposure map. Seestrgexprflux
for the format of the numpy array.strgexpo
can also be a float, in which case the exposure map will be assumed to be uniform across along all data dimensions. - liketype (strg) –
Type of the likelihood.
pois
Poisson probability of getting the observed number of counts given the model prediction (default).gaus
Gaussian approximation of the above. This may accelerate the execution in cases, where the bottle neck of the sampler time budget is likelihood evaluation.
- exprtype (str) – Name of the experiment used to collect the observed data.
exprtype
can be used to set other options to their default values for the particular experiment. -ferm
Fermi-LAT -chan
Chandra -hubb
HST -sdss
SDSS - lgalcntr (float) – Galactic longitude of the image center.
lgalcntr
andbgalcntr
are used to rotate the observed data, exposure and background maps as well as the provided reference catalog to the center of the ROI. They are only effective when pixelization is HealPix, i.e,pixltype='heal'
. - bgalcntr (float) – Galactic latitude of the image center. See
lgalcntr
. - maxmangl (float) – Maximum angular separation at which PSF can be interpolated. It defaults to three times the diagonal legth of the image, enough to evaluate the PSF across the whole image.
- pixltype –
Type of the pixelization.
heal
HealPixchan
Cartesianunbd
Unbinned (Not yet functional)
Plotting
Parameters: - makeplot (bool) – Make output plots, which is the default behavior. If
False
, no output plots are produced. - numbswepplot (int) – Number of samples (before thinning and burn-in) for which one set of frame plots will be produced. Frame plots reveal individual samples in detail and are later used for producing animations.
- scalmaps (str) –
A string that sets the stretch of the count maps
asnh
Arcsinh (default)self
Linearlogt
Log 10
- satumaps (bool) – Saturate the count maps
- exprinfo (bool) – Overplot the provided reference catalog on the output plots.
- makeanim (bool) – Make animations of the frame plots. Defaults to
True
. - anotcatl (bool) – Anotate the catalog members on the plots, if an annotation text is provided along with the reference catalog. (Default:
False
) - strgbinsener (str) – A string holding the label for the energy axis.
Diagnostics
Parameters: - diagmode (bool) – Start the run in diagnostic mode. Defaults to
False
. - strgexprname (str) – A string describing the experiment used to collect the observed data.
- strganglunit (str) – Label for the spatial axes.
Garbage collection¶
PCAT produces two folders for the output of each run, one for plots and the other to contain the chain saved to the disc. Given that many test and intermediate runs may be needed before each science run, the number of folders (and files therein) may increase quickly. In order to avoid this, the script gcol.py
is provided to the user as a convenience. When executed, it erases the output from all runs that
- have not run to completion, i.e., does not have the animations, which are produced at the very end, or
- has collected less than 100000 samples per chain.


pyd.dg_convert
This module contains some more or less dirty hacks for converting between
function and delegate types. Its contents are strictly for internal use
within Pyd.
- template fn_to_dg(Fn)
- This template converts a function type into an equivalent delegate type.
Page generated by Ddoc.