I'm a product description. I’m a great place to include more information about your product. Buyers like to know what they’re getting before they purchase.
I'm a product detail. I'm a great place to add more information about your product such as sizing, material, care and cleaning instructions. This is also a great space to write what makes this product special and how your customers can benefit from this item. Buyers like to know what they’re getting before they purchase, so give them as much information as possible so they can buy with confidence and certainty.
Return and refund policy
I’m a Return and Refund policy. I’m a great place to let your customers know what to do in case they are dissatisfied with their purchase. Having a straightforward refund or exchange policy is a great way to build trust and reassure your customers that they can buy with confidence.


Event loop
and
CSS animations
Simple event loop
Event loop with clearTimeout method
Queue order
Queue example
CSS animations
TransitionAnimation
The same animation using transition and animation properties
Animation example
CSS animations VS JavaScript animations
Thank you for your attention!


9/22/10 -- jrd
rev 1
Here we present a proposed scheme for handling the representation of configuration info for images being deployed in a cloud environment.
Most of the time, when an app designer/builder is doing anything non-trivial she finds herself in the position of needing to configure the interactions of a particular system with external resources. These external things might be facilities such as storage, network systems with particular properties, "public" services which are accessible in well-known ways, or other machines in close (or even distant) proximity to the system being configured.
The traditional way to accomplish this goal in the bare-metal world often comes down to wiring down a bunch of config, generally in conf files of various sorts. At deployment/installation time, there's a bunch of work around setting up the config on each individual machine, in order to get it to talk to all its neighbors, resources, etc. There are tools which make some headway at doing semi-automatic regeneration of config files, but most of them are focussed on doing repetitive tasks, or replaying the same meta-config into a bunch of similar machines, etc.
A fundamental point which makes this all work is that the machine remembers its state even when you're not using it, and its state is still relevant when you start using it again. IOW, you don't have to do anything special to configure it other than write some values into some files. Those files stay around. You can power the machine off and start it up a month later, and the config is still there, and probably still works.
That kind of model goes out the window in the cloud. For the most part, machine instances are ephemeral.  Furthermore, they generally are not persistent, ie if you were to fiddle the config in some file in an instance, that state typically doesn't get saved when you shut it down, so you'd have to do it all over again next launch. Finally, in the cloud, you probably don't want the detailed config to be persistent, as you might launch today on one set of VMs, and tomorrow on a different set in a different datacenter. Or even in a different provider.
What's needed is a way of talking fairly abstractly about machine configuration, and the relationships between machines in a group, and between machines and the surrounding environment. And then a body of software to take that description, plug in values from the particular deployment, resolve dependencies, and generate the individual configs used for each instance.
We introduce the notion of a service. A service is a description of a particular kind of functionality, with parameters. Services can be provided or required, ie any given instance can implement a service for use by other instances, or require that a service exist in the environment, so that the instance can use it.
Examples of services might be
Each service description carries with it basic information like name and type, as well as some number of parameters. Each parameter can be provided or required. For instance, one could define a service where the service itself is required (an NFS mount called Foo) and carries parameters with it which are also required (Host, Export-name, Mount-point). One could also have a service which is provided, and provides a parameter (NFS server, provides Host and Export-name). One could also have a service which is provided, but which requires a parameter (NFS server, requires local-storage-name, provides Host and Export-name).
Part of the strategy for defining machine images involves the idea of collecting a group of content into what amounts to a disk image. The description for this entity is referred to as a template. For configuration, it's natural to expect that each software package which goes into a template may have service descriptions, either provided or required, which go with it. In addition, it could make sense for the image as a whole to provide or require services, not tied to a particular software package.
[Implementation note: In the fullness of time, we expect that packages (rpms or whatever) will start to carry along the service descriptions with them, so that installing the package automatically populates the relevant piece of service data. For now, that's hypothetical, therefore it follows that the tooling which creates images will need to have a way of getting that stuff out of band. That process will be partially manual]
There's a software component in the system called the image factory, which takes in templates, and produces images, plus descriptors for what's in the images. For the purposes of this discussion, the interesting part of the description is the service/config data which applies to the image. This description info is called Capability Description Language (CDL).
We also introduce the notion of an assembly. An assembly is a description containing a set of images, plus it's own (assembly-level) service config information. Essentially, the assembly exists to describe groupings of base pieces, each grouping to make up the contents of a VM image. In addition, the assembly gives a way of describing services at the machine level, as opposed to at the component level. One use for this capability is to allow for creating a generic image, and launching it different ways, giving it different personalities.
Finally, we introduce the notion of a deployable. A deployable is a description of a group of assemblies. Typically, a deployable would be used to launch a group of (probably heterogeneous) images, which together make up an application. An example of such a thing might be an e-commerce server, consisting of several load balancers, several lamp-stack instances, and one or more mysql servers. The deployable, like the assembly and the CDL, can contain config info apropos the entire group.
The idea of all this is that at launch time, the infrastructure should have enough information to compute the local config for each instance, based on the properties of the backend, the population of instances making up a launch group, and stuff supplied by the user.
A simplified description of the algorithm used is as follows:
Launch code decides on essential characteristics of the launch of a group. This includes which backend, how many instances, what images and other components are used for each instance, etc.
Config code pulls the CDL for each image, assembly, deployable. Constructs a graph of which required values can be satisfied by which provided values.
If there are values which the config engine determines cannot be resolved from another instance or the environment, it either throws an error, or prompts the user to supply those values [tbd]
Once the config engine can tell that the dependency graph is complete, ie there's a way to resolve every required value, it allows the group launch to proceed.
Each instance for which there is complete configuration info is cleared for launch.
Each instance which depends on a determined-by-launch value of another instance (for instance an IP address) is held back.
As instance launches proceed, config engine interacts with core cloud engine to resolve pending required values. As each dependent instance acquires its required values, it's cleared for launch.
That's about it.
This is where things get really interesting. Much of what was described above primarily talks about fairly simple cases. For instance value X, hard-wired in instance 1, and provided, is required to resolve value Y in instance 2. Or value X, determined at launch time of instance 1, and provided, is required to resolve value Y in instance 2. But there are more complicated cases which we'll need to handle as well.
Consider the case where you've got a load-balancer which wants to be told at boot time the list of IP addresses of its clients. That's not a simple scalar value. The semantics you want is "collect all the <value ip-address> from all of this class of machine in the cluster, and present that to this other machine as a vector value".
Consider the case where you've got N of one kind of machine, and M of another, where M serves N. You want to assign the N->M connections round-robin. That involves logic at config time which is simpler than "just fetch the value". You need semantics to describe the round-robin assignment.
There are some cases which will necessarily be handled outside the core algorithm described above.
Consider the case where you've got a private network, perhaps on a VPN or something. Getting a host onto that network involves doing some negotiating at runtime, then getting an address. But that address isn't known until after you boot. If your goal is to tell all these machines about each other, so that they can talk over the vpn, you need to boot them all, collect all the data, then distribute the aggregate to the group. We do not try to solve this class of problem here, rather we suppose that it will be solved by integrating something like matahari into the booting images.
We express the structure of the dependency and config language as xml here. Please note that this is pseudo-xml, it's not intended to be grammatically correct or optimal xml, rather the intent is simply to describe the structure. We expect the implementation to use datastructures which look like this, but which may or may not be represented as xml. It's a design goal of this software that nobody ever sees these raw structures, and the tools for generating them and manipulating them use GUIs and things to present them. IOW, the fact that they're described as xml should in no way imply that there's ever a foo.xml file which looks like these things.
In each CDL-like construction (ie, the actual CDL for an image, the assembly which uses it, or the deployable which uses that) there are two vectors of "service" entries, one for provided services, one for required.
Each service entry is named, and has a type. Specs for required services may reference either a name or type or both, this aids selecting which parameters get resolved how.
Each service entry has some number of "param" entries. Params may be provided or required.
Params have at minimum a name and value. The "name" spec is used for matching. The "value" spec describes one of a number of ways to acquire the actual value at launch time. Modes of acquiring values include at least:
There will surely be more.
value entries which do not come with preconfigured values, and which don't say they get acquired some other way, are expected to be able to be resolved by the engine, by picking through its graph of config info and resolving by name and/or type. Failure to resolve any param in this way constitutes an error, and the instance cannot be launched.
[We should probably rewrite this a bit, rather than just importing the last draft wholesale]
Concrete examples of config flows, using our proposed config model.
Version 1
9/2/10 -- jrd
This doc builds on the previous efforts to talk about a configuration mechanism for cloud instances.
Caveats:
We have a bunch of xml snippets in here. These do not claim to be finished-product xml, or good xml style, or anything like that. The important thing is the object model and the semantics. We'll build "good" xml for it later.
We are not trying to solve every single configuration problem there is. The fairly specific goal of this exercise is to define a structure for representing config information which we believe will (a) allow for a good set of common config tasks, and (b) leave room for extensibility and enhancement, for when we flesh out the cloud engine's functionality. IOW, we want to design something which we can implement the beginnings of, and not have to rip it all out later.
I won't go back over all the details of the high level constructs, what was in the previous draft was discussion purposes.
We have Templates. A template describes an image. Part of that description is a list of services provided (things supplied by an instance running this image, available to other instances). Part is what the image requires (things that need to be available at runtime, provided either by other instances, the provider backend, or magic)
We have Assemblies. In the fullness of time, we expect assemblies to encompass the grouping of a base OS image, possibly other image-like things, possibly other things which live in the memory of the launched instance. For the short term, an Assembly will reference only one image. An assembly also may contain config info, ie more provides/requires entries.
We have Deployables. In the fullness of time, a deployable will describe the launch of N Assemblies, on N VM instances. For the short term, we will implement only the degenerate case of a deployable launching a single assembly. A deployable may also contain provides/requires entries.
Service entries have parameters, which can be exported or imported. A provided service has exported params, a required service has imports. Values for the params may be fixed (wired down by some stage of the template/assembly/deployable sequence) or computed (using a set of transformations which is TBD, and will likely start small and get larger) or specified by the user at launch time. There may be other variants on how a particular value is bound.
The cloud engine, at launch time, goes through the network of image descriptors, assemblies, and deployables, and binds all the required values. This may involve staging the launches, or other techniques necessary to divine all the needed values. A launch cannot proceed until the engine is able to resolve all the needed values.
For each instance, once values are available for all its required parameters, a datastructure is produced describing them all. This is nominally a list of key/value pairs; we might opt to wrap it up in some other structure, or something more complex, for instance if we end up supporting values which are themselves structured, like for instance lists of ip addresses or something.
The per-instance datastructure of values is fed to a per-instance configuration tool, nominally puppet. Puppet will have templates for the config files for the relevant apps and system pieces which are affected by the per-instance config. Puppet takes the key/value pairs and uses them to fill in the templates, resulting in "personalized" conf files for all the relevant pieces in the booting instance.
Ok, so with all that in mind, here are some approximately real-world examples.
Ex 1. I want to launch a cluster of 3 JBOSS servers, fronted by a load balancer.
We need a deployable which describes 4 instances; 3 jboss servers, and one LB.
<deployable> <assemblies> <assembly> <name>LB</name> <type>LBassy</type> <hardware-profile>small</hardware-profile> </assembly> <assembly> <name>JB1</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> </assembly> <assembly> <name>JB2</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> </assembly> <assembly> <name>JB3</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> </assembly> </assemblies> <deployable> <assembly> <name>LBassy</name> <image> <name>LBtmpl</name> <services> <provides> <service> <name>LBservice</name> <param> <name>config-ip-address</name> <value> <compute-from-instance key=eth0-address> </value> </param> <param> <name>config-port</name> <value><fixed value=8080></value> </param> </service> </provides> </services> </image> </assembly>
Several things to note about this assy: It provides a single service, called LBservice. That service exports 2 parameters; config-ip-address and config-port. Those make sense because this is the kind of LB where the clients come up and hit the address/port to register themselves, after which the LB starts handing them traffic. We'll make use of those values when configuring the client instances.
<template> <name>LBtmpl</name> <base-os>RHEL5.5</base-os> <packages> <package>my-lb-software</package> ... </packages> ... </template>
Note further that for the load balancer, we've chosen to put none of the config in the template, instead putting all of it in the assembly. That may or may not make sense, depending on how the designer wants the pieces to fit together. From the model point of view, it doesn't matter, as long as that config metadata is defined somewhere.
<assembly> <name>JBassy</name> <image> <name>JBtmpl</name> </image> </assembly> <template> <name>JBtmpl</name> <base-os>RHEL5.5</base-os> <packages> <package>jboss-server-app</package> ... <package>my-puppet-plugin-for-lb-software</package> </packages> ... <services> <requires> <service> <name>LBservice</name> <param> <name>config-ip-address</name> </param> <param> <name>config-port</name> </param> </service> </requires> </services> </template>
Note that in this case, we've put the service config in the template, not the assembly.
For this example, I've chosen to suppose that there's another package containing the puppet script/template needed by puppet at start time. That may or may not make sense; you can make the case that the puppet stuff really ought to be rolled in with the software to which it applies, in which case there would be only the one package. You can also make the case that it should be kept separate, one the grounds that the jboss thing might want to control it a different way. You can also make the case that the fact of requiring service LBservice should automatically cause the my-puppet-plugin-for-lb-software package to be loaded. We'll need to sort out which of those options we think makes sense. That level of stuff is kind of up to the app designer, I think.
Ok, we've got our interesting entities defined. At launch time, the cloud engine will do the following:
Look at the 4 instances being launched.
Observe that we need to come up with values for config-ip-address and config-port, to be handed to each of 3 instances.
Observe further that the 4th instance will supply those values when launched. In fact, the port is defined as fixed value=8080, so we don't even need to launch to get that one.
Decide, based on backend capabilities, what's needed to acquire the address. In the simple case, it means launching the LB instance, enough to get its address. That instance can be started.
Once the address is available from launching the LB, it gets plugged into the matching param value slot in the config datastructure being built up for each of the JB instances. Those instances can then be launched.
In each JB instance, puppet wakes up and gets handed the address and port values. Those are plugged into jboss-server.conf. Then jboss is launched. In due course, it reads the conf, and pings the LB on the designated address/port.
Huzzah, now the app is running!
Ex2: Just like Ex1, but instead of launching the LB instance, we're running in a backend which has a hardware LB, like an F5 box or
something.
This is somewhat similar, except that our deployable doesn't contain the LB software instance, and we don't have any of the related templates and assemblies. Instead, what we have is a provider-config element, which is meant to be tagged onto the description of the provider. In this scenario the CE does kind of what it did before, except that it knows at launch time what the LB's address is, because it's part of provider config.
<deployable> <assemblies> <assembly> <name>JB1</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> </assembly> <assembly> <name>JB2</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> </assembly> <assembly> <name>JB3</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> </assembly> </assemblies> <deployable> <assembly> <name>JBassy</name> <image> <name>JBtmpl</name> </image> </assembly> <template> <name>JBtmpl</name> <base-os>RHEL5.5</base-os> <packages> <package>jboss-server-app</package> ... <package>my-puppet-plugin-for-lb-software</package> </packages> ... <services> <requires> <service> <name>LBservice</name> <param> <name>config-ip-address</name> </param> <param> <name>config-port</name> </param> </service> </provides> </services> </template> <providerconfig> <services> <provides> <service> <name>LBservice</name> <param> <name>ip-address</name> <value><fixed value=<IP_ADDRESS>/></value> </param> <param> <name>port</name> <value><fixed value=9090/></value> </param> </service> </provides> </services> </providerconfig>
In some ways this is simpler than the first one, because there's less dependency stuff going on at launch time. All the CE has to do is resolve to the provided service from the provider, and plug the values that way. They're both fixed, so no further computation is required.
The other thing to note is that the template and assembly for the JBserver are identical to the first example. You could literally use the same images and templates, in a different deployable, to deploy this different configuration.
Let's try a third variant.
Ex3: Same as Ex1, but we're using a different kind of load balancer. This load balancer doesn't have the ability to have clients auto-register, instead it's told at launch time what the IP addresses of its clients are.
<deployable> <assemblies> <assembly> <name>LB</name> <type>LBassy</type> <hardware-profile>small</hardware-profile> </assembly> <assembly> <name>JB1</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> </assembly> <assembly> <name>JB2</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> </assembly> <assembly> <name>JB3</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> </assembly> </assemblies> <deployable> <assembly> <name>LBassy</name> <image> <name>LBtmpl</name> <services> <requires> <service> <name>LBclient</name> <vector> <param> <name>ip-address</name> </param> <param> <name>port</name> </param> </vector> </service> </requires> </services> </image> </assembly>
The main thing that's different here is that we've moved the required config to the LB. Furthermore, because we expect to be able to pass in a bunch of key/val pairs for the clients, we introduce the notion of a vector of key/vals. The semantics (I hypothesize) would be that the CE would group up all the ip addresses and ports from all the clients in the deployable which export the LBclient service, and present that as config to the LB instance.
<template> <name>LBtmpl</name> <base-os>RHEL5.5</base-os> <packages> <package>my-lb-software</package> ... <package>my-puppet-plugin-for-lb-software</package> </packages> ... </template>
In this case, we've also put the package which carries the config templates and puppet stuff in the LB image. Similar caveat to in Ex1, you can make the case that it should be part of the my-lb-software package. Or not.
Note also that in this model, my-puppet-plugin-for-lb-software doesn't do what it did in the other; this one walks the vector of incoming values, and populates lb.conf with them.
<assembly> <name>JBassy</name> <image> <name>JBtmpl</name> </image> <services> <provides> <service> <name>LBservice</name> <param> <name>ip-address</name> <value> <compute-from-instance key=eth0-address> </value> </param> <param> <name>port</name> <value><fixed value=80/></value> </param> </service> </provides> </services> </assembly> <template> <name>JBtmpl</name> <base-os>RHEL5.5</base-os> <packages> <package>jboss-server-app</package> ... </packages> ... </template>
Here, we've removed the requires, and added a provides in the JB assembly. This one is similar to the above, in that it says to pick the address assigned to the instance's eth0 at boot time, and fixes the port at 80.
For this scenario, the CE would again do dependency checking, except that it would come to a different conclusion. The 3 JB instances would be launched, enough to get their IP addresses, then the addresses and ports collected up and handed to the LB, which can then be launched.
Ex4: I have an app (App1) which wants to nfs-mount read-only something from a public server. It also wants to nfs-mount read-write something from some other server, as private data. I have two jboss server things, similar to above, and a load balancer which talks to them. All of App1 and the two JBs want access to a private network, which is provided by the backend infrastructure. Those three instances want to talk to each other over that private network.
We'll stipulate that the LB is software, and configured via registration, as in Ex1.
<template> <name>LBtmpl</name> <base-os>RHEL5.5</base-os> <packages> <package>my-lb-software</package> ... </packages> ... </template> <assembly> <name>LBassy</name> <image> <name>LBtmpl</name> <services> <provides> <service> <name>LBservice</name> <param> <name>config-ip-address</name> <value> <compute-from-instance key=eth0-address> </value> </param> <param> <name>config-port</name> <value><fixed value=8080></value> </param> </service> </provides> </services> </image> </assembly>
The JB template looks like the one in Ex1 as well. The assembly around it includes config for the VLAN. Yes, we could have put that in the template if we thought that made sense. Likewise we could have put the LB config in the assembly. There will need to be some best-practices dox written about all this stuff.
<template> <name>JBtmpl</name> <base-os>RHEL5.5</base-os> <packages> <package>jboss-server-app</package> ... <package>my-puppet-plugin-for-lb-software</package> </packages> ... <services> <requires> <service> <name>LBservice</name> <param> <name>config-ip-address</name> </param> <param> <name>config-port</name> </param> </service> </requires> </services> </template> <assembly> <name>JBassy</name> <image> <name>JBtmpl</name> </image> <services> <requires> <service> <name>VLAN</name> <param> <name>ip-address</name> </param> <vector> <param> <name>neighbor-instance-type</name> </param> <param> <name>ip-address</name> </param> </vector> </service> </requires> </services> </assembly>
The template and assembly for App1. This one is a bit more complicated, because it needs to describe two NFS mounts. For each of them, it needs five values: the server, base URI (the thing which is exportfs'ed, probably, though maybe not), the sub-URI, the mount point, and the mode. Perhaps we should not separate base URI and sub-URI?
It also references the VLAN, the same way the JBs do.
<template> <name>App1</name> <base-os>RHEL5.5</base-os> <packages> <package>app1-libs</package> <package>app1-core</package> ... <package>my-puppet-plugin-for-app1</package> </packages> ... <services> <requires> <service> <name>GlobalNFSApps</name> <param> <name>ip-address</name> </param> <param> <name>base-uri</name> </param> <param> <name>app-uri</name> </param> <param> <name>mount-point</name> </param> <param> <name>mount-mode</name> <value><fixed name=ro/></value> </param> </service> <service> <name>PrivateNFSApps</name> <param> <name>ip-address</name> </param> <param> <name>base-uri</name> </param> <param> <name>app-uri</name> </param> <param> <name>mount-point</name> <value><fixed value="/mnt/local"/></value> </param> <param> <name>mount-mode</name> <value><fixed value=rw/></value> </param> </service> <service> <name>VLAN</name> <param> <name>ip-address</name> </param> <vector> <param> <name>neighbor-instance-type</name> </param> <param> <name>ip-address</name> </param> </vector> </service> </requires> </services> </template> <assembly> <name>App1assy</name> <image> <name>App1tmpl</name> </image> </assembly>
We need a provider-config to describe the server(s) which will be used to satisfy the nfs services.
<providerconfig> <services> <provides> <service> <name>GlobalNFSApps</name> <type>nfs-server</type> <param> <name>ip-address</name> <value><fixed value="<IP_ADDRESS>"/></value> </param> <param> <name>base-uri</name> <value><fixed value="/var/storage/app"/></value> </param> </service> <service> <name>PrivateNFSApps</name> <type>nfs-server</type> <param> <name>ip-address</name> <value><fixed value="<IP_ADDRESS>"/></value> </param> <param> <name>base-uri</name> <value><fixed value="/var/misc"/></value> </param> </service> <service> <name>Our Cloud VLAN</name> <type>VLAN</type> </service> </provides> </services> </providerconfig>
And finally, the deployable which ties all these bits together.
<deployable> <assemblies> <assembly> <name>LB</name> <type>LBassy</type> <hardware-profile>small</hardware-profile> </assembly> <assembly> <name>App1</name> <type>App1assy</type> <hardware-profile>large</hardware-profile> <service> <name>VLAN</name> <param> <name>ip-address</name> <value><fixed value="<IP_ADDRESS>"/></value> </param> </service> <service> <name>GlobalNFSApps</name> <param> <name>app-uri</name> <value><fixed value="/app1-static-data"/></value> </param> <param> <name>mount-point</name> <value><fixed value="/mnt/foo"/></value> </param> </service> <service> <name>PrivateNFSApps</name> <param> <name>app-uri</name> <value><fixed value="/app1-dynamic-data"/></value> </param> <param> <name>mount-point</name> <value><fixed value="/mnt/bar"/></value> </param> </service> </assembly> <assembly> <name>JB1</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> <service> <name>VLAN</name> <param> <name>ip-address</name> <value><fixed value="<IP_ADDRESS>"/></value> </param> </service> </assembly> <assembly> <name>JB2</name> <type>JBserverassy</type> <hardware-profile>medium</hardware-profile> <service> <name>VLAN</name> <param> <name>ip-address</name> <value><fixed value="<IP_ADDRESS>"/></value> </param> </service> </assembly> </assemblies> <deployable>
A few interesting things about this one.
For the NFS servers, we've intentionally sprinkled the config around, to illustrate the point that in real life, you want to nail down some things here, nail down some more things at a different level of abstraction, and finally resolve the last bits at launch time. For instance if we were going to launch multiple instances of App1, we'd probably want to change their app-uri values to be computed from instance name or something similar. But we would leave the mount point the same.
The astute reader will observe that we've almost created a circular dependency for ourselves, with the VLAN config. In the case above, we're fixing all the IP addresses on the VLAN in the config, but that often won't be feasible in the real world. In many cases you'll have a situation where you want to launch a bunch of things, and want to tell all of them about their peers, but you don't what what information to propagate until they're launched.
For these kinds of cases, there will need to be some variety of checkin after launch. If all the instances check in with the mother ship, we're able to wait for all the checkins, then propagate the aggregate data back out to all the relevant consumers. There are already tools out there which do this kind of thing, for instance matahari. When we get to the point of launching these distributed apps, we can investigate integrating something like matahari in here, or possibly just build that functionality into the cloud engine proper.
There are some other issues which will need to be sorted out over time. The astute reader will also notice that in previous drafts we've put some parameters in a section called config. In this one it's all moved into services. I believe it can be made to work either way, but we might decide it makes more sense to treat config as a standalone construct. Or not.
Another construction which I believe we will need, but have not explored enough yet, is the notion of a provided service which requires a parameter. This will likely hair up the param syntax a bit, by explicitly specifying required/provided on each param, rather than doing it by implication as part of a required/provided service.
It would be good to have at least a little discussion of these points before we declare what we're building for rev1.
The point of all this is meant to be that we believe the model works. We claim that we can implement the simple parts of this (templates, singleton assemblies and deployables, single-instance config stuff) and have a decent level of confidence that it will extend to the more complex cases when we get there.
Finally, let's talk about the backend a bit. Ohad Levy has been kind enough to whip up some sample puppet scriptage which should illustrate how we could do the last mile (well, last few inches) of the config on a booting instance.
Here's an example of an sshd_config which is parameterized to allow for setting the port from outside.
Port <%= has_variable?("ssh_port") ? ssh_port : "22" %> <%# ssh_port rescue "22" -%> #AddressFamily any #ListenAddress <IP_ADDRESS> #ListenAddress :: # The default requires explicit activation of protocol 1 #Protocol 2 # HostKey for protocol version 1 #HostKey /etc/ssh/ssh_host_key # HostKeys for protocol version 2 #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key # Lifetime and size of ephemeral version 1 server key #KeyRegenerationInterval 1h #ServerKeyBits 1024 # Logging # obsoletes QuietMode and FascistLogging #SyslogFacility AUTH SyslogFacility AUTHPRIV #LogLevel INFO # Authentication: #LoginGraceTime 2m #PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 #RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys #PubkeyAgent none #PubkeyAgentRunAs nobody # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts #RhostsRSAAuthentication no # similar for protocol version 2 #HostbasedAuthentication no # Change to yes if you don't trust ~/.ssh/known_hosts for # RhostsRSAAuthentication and HostbasedAuthentication #IgnoreUserKnownHosts no # Don't read the user's ~/.rhosts and ~/.shosts files #IgnoreRhosts yes # To disable tunneled clear text passwords, change to no here! #PasswordAuthentication yes #PermitEmptyPasswords no PasswordAuthentication yes # Change to no to disable s/key passwords #ChallengeResponseAuthentication yes ChallengeResponseAuthentication no # Kerberos options #KerberosAuthentication no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes #KerberosGetAFSToken no # GSSAPI options #GSSAPIAuthentication no GSSAPIAuthentication yes #GSSAPICleanupCredentials yes GSSAPICleanupCredentials yes #GSSAPIStrictAcceptorCheck yes #GSSAPIKeyExchange no # Set this to 'yes' to enable PAM authentication, account processing, # and session processing. If this is enabled, PAM authentication will # be allowed through the ChallengeResponseAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via ChallengeResponseAuthentication may bypass # the setting of "PermitRootLogin without-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. #UsePAM no UsePAM yes # Accept locale-related environment variables AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE AcceptEnv XMODIFIERS #AllowAgentForwarding yes #AllowTcpForwarding yes #GatewayPorts no #X11Forwarding no X11Forwarding yes #X11DisplayOffset 10 #X11UseLocalhost yes #PrintMotd yes #PrintLastLog yes #TCPKeepAlive yes #UseLogin no #UsePrivilegeSeparation yes #PermitUserEnvironment no #Compression delayed #ClientAliveInterval 0 #ClientAliveCountMax 3 #ShowPatchLevel no #UseDNS yes #PidFile /var/run/sshd.pid #MaxStartups 10 #PermitTunnel no #ChrootDirectory none # no default banner path #Banner none # override default of no subsystems Subsystem sftp /usr/libexec/openssh/sftp-server # Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # ForceCommand cvs server
This is a pretty simple contrived example, but it should illustrate the basic mechanism we propose to use.


| PostgreSQL 9.5.19 Documentation | |||
|---|---|---|---|
| Prev | Up | Appendix E. Release Notes | Next |
Release date: 2017-08-31
This release contains a small number of fixes from 9.5.8. For information about new features in the 9.5 major release, see Section E.20.
A dump/restore is not required for those running 9.5.X.
However, if you are upgrading from a version earlier than 9.5.8, see Section E.12.
Show foreign tables in information_schema.table_privileges view (Peter Eisentraut)
All other relevant information_schema views include foreign tables, but this one ignored them.
Since this view definition is installed by initdb, merely upgrading will not fix the problem. If you need to fix this in an existing installation, you can, as a superuser, do this in psql:
SET search_path TO information_schema; CREATE OR REPLACE VIEW table_privileges AS SELECT CAST(u_grantor.rolname AS sql_identifier) AS grantor, CAST(grantee.rolname AS sql_identifier) AS grantee, CAST(current_database() AS sql_identifier) AS table_catalog, CAST(nc.nspname AS sql_identifier) AS table_schema, CAST(c.relname AS sql_identifier) AS table_name, CAST(c.prtype AS character_data) AS privilege_type, CAST( CASE WHEN -- object owner always has grant options pg_has_role(grantee.oid, c.relowner, 'USAGE') OR c.grantable THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable, CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy FROM ( SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class ) AS c (oid, relname, relnamespace, relkind, relowner, grantor, grantee, prtype, grantable), pg_namespace nc, pg_authid u_grantor, ( SELECT oid, rolname FROM pg_authid UNION ALL SELECT 0::oid, 'PUBLIC' ) AS grantee (oid, rolname) WHERE c.relnamespace = nc.oid AND c.relkind IN ('r', 'v', 'f') AND c.grantee = grantee.oid AND c.grantor = u_grantor.oid AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER') AND (pg_has_role(u_grantor.oid, 'USAGE') OR pg_has_role(grantee.oid, 'USAGE') OR grantee.rolname = 'PUBLIC');
This must be repeated in each database to be fixed, including template0.
Clean up handling of a fatal exit (e.g., due to receipt of SIGTERM) that occurs while trying to execute a ROLLBACK of a failed transaction (Tom Lane)
This situation could result in an assertion failure. In production builds, the exit would still occur, but it would log an unexpected message about "cannot drop active portal".
Remove assertion that could trigger during a fatal exit (Tom Lane)
Correctly identify columns that are of a range type or domain type over a composite type or domain type being searched for (Tom Lane)
Certain ALTER commands that change the definition of a composite type or domain type are supposed to fail if there are any stored values of that type in the database, because they lack the infrastructure needed to update or check such values. Previously, these checks could miss relevant values that are wrapped inside range types or sub-domains, possibly allowing the database to become inconsistent.
Fix crash in pg_restore when using parallel mode and using a list file to select a subset of items to restore (Fabrízio de Royes Mello)
Change ecpg's parser to allow RETURNING clauses without attached C variables (Michael Meskes)
This allows ecpg programs to contain SQL constructs that use RETURNING internally (for example, inside a CTE) rather than using it to define values to be returned to the client.
Improve selection of compiler flags for PL/Perl on Windows (Tom Lane)
This fix avoids possible crashes of PL/Perl due to inconsistent assumptions about the width of time_t values. A side-effect that may be visible to extension developers is that _USE_32BIT_TIME_T is no longer defined globally in PostgreSQL Windows builds. This is not expected to cause problems, because type time_t is not used in any PostgreSQL API definitions.
Fix make check to behave correctly when invoked via a non-GNU make program (Thomas Munro)


This is a p element, in the div element.
This is a span element in the p and the div element.
Note: Click on each of the elements above. When clicking on the div element, it will alert that the div element was clicked. When clicking on the p element, it will return both the p and the div element, since the p element is inside the div element. But when clicking on the span element, it will only return itself, and not the p and the div element (even though its inside these elements). The event.stopPropagation() stops the click event from bubbling to the parent elements.
Tip: Try to remove the event.stopPropagation() line, and click on the span element again (the click event will now bubble up to parent elements).


---
layout: post
title: 'A ChEMBL ''How To'': Drug Mechanism of Action and Shared Protein Domains'
date: '2014-07-09T13:33:00.000+01:00'
author: Louisa
tags:
modified_time: '2014-07-09T13:33:24.282+01:00'
thumbnail: http://2.bp.blogspot.com/-wLSoWzk5HxY/U7brN-_FD3I/AAAAAAAAAMI/W7dLmPG8CuU/s72-c/Dragon+Fly+Origami.jpg
blogger_id: tag:blogger.com,1999:blog-2546008714740235720.post-1242941555437855045
blogger_orig_url: https://www.blogger.com/comment.g?blogID=2546008714740235720&postID=1242941555437855045
---
Shared Protein Domains
In the ChEMBL database, we have a table called 'Domains' which has a list of identified protein domains; for example, CK_II_Beta or Rho-GEF. This table can be used, in conjunction with some of the other protein component and target tables, to access proteins with similar domains.
One way to utilise these tables is to find all of the compounds which have favourable IC50 activity against these proteins. Obviously, the favourable activity may not be due to binding to the shared domain, but it's a useful look at the available data.
So, an example of how to link these tables together is shown below, using a query of the
SH3_1 domain. It will bring back all the compounds which have an IC50 of less than 50nM.
select distinct md.molregno, md.chembl_id, md.pref_name, td.tid, td.pref_name, dom.domain_name
from chembl.domains dom,
chembl.component_domains cd,
chembl.target_dictionary td,
chembl.target_components tc,
chembl.assays ass,
chembl.activities act,
chembl.molecule_dictionary md
where cd.domain_id = dom.domain_id
and cd.component_id = tc.component_id
and tc.tid = td.tid
and td.tid = ass.tid
and ass.assay_id = act.assay_id
and act.molregno = md.molregno
and dom.domain_name like 'SH3_1'
and act.standard_type = 'IC50'
and act.standard_value < 50
and act.standard_units = 'nM'
I hope that this is useful for you!
Both of these guides will be posted into our FAQs in the near future.
Any questions or queries about this, or suggestions for other 'tips and tricks' please feel free to contact
chembl-help@ebi.ac.uk


@JvmStatic fun createCardParams(card: Card): SourceParams
Create Card Source params.
card - A Card object containing the details necessary for the source.
card
Return a SourceParams object that can be used to create a card source.


Sat Nov 6, 2010
This is a personal blog. Having read that sentence, you might be inclined to click away in disgust. I won’t blame you. In fact, I hope that is exactly what you do. I’m not really writing this stuff for your enjoyment - it’s more for mine.   I just want you to know that this could be mind-numbingly boring for you. It could be trivial and a waste of your precious time. It could be all you read is about what I ate for breakfast or how crap the traffic is, or an inane exploration of some minutia that wouldn’t even tickle your grandma’s fancy. As long as I know that and you know that, then we’re cool.


Loading blog
Grab a Starter Kit and start building!
To create new blog
Welcome, {{ $root.user.displayName }}


This element should return an aspect ratio of 4:3 or 0.75
This element should return an aspect ratio of 5:4 or 1.25


Sensei Query Console
Enter query:
select * from cars browse by (color:(true,1,5,hits),category:(true,1,5,hits))
Facets
Results


Design, train, and accelerate your neural network-powered artificial intelligence projects.
HKUST, 27 July 2017
Register NowNVIDIA Deep Learning Institute in partnership with HKUST Big Data Institute are excited to announce this 1-day practical deep learning workshop on 27 July, 2017.
Deep learning is a hot topic in both academia and industry since it has recently dramatically improved the state-of-the-art in areas such as speech recognition, computer vision, predicting the activity of drug molecules, and many other machine learning tasks. The basic idea in deep learning is to automatically learn to represent data in multiple layers of increasing abstraction, thus helping to discover intricate structure in large datasets.
The 1-day workshop will provide excellent opportunity to learn fundamentals of deep learning, starting from basic workflows in deep learning, using TensorFlow for building intelligent applications, as well as practical acceleration solutions for large-scale TensorFlow deployments.
TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organization. The system is designed to facilitate research in machine learning, and to make it quick and easy to transition from research prototype to production system.
TensorFlow's flexible architecture allows you to deploy computation on everything from multiple CPUs or GPUs to a mobile device with a single API’. Scalability and flexibility of TensorFlow is one of the main advantages it holds over competing frameworks.
Participant of both workshop labs will be awarded certificate of completion. Enroll now to learn everything you need to design, train, and integrate neural network-powered artificial intelligence into your applications using TensorFlow.
Please register and follow the payment procedure here. All participants need to have a confirmed ticket in order to attend the afternoon lab session. The first 20 registered HKUST student will be each given a free ticket to the afternoon lab session.
| Time | Event | Location |
|---|---|---|
| 9:30-10:00 | Check-in | LTF |
| 10:00-10:20 | Opening | LTF |
| 10:20-11:00 | Deep Learning, AI Revolution - The Next Computing Paradigm | LTF |
| 11:00-11:40 | Deep Learning Research In HKUST BDI | LTF |
| 11:40-13:00 | Lunch break | |
| 13:00-13:30 | NVIDIA Deep Learning Overview | Rm1505 |
| 13:30-15:00 | Deep Learning Workflows with TensorFlow, MXNet and NVIDIA-Docker | Rm1505 |
| 15:00-15:20 | Break | |
| 15:20-17:00 | Image Segmentation with TensorFlow | Rm1505 |
| 17:00-17:30 | Q & A Session | Rm1505 |
Morning Session: Leung Yat Sing Lecture Theater (LTF, Lift 25/26), Academic Building, HKUST
Afternoon Session: Room 1505 (Lift 25/26), Academic Building, HKUST
All participants need to have a confirmed ticket in order to attend the afternoon lab session. To obtain a confirmed ticket before the evnet, payment should be made via bank transfer, and transfer details are listed below. The first 20 registered HKUST student will be each given a free ticket to the afternoon lab session.
Walk-ins are welcomed for the afternoon session if there's available seats. Payment for walk-in are collected at the entrance of lab session venue (Rm 1505).
| Bank Name | HSBC |
| Account No | 541-165577-001 |
| Account Name | Image Media Services Company |
| Fee (per seat) | HKD 800 |
| Payment Deadline | July 21, 2017 Friday |
After payment transfer, please email on or before July 21 the copy of your bank transfer receipt, your full name and mobile phone number to the below email for confirmation and to obtain the entrance ticket.
E-Mail: sharone@imagemediatw.com


Thank you for joining Panda Print!
You'll recieve a message from us soon.
In the meantime, please add our number to your contacts: Panda Print<PHONE_NUMBER>


Home page
Go to Page 2
Page 2
Page 2 is lonely
SEND A MESSAGE
Go to Page 3
Page 3
This is page 3
Pick This


Interface IUnitOfWork<TAccounts, TCharacters>
Interface for units of work that target the Fibula project.
Inherited Members
System.IDisposable.Dispose()
Namespace: Fibula.Data.Contracts.Abstractions
Assembly: Fibula.Data.Contracts.dll
Syntax
public interface IUnitOfWork<TAccounts, TCharacters> : IDisposable where TAccounts : IAccountEntity where TCharacters : ICharacterEntity
Type Parameters
| Name | Description |
|---|---|
| TAccounts | The type of account entities. |
| TCharacters | The type of character entities. |
Properties
| Improve this Doc View SourceAccounts
Gets the repository of accounts.
Declaration
IAccountRepository<TAccounts> Accounts { get; }
Property Value
| Type | Description |
|---|---|
| IAccountRepository<TAccounts> |
Characters
Gets the repository of characters.
Declaration
ICharacterRepository<TCharacters> Characters { get; }
Property Value
| Type | Description |
|---|---|
| ICharacterRepository<TCharacters> |
Methods
| Improve this Doc View SourceComplete()
Saves all changes made during this unit of work to the persistent store.
Declaration
int Complete()
Returns
| Type | Description |
|---|---|
| System.Int32 | The number of changes saved. |


Tallahasse Ultradistance Classic
Tallahasse FL/USA
50 km winners
(33 runnings)
4:14:19 3:39:52 4:05:40 4:52:44 08 Dec 2007
3:30:25
4:44:39
09 Dec 2006
3:18:55
4:43:14
10 Dec 2005
3:55:07
4:38:07
11 Dec 2004
3:50:10
4:03:10
13 Dec 2003
3:51:58
7:11:58
14 Dec 2002
3:51:46
4:30:57
08 Dec 2001
3:35:11
3:57:03
09 Dec 2000
3:52:44
4:29:56
11 Dec 1999
3:49:06
4:51:00
12 Dec 1998
3:44:58
3:46:25
13 Dec 1997
3:54:00
4:10:55
1996
3:42:29
4:04:17
1995
3:36:48
3:57:21
1994
2:54:11
3:50:00
1993
3:44:12
5:22:17
1992
3:43:38
1991
3:40:25
3:57:11
1990
---
---
09 Dec 1989
3:24:30
3:44:21
10
Dec 1988
3:21:46
4:06:39
12
Dec 1987
3:06:52
4:19:23
13
Dec 1986
3:09:25
4:19:28
14
Dec 1985
3:21:04
4:15:13
15
Dec 1984
3:25:29
3:53:05
17 Dec 1983
2:53:45
3:13:51
11 Dec 1982
2:51:53
3:56:13
Notes: 1982 was the first year the 50 km was held.
12 Dec
2015
3:25:21
Charlie Johnson (FL/USA)
4:28:51
Laura McDermott (FL/USA)
13 Dec
2014
3:52:56
Jack McDermott-2
4:45:54
Jennifer Shafer (USA)
14 Dec
2013
3:41:28
Daniel Nix (AL/USA)
4:19:43
Katie Sherron (FL/USA)
08 Dec 2012
3:44:50
John Robida (FL/USA)
4:09:08
Ruth Levy (FL/USA)
10 Dec
2011
3:39:47
Pete Kaplan (NC/USA)
Kristine Cox (FL/USA)
11 Dec
2010
3:28:16
Cameron Wheeler (FL/USA)
Allison Eagen (FL/USA)
12 Dec
2009
3:43:22
Jon Williams (FL/USA)
Jane Johnson (FL/USA)
13 Dec
2008
3:36:01
Jack McDermott (FL/USA)
Kirsten Baggett (FL/USA)
Thierry Asselin (ON/CAN)
Olivia Swedberg (FL/USA)
Colin Deasy (ENG)
Susan Lance (GA.USA)
Fred Johnson (SC/USA)
Joan Messick (DE/USA)
Bill Hillison-8
Kelly Murzynsky-2
Bill Hillison-7
Susan Boardman (FL/USA)
Bill Hillison-6
Sandy Powell (VA/USA)
Tim Lee (AL/USA)
Kelly Murzynsky (GA/USA)
Dave Drach (FL/USA)
Kristen Hooper (FL/USA)
Bill Hillison-5
Kathleen Daumer (FL/USA)
Scott Ludwig (GA/USA)
Jane Johnson (FL/USA)
Bill Hillison-4
Kari Larsen (FL/USA)
Bill Hillison-3
Paula Johnson-4
David Yon (FL/USA)
Carrie Weyant (FL/USA)
John Viitanen (USA)
Paula Johnson-3
Bill Hillison-2
Delia Brewster
Bill Hillison (FL/USA)
.
Thomas Buchanan
Paula Johnson-2
not held
not held
Joe Burgasser (FL/USA)
Paula Johnson (FL/USA)
Tom Burr
Shelley Tyler
John Devine
Mary Hanundel (USA)
Mark Dorion (USA)
Mae Cleveland-2
Ron Crawford
Mae Cleveland (USA)
John Cantwell
Donna Miller
Barney Klecker-2
Janis Klecker (MN/USA)
Barney Klecker (MN/USA)
Kathe Brookover
Most Wins
(1982-date)
Men
8
Bill Hillison (FL/USA)
1992-93,1996-97,1999,2002-04
Women
4
Paula Johnson (FL/USA)
1989,1991,1994,1996
7:39:09 7:33:52 7:58:10 8:50:31 08 Dec
2007
6:41:23
7:21:48
09 Dec 2006
7:17:49
7:30:37
10 Dec 2005
7:41:53
7:23:14
11 Dec
2004
5:24:45
8:41:40
13 Dec 2003
7:11:53
9:56:26
14 Dec 2002
6:54:21
08 Dec
2001
7:35:27
7:41:24
09 Dec
2000
8:06:14
7:07:11
11 Dec
1999
5:57:32
6:38:02
12 Dec 1998
6:28:19
9:22:57
13 Dec 1997
7:33:37
9:03:46
1996
6:54:01
1995
7:19:35
1994
6:55:40
1993
6:22:08
8:59:19
1983-1992
---
---
11 Dec 1982
5:14:40
10:47:54
09 Jan 1982
5:39:43
8:15:45
1981
---
1980
6:27:05
50 mile winners
(26 runnings)
Notes: 1980 was the first year the 50 mile was held. The race distance in 1996 was 80 km (49.71 miles).
12 Dec
2015
6:50:50
Mark Tombrink
(FL/USA)
8:29:05
Holly Bohensky
(PA/USA)
13 Dec
2014
6:52:08
Ferit Toska-3
7:17:57
Madeleine Zolfo-2
14 Dec
2013
6:45:12
Ferit Toska-2
7:03:01
Madeleine Zolfo (FL/USA)
08 Dec
2012
6:34:53
Ferit Toska (FL/USA)
8:16:09
Chrissy Coutts (FL/USA)
10 Dec
2011
6:18:45
Sung-Ho Choi (FL/USA)
Amy Costa-4
11 Dec
2010
6:26:07
Dann Fisher-3
Amy Costa-3
12 Dec
2009
6:48:43
Dann Fisher-2
Susan Lance (GA/USA)
13 Dec
2008
6:48:14
Dann Fisher (KS/USA)
Ann Burke-2
Jack McDermott (FL/USA)
Amy Costa-2
Blaine Broadbridge (FL/USA)
Amy Costa (FL/USA)
Mitsuhito Tsuchida (GA/USA)
Linda Mason-2
Chad Ricklefs (CO/USA)
Ann Burke (FL/USA)
Fred Johnson (FL/USA)
Kathleen Wheeler-2
Pete Hendrickson (GA/USA)
.
Dana Stetson (FL/USA)
Linda Mason (FL/USA)
Gary Griffin (FL/USA)
Nancy Drach-2
Michael Peck (FL/USA)
Nancy Drach (FL/USA)
David Allison (SC/USA)
Peggy Lanier-2
Gordon Hawkins-3
Kathleen Wheeler (FL/USA)
Ray Krolewicz (SC/USA)
Gordon Hawkins-2
Gordon Hawkins
Richard Schick
Peggy Lanier (AL/USA)
not held
not held
Frank Bozanich (CA/USA)
Lydi Pollares (FL/USA)
Kenneth Lord
Rosemary Desloges
not held
Dave Sheffield
Most Wins
(1980-date)
Men
3
Gordon Hawkins
1994-95,1997
Dann Fisher (KS/USA)
2008-10
Women
4
Amy Costa (FL/USA)
2006-07,2010-11
100 km winners
(11 runnings)
1992
9:09:00
11:27:08
1991
9:01:14
1990
---
09
Dec 1989
7:21:20
10 Dec 1988
7:58:03
10:37:24
12 Dec 1987
8:19:20
9:02:52
13 Dec 1986
7:47:00
14 Dec 1985
7:29:05
10:48:31
15 Dec 1984
7:19:53
9:43:03
17 Dec 1983
7:31:01
10:34:29
11 Dec 1982
7:25:13
09 Jan 1982
8:57:57
Notes: 1982 was the first year the 100 km was held. A 100 mile race was also held in 1985, won by Ray Krolewicz
(SC/USA) in 14:57:26 and Sandra Kiddy (CA/USA) in 15:12:54.
Gordon Hawkins-2
Peggy Lanier
Gordon Hawkins
not held
Rick Clark
Richard Schick-2
Joan Hyde
Richard Schick
Sue Ellen Trapp (FL/USA)
Steve Warshawer-2
.
Rich Westbrook
Joan Baker
Steve Warshawer (USA)
Vicki Johnson (USA)
Rick Alderfer (USA)
Melissa Uchitelle
Ray Krolewicz (SC/USA)
John Hesselbart
Most Wins
(1980-date)
Men
2
Steve Warshawer (USA)
1984,1986
.
Richard Schick
1987-88
.
Gordon Hawkins
1991-92
Women
No woman has won this event more than once.
Prize Money
(ADR qualified runners)
No information on prize money has been received for this race.
Race Time Bias
(sec/km)
The race time bias is not calculated for distances beyond 45 km.
Competitive Level
(1990-date)
Insufficient data to calculate the competitive level.


#include <btSimpleBroadphase.h>
Public Member Functions | |
| virtual void | calculateOverlappingPairs (btDispatcher *dispatcher) |
| calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb | |
| virtual void | getBroadphaseAabb (btVector3 &aabbMin, btVector3 &aabbMax) const |
Protected Member Functions | |
| virtual void | resetPool (btDispatcher *dispatcher) |
| reset broadphase internal structures, to ensure determinism/reproducability |
Definition at line 49 of file btSimpleBroadphase.h.
| virtual void btSimpleBroadphase::getBroadphaseAabb | ( | btVector3 & | aabbMin, | |
| btVector3 & | aabbMax | |||
| ) | const [inline, virtual] |
getAabb returns the axis aligned bounding box in the 'global' coordinate frame will add some transform later
Implements btBroadphaseInterface.
Definition at line 155 of file btSimpleBroadphase.h.
00156 { 00157 aabbMin.setValue(-BT_LARGE_FLOAT,-BT_LARGE_FLOAT,-BT_LARGE_FLOAT); 00158 aabbMax.setValue(BT_LARGE_FLOAT,BT_LARGE_FLOAT,BT_LARGE_FLOAT); 00159 }


{{< layout}} {{$pageTitle}}Upload your photo{{/pageTitle}} {{$header}}
It looks like you've been away from your device for 30 minutes.
When this happens, we can't save what you've done so far. You'll need to start again.


--- layout: post status: publish published: true title: Will automation cost me my job? author: display_name: neil login: neil email<EMAIL_ADDRESS>url: '' author_login: neil author_email<EMAIL_ADDRESS>wordpress_id: 113 wordpress_url: https://www.millardtechnicalservices.co.uk/?p=113 date: '2016-10-04 12:17:14 +0000' date_gmt: '2016-10-04 11:17:14 +0000' categories: - Development tags: - staff - morale comments: [] ---
One of the biggest concerns I hear from staff at the companies we're helping is, Will I have a job if everything is automated?
This question was also asked on stackexchange.
The biggest assumption and probably the cause of the question, is the short term nature that many people see the world.
I have found that experience and time grows the horizon which you see and as your viewpoint lifts, you can see further into the future. Starting with days, then weeks and months.
In the answers referenced above are references to assumptions about what is happening now and what could be in the pipeline of work to do. If you are aware of the vision for the organisation, then it is unlikely this question will show up.
Growing organisations are always moving forward, improving processes and this includes automation. If you have the skills to grow and improve the business, then you are exactly the sort of person the business will want to hang on to.


2-Heads CNC TAP Tool
File 1: (Asse Z)
File 2: (Asse A)
File 3: (Asse Z - Opzionale)
Interasse Teste
Unisci i file


In Antarctica, tourists swim among penguins
HALF MOON ISLAND, Antarctica: "It's like getting stabbed," a tourist exclaims as he plunges into the three degree Celsius water, all under the intrigued gaze of a group of penguins.
All around Half Moon Island, off the Antarctic Peninsula, blocks of ice of all sizes float by on a calm sea, their varying forms resembling weightless origami shapes.
To reach the Antarctic destination the 58-year-old Norwegian, Even Carlsen, travelled 14,000km, and spent thousands of euros.
Mostly indifferent to the bipeds donning neon-coloured windbreakers, wildlife abounds in the deafening silence of the icy landscape.
All around are penguins, as awkward on land as they are agile in water. Massive and majestic whales slip through the waves, and sea lions and seals laze in the sun.
Antarctica, a land of adventure without rulers, is "like the heart of the Earth", according to Marcelo Leppe, director of the Chilean Antarctic Institute.
He said it expands and contracts like a beating heart, while the mighty current which revolves around the continent is like a circulatory system absorbing warm currents from other oceans and redistributing cold water.
But this long tongue of land that stretches towards South America is warming rapidly. Its glaciers are melting and its ecosystem has been invaded by microplastics carried by currents.
"KEEP NOTHING BUT MEMORIES"
Tourists are also flocking to the area in greater numbers. This season nearly 80,000 visitors are expected, a 40 per cent increase compared to last year.
Antarctic tour operators however insist they are promoting responsible tourism.

Even Antarctica's vulnerability is attracting more visitors, with tourists hoping to catch a glimpse of what one day might be gone.
But critics question this sort of tourism, as the emissions from world-crossing flights and soot or black carbon in the exhaust gases of cruise ships are part of what is putting the region under threat.
On Half Moon Island, chinstrap penguins - named for the black stripe on their chin - strut about in the spring breeding season, raising their beaks and screeching from their rocky nests.
"This is to tell other males 'this is my space' and also, perhaps, 'this is my female'," ornithologist Rebecca Hodgkiss tells AFP.
The colony of 2,500 penguins has been gradually declining over the years. It is not known if it is the fault of humanity.


JavaScript must be enabled.
How to Play:
Pick a number from 1–60.
Determine exactly which of the six boxes contain your number.
Tell the other player which boxes those are without saying your number.
If the other player knows the solution to this game, then they should be able to determine which number you picked within seconds.
Pick a number from 1–60:


 An excessive use of that functionality will most probably lead to a blocked API key. Additionally, the cache will update itself every midnight on its own so press this button with caution. (We are logging your IP address)
Profiles
{{profiles}} ({{unified_profiles}} unique)
Documents
{{documents}} ({{unified_documents}} unique)
Fields
{{fields}} ({{field_links}} links)


Select a board column and swimlane to move your work item.
Board column
Doing or Done
Doing
Done
Swimlane


An example:
goto hello end :hello echo Hello world!
When you hoover your mouse over the hello call in first script line and press CTRL a link to the label "hello" appears where you just can click and open the label.
CTRL


{{phone1.description}}
{{phone2.description}}
| {{phone1.name}} | {{phone2.name}} | |
|---|---|---|
| Availability and Networks | {{availability | notAvail}} | {{availability | notAvail}} |
| Battery |
|
|
| Storage and Memory |
|
|
| Connectivity |
|
|
| Android |
|
|
| Size and Weight |
|
|
| Display |
|
|
| Hardware |
|
|
| Camera |
|
|
| Additional Features |
|
|


Plastic Fern is a multi-faceted studio that provides tools, insights, and deliverables to help you ship your game. From porting to release management, audio and QA, our veteran team has vast experience across nearly all platforms, and understands the intricacies involved with launch. We believe in building relationships collaborative with our clients, fostering clear and honest communication while saving you time, money, mistakes, and hassle.
Collaboration
We work with you to understand the best solutions for your game, and communicate those clearly to help maximize time and budget.
User Experience First
We believe in looking at the game from a holistic lens, ensuring that our work bolsters the authentic player experience you’re looking to create.
Transparency
An honest relationship is paramount to success. We will always be honest with you and with ourselves about timelines, concerns, or questions that arise.
Working on Projects We Believe In
We know that if we work on games, and with companies we believe in you’ll get our best work product. We’re particularly passionate about games and companies that bolster underrepresented voices.
Employee Well-Being
We’re firmly against crunch culture and know that our employees deserve to be compensated fairly for the work they do in order to create a culture we believe in and provide our best work possible.
Plastic Fern is the rare team that I know I can plug into a problem that seems insurmountable or tight and get it done with top-level quality. Friendly, responsive, and great to work with, they come extremely recommended
Syrenne McNulty, Producer
iam8bit
"Without Plastic Fern Studios, porting our game and getting it through cert would have been a miserable nightmare hellstorm. With them, everything was not that. Draw your own conclusions"
Wyatt Bushnell, Co-Founder
Coin Crew Games
I cant recommend Jay and the team at Plastic Fern enough. Their attention to detail, communication, knowledge and work quality are S tier in our books. And above that, they were just great people to work with and that isn't always the case in our industry.
Ryan Holowaty, COO
Noodlecake
They seemed like members of the team who had been working in the project for years after only a few weeks. On top of being technical wizards, the team was also a pleasure to work with. We will unquestionably be using their services for future projects.
Rich Siegel, Founder
Cleaversoft
While Untitled Goose Game is all about chaos and causing problems, on the software side we wanted quite the opposite. Plastic Fern helped us feel confident that the Goose was polished and perfect, taking a huge weight off our collective shoulders.
Cabel Sasser, Co-founder
Panic, inc.
The Plastic Fern folks are amazingly thorough, precise, and flexible. We've been super impressed!
Jamie Cheng, Founder
Klei Entertainment
Releasing your first commercial game is scary. Getting through console submission is scarier. I learned so much about proper QA and certification working with Plastic Fern, and I hope we never have to go through launching a game without them!
Corey Warning, Co-founder
Rose City Games
Plastic Fern provides highly experienced, intelligent, and responsive testers. They jump right into the communication tools / databases our team uses and provide daily communication, giving our team with the support we need, on demand.
Gavin Simon, Co-founder
Supergiant Games
Plastic Fern was friendly and easy to work with. Their communication was helpful and provided different ways for us to approach the title. They ended up being a super high value for us!
Zach Johnson, Co-founder
Space Mace Games
Invaluable through the submission process for Vane and talented at finding bugs in the nooks and crannies. Thanks to their help, Vane passed PS4 submission on the first try and they were great at rolling with our irregular schedule. Given the chance, I'd hire Jay and his team in a heartbeat.
Matt Smith, Co-Founder
Friend & Foe
The PF team slotted right in with our team on both a personal and business front helping bring Stonefly to every console. They were incredibly patient and flexible which was important to us as a small publisher working with independent devs.
Nick Ahrens, Senior Producer
MWM Interactive
They have more knowledge than any other studio I've worked with, allowing them to make better judgement calls and their results have led to the deepest level of trust I've ever built with a partner team.
Morgan Wren, QA/Production
Supergiant Games (Previous)
Working with Plastic Fern was painless! I got detailed reports as I needed them and never felt out of the loop with the issues the team was finding. I liked their transparency in process, fair pricing, thorough testing, and open communication!
Dave Proctor, Producer
Graffiti Games (Previous)
Plastic Fern helped us go from never having launched a console game at all, to nailing a multi-platform sim ship across every major platform. I would absolutely recommend them to basically anyone.
Megan Fox, Founder
Glass Bottom Games
Let's talk about your next project, help you finish out a current one, or chat about what we can help your game with!
We'll be sharing some pretty great info soon that might help you and your team! Sign up below so you can be a part of our quarterly newsletter if you're interested in tips, discussions, pitfalls, and other things we've learned from over a decade's experience of game releases!


Siri provides a new natural language, spoken, conversational interface for inquiring about and obtaining information. Brings up relevant information cards and links out.
Google provides information in a very readable and concise manner for certain search terms (e.g. "voting in Massachusetts").
Crowd sourcing information that changes non-regularly and fairly frequently could be a potentially useful way to create a community and keep information up to date.
Good design, easy to use. Provides way to interact through petitions.
News website that does a great job at explaining difficult concepts in a very visual manner.
Manages a large set of data that changes very often in a way that is easily accessible for the majority of people.
Provides access to large government datasets in a searchable way. More of a direct competitor than inspiration as it doesn't do its job amazingly.
Revamped government website that provides relevant and recent information in an easy to navigate and visually pleasing manner.
Scan ticket to see route to gate. New forms of input.
Easy interface to see if you are registered to vote, and to guide you through the process.
Connect to a random Swede. Get different perspectives.
Boston city hall to go lets people accomplish their government tasks without going to city hall. It comes to them.
Has a large search box front and center, with trending search terms below. Makes it easy to go directly to what you're looking for.
Found in the lobby of a building. Shows which companies, offices, departments, etc. are in the building and where they are located.
An immigration website that currently exists. Though the design is not current or accessible, this is our starting point for content and information.
Has a little robot chat that asks you what you need help with and with what. Makes navigation feel a little more human and friendly (even though it's just a bot).
A communications design agency that make accessible brochures and media. They've done several brochures for immigrant parents to learn and get involved in their kids' schools. Done in multiple languages and shown with colors for kids.
Has an easy to understand interactive U.S. map with voting information for each state.
Autofills your information onto the voter registration form, that you can then print and send out.
Using natural language, you can ask Siri anything and it will try to bring up the relevant information. Having a personality and the ability to speak in complete sentences makes Siri easy to communicate with. There are troubles that arise from using Siri in public, as we are often not as comfortable talking to a computer in front of others. Siri also pulls relevant information cards that give a visual addition to the audio that is spoken. These interactive cards provide a clean and uncluttered interface. There is also an option to get more information and link out to other resources if you cannot find the information you are looking for in the simplified version.
Wikipedia is an example of how crowdsourcing information can be extremely successful and powerful. Even though no single person is responsible of keeping track of the information, Wikipedia pages remain incredibly up-to-date and relevant. This is because Wikipedia has a huge community of passionate users who maintain the information. Crowdsourcing information about immigration could be a way to keep the information up to date, potentially in multiple languages. The downside of crowdsourcing is that it can be hard to get off the ground and may not always be consistent. Wikipedia's homepage is also extremely language and user friendly, with many options for languages immediately displayed and a search bar that usually brings the user directly to a page with information. Taking cues from Wikipedia by having many languages up front and search bar navigation may help us to create a user friendly interface. Each of Wikipedia's pages, however, are often very dense with text and not necessarily the easiest to read.
Touchscreen building directories are great examples of how to provide strictly relevant information via a simple, intuitive interface. They typically reside in the lobbies of large, commercial buildings and list the names of businesses within the building and the floors and suite numbers at which they reside. They will usually also show the locations of restrooms, telephones, cafeterias, parking, and other services within the building. In some cases, they even show a weather forecast, which can be useful for commuters planning their trip home or their trip to work the next day. The touchscreens themselves are large, and their interfaces typically include a list of every business and service within the building. The combination of convenient location, limited information, and intuitive interface means that you don't have to go searching for the information you need -- it's just there. We can draw inspiration from these qualities, as this is the kind of experience we want to emulate in our project.
With Google search, all questions you have can be answered in a generally definitive way. If I were to type a question such as "what is the weather," Google search presents the "best" answer in a card at the top of the page, giving me a clear, direct answer to the question I asked. "Best" is still relative, however, as what makes it into the card is either a Google tailored graphic, like for the weather question, or content from the top response. However, to the user it feels as if Google knows what question was asked and tailored its display accordingly. Also even if I leave off information necessary to answer the question asked like my location, Google search will still be able to answer it by pulling in more information than I provided in the search bar. For our concept, users should feel the answers we provide are definitive in this same way. That might mean we want to borrow the concept of a card containing the "best" answer or something similar to this. We might also want to use similar dynamic graphics or visualizations in our product as those help provide more details to the user.
The Work Dept speaks to the accessibility component of our project. The Work dept is a women-led design consultancy based in Detroit, that makes complex information easy to understand. Their chart below visualizes a family's qualification for several financial aid options. The infographic is friendly (bright colors and happy emojis) and accessible (large fonts and simple wording).
The Work Dept. also works directly with our user group. Many of their past works are targeted to low income, immigrant parents. These projects are both in both English and Spanish (an example is shown below). This is a reminder to us that having multiple languages is very important to our product.


Views¶
View is the blueprint of generic properties of any Screen.
View is exclusively bind with a Screen and inclusively bind with a controller. See Architecture for further details.
Currently, PrimitiveFXMVC only has one view and that is called GenericView.
GenericView¶
GenericView is an abstract class for general purposed views. It has properties as;
- Base Directory (private static String baseDir): baseDir holds a directory name to look under in classpath for Screen files (FXML files). Default: “screens”
- Global Icon (private static Image globalIcon): globalIcon is the default icon for any View that is instantiated.
- Screen Name (private String screenName): screenName holds the name of view. It automatically adds “.fxml”, so ensure not using it. For instance, “MainScreen.fxml” file’s screenName is “MainScreen”.
- Title (private StringProperty title): title is the title of the view’s window.
- Icon (private Image icon): icon is the icon of the view’s window. If empty, global icon will be used.
- Width/Height (private int width/height): Width and height of the view’s window.
- Decoratedness (private boolean decorated): Is window decorated? Default: true
- Resizability (private boolean resizable): Is window resizable? Default: true
- Modality (private boolean modal): Is window modal? Default: false
- Maximizedness (private boolean maximized): Is window maximized? Default: false
GenericView has a standard bean definitions, so these properties can be changed or updated with getters and setters.
Examples¶
Consider the following example:
public class MainView extends GenericView {
public MainView() {
GenericView.setBaseDir("screens"); // this is default. it will look a folder called "screens" under classpath root.
this.setViewName("MainScreen"); // this will automatically find MainScreen.fxml
this.setTitle("Welcome");
this.setWidth(640);
this.setHeight(480);
this.setResizable(false);
}
}
In this example, we create a view called MainView and setting title, width, height, resizability and its screenName. Below, you can see how we instantiate and create Scene and Stage out of our view:
GenericView mainView = new MainView();
Scene mainScene = mainView.createScene();
Stage mainStage = mainView.createStage();
Highlights¶
- You can change static baseDir property of GenericView at any time for it to check any specific directory under the classpath.


commoner compared to leukaemia
incraseing in incidence
mostly characterised by lymphomatous growth
primary extranodal in 20% NHL
classified on basis of histological appearance
Differential diagnosis of cervical LN enlargement
-
Infections
-
acute
-
pyogenic infections
-
EBV
-
toxoplasmosis
-
CMV
-
infected eczema
-
cat scratch fever
-
viral…
-
-
-
chronnic
-
Tb
-
syphilis
-
sarcoidosis
-
HIV
-
-
Autoimmune
- RA
-
Drug reactions
- Phenytoin
-
Primary lymph node malignancies
-
Secondary malignancy
-
Kawasaki syndrome
Hodgkin’s lymphoma
-
rare disease
-
3 / 100 000
-
M>F
-
epidemological data - links EBV with HL
-
Reed-Sternberg cell in lymph node biopsy
- usually B-cells but occ. T cells (periphery)
-
symptoms / signs
-
Lymph node enlargement
-
hepatoplenomegaly
-
systemic “B” symptoms
-
other constitutional symptoms
-
pruritis
-
fatigue
-
anorexia
-
-
etoh induced pain at site of enlarged lymp nodes
- symptoms due to involvement of other organs
-
-
investigations
-
LN biopsy
-
blood count
-
ESR
- indicator of disease activity
-
LFTs
-
lactaate dehydrongenase (LDH)
- raised = adverse prognostic factor
-
uric acid
-
CXR
-
BM aspirate/trephine
-
non-Hodkin’s lymphoma
-
most (70%) of b-cell origin
-
30% T-cell origin
-
associated with EBV 10-30% of tumours
-
clinical features
-
peripheral lymphaedeonpathy
-
systemic symptoms
-
extranodal presentation
-
more common compared to HL
-
abdominal = hepatosplenomegaly
-
skin =
-
mycosis fungoides
-
T-cell lymphoma
-
-
Sezary syndrome
- AKA redman syndrome
-
-
-
-
prognostic factors:
-
age >60
-
advanced disease
-
High serum LDH
-
ECOG 2>
-
more than one extranodal site involvement
-
-
most common AIDS defining malignancy
- Burkitt’s
Follicular lymphoma
-
20%
-
most present feeling well
-
remitting and recurring disease
Diffuse large B cell lymphoma
-
most common
-
almost invariably fatal without therapy within months
-
>50% young people cured
-
CHOP + R
Burkitt’s lymphoma
-
uncommon lymphoma in western world
-
endemic to afriva - mosquito belt
-
Close association to EBV
-
very high proliferative index
- rapidly fatal
-
clincial presentation = lymphadenopathy
-
CNS involvement common
T-cell lymphoma
-
much less common than b-cell


{{#jam_deleted}}Deleted - {{/jam_deleted}}{{jam_number_ordinal}} jam ({{theme_visible}}) on {{date}} at {{time}} ({{entries_count}} entries, scheduled by {{username}}, satisfaction: {{satisfaction_average_score}} ({{satisfaction_submitted_scores}} scores), Jam ID: {{jam_id}})
{{score-5}}
{{score-4}}
{{score-3}}
{{score-2}}
{{score-1}}
{{score0}}
{{score1}}
{{score2}}
{{score3}}
{{score4}}
{{score5}}
{{#entries}}
{{#entry_deleted}}Deleted - {{/entry_deleted}}{{title}} by {{author}}


Statistical data set
Information on the number of apprenticeship starts, achievements, and participation.
This statistical data set provides information on apprenticeships through a number of reports broken down by starts, achievements, sector subject area, framework and standard, geography, gender, age and others. It is provides supplementary information to the further education and skills statistical first release (SFR) .
For data on apprenticeship vacancies, see FE data library: apprenticeship vacancies .
MS Excel Spreadsheet , 197KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 479KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 99.3KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 155KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 65.9KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 325KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 501KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 455KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 1.67MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 179KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 895KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 124KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 1.02MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 1.18MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 88.9KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 118KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 131KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 117KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 154KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 81.1KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 251KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 497KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 63.6KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 261KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 82KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 79.7KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 278KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 251KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 119KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 1.34MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Published: 27 March 2014
Updated: 16 February 2017


Let’s say that you are interested in machine learning, and a lot of mathematical stuff. You've made a lot of research on websites about that. You asked information about a classification subject, about a probabilistic model, etc.
In the other hand, you are developing a website from scratch. Then, you made several researchs about the Web, the Semantic and the different user-agent for the CSS.
The History Learner will extract your history and define 2 topics:
Compared to standard latent semantic analysis which stems from linear algebra and downsizes the occurrence tables, probabilistic latent semantic analysis is based on a mixture decomposition derived from a latent class model.


Wellcome to site 2 !!!

My first paragraph.
My first paragraph.
My first paragraph.
My first paragraph.
My first paragraph.
222222222222222222.


Paul McGregor reveals ‘different approach’ for Dragons in 2020 as Shane Flanagan prepares to join club
by John DeanSt George Illawarra coach Paul McGregor says his side will take a “different approach” to games in 2020 following the exit of Gareth Widdop and the uncertain future of Jack de Belin.
As McGregor and his new support staff look for ways to improve on 2019’s disappointing 15th placed finish, the coach revealed the Red V’s game plan — which focused heavily on Widdop and de Belin — will change next season.
Widdop, who has jetted off to join Warrington in the Super League, was sidelined for most of 2019 following a dislocated shoulder suffered in Round 3, while de Belin remains stood down while he faces rape charges.
Stream over 50 sports live & anytime on your TV or favourite device with KAYO SPORTS. The biggest Aussie sports and the best from overseas. Just $25/month. No lock-in contract. Get your 14 day free trial >
“A lot of the structures we built over the last three or four years was around Gareth and around Jack,” McGregor told Sky Sports’ Big Sports Breakfast.
“Gareth’s a world class player, so it’s really important you really identify what the team needs around Gareth, so we bought Ben Hunt to really work with Gareth in that space and then we lost him.
“Jack’s really our glue in the middle, our link in our shifts. He’s our ball-playing forward. He’s an Origin forward.
“So we’re obviously going to play a way where we’re not over-relying on those two guys, which is totally different to what we worked for the past two years.
“There’s going to be a different approach to the game, and certainly defensively we really took a couple of steps backward.
“The year before we had intent, we had line speed, and we were there for one another, and I don’t think that was the case.
“We’ve got to get our ‘D’ right and we change the way we play and after six rounds, people can judge then. But we’ve got to get to those six rounds before people start judging.”
READ MORE NRL
COURT: Panthers star pleads guilty to four charges over sex tape scandal
SUMMER SLOG: Eels set sights on Immortal, another Fijian signs NRL deal
COMING BACK? Homesick Semi set to sacrifice $2 million to return to NRL
‘WORST THING TO DO’: Cleary says Panthers botched handling of sex tape scandal
POWER OF ONE: Slater’s secret to Latrell’s successful fullback transition
Earlier this month, the Dragons announced eight coaching staff changes following Phil Gould’s review of the club.
While McGregor retained his job, assistants Ben Hornby and Mick Crawley departed, replaced by premiership-winning Sharks and Knights assistant coach James Shepherd.
Others changes included a new head physiotherapist, strength and conditioning coach and a “mind and performance” coach who will run meditation lessons.
McGregor said the club were also close to formally announcing the appointment of Shane Flanagan who will be tasked with improving the club’s leaky defence, alongside Dean Young.
“I interviewed 10 coaches and Shane was the most impressive in our interviews,” McGregor said.
“I think Shane is a real good fella. and I don’t know him too well, but the conversation I had I’m really looking forward to bouncing ideas off him.
“The experience he’s got is going to help. I’ve heard some different things, but what I heard from Shane was a guy that’s really missed the game and wants to get back into the game and will do anything he can for the team.
“ …  He’ll be looking after our defence with Dean, which is a really good thing.
“He’s not going to come back until January which is a little bit difficult at this stage because your in-season is made from your pre-season.


Turkeys will find permanent place to nest after presidential pardon
Two birds chosen on appearance and temperament
by Jay Croft, CNN(CNN) - Don't worry too much about the two national turkeys chosen for presidential pardons this year.
Not only is their salvation secured, but so's their retirement home.
For the fourth straight year, the special pair will flock from the White House to enjoy their golden years at -- wait for it -- Gobblers Rest at Virginia Polytechnic Institute and State University in Blacksburg.
"Virginia Tech has a long tradition of supporting the turkey industry through research and outreach, so it's fitting that the Presidential Turkeys becoming part of the Hokie Nation is a new tradition," said Rami Dalloul, a professor in the College of Agriculture and Life Sciences, in a statement. Dalloul is a poultry immunologist who sequenced the turkey genome.
The National Thanksgiving Turkey and its alternate will join Peas and Carrots, last year's pardoned birds. Earlier lucky cluckers Wishbone and Drumstick, plus Tater and Tot, died at Gobblers Rest of natural causes.
The school says the two birds are chosen based on appearance and temperament, then sent to a hotel near the White House for media events. One will be plucked for the Rose Garden ceremony sometime next week, while the other will serve as its wingman.
The tradition goes back to 1947, when President Harry Truman "pardoned" the first holiday bird.


8
16
32
64
Direct-mapped Cache
2-way Set-Associative Cache
4-way Set-Associative Cache
8-way Set-Associative Cache
Fully Associative Cache


Asynchronous tools
Set of methods to synchronize asynchronous operations.
Installation
npm install cjs-async
Usage
parallel
Run the tasks array of functions in parallel, without waiting until the previous function has completed. If any of the functions pass an error to its callback, the main callback is immediately called with the value of the error. Once the tasks have completed, the results are passed to the final callback as an array and hash. Task function name is used to name the corresponding hash-table values. Task function can either use callback to specify error and result value or return result value immediately.
Online example:
var parallel = require('cjs-async/parallel'),
taskList = [
function ( callback ) {
setTimeout(function () {
callback(null, true);
}, 10);
},
function ( callback ) {
setTimeout(function () {
callback(null, 256);
}, 20);
},
function ( callback ) {
setTimeout(function () {
callback(null, '512');
}, 0);
},
function () {
return 32;
}
];
parallel(taskList, function ( error, results ) {
if ( !error ) {
// results contains array of the given tasks execution results
// [true, 256, '512', 32]
console.log(results);
}
});
serial
Run the functions in the tasks array in series, each one running once the previous function has completed. If any functions in the series pass an error to its callback, no more functions are run, and callback is immediately called with the value of the error. Otherwise, callback receives an array and hash of results when tasks have completed. Task function name is used to name the corresponding hash-table values. Task function can either use callback to specify error and result value or return result value immediately.
Online example:
var serial = require('cjs-async/serial'),
taskList = [
function () {
return 32;
},
function ( callback ) {
setTimeout(function () {
callback(null, true);
}, 10);
},
function ( callback ) {
setTimeout(function () {
callback(null, 256);
}, 20);
},
function ( callback ) {
setTimeout(function () {
callback(null, '512');
}, 0);
}
];
serial(taskList, function ( error, results ) {
if ( !error ) {
// results contains array of the given tasks execution results
// [32, true, 256, '512']
console.log(results);
}
});
Contribution
If you have any problems or suggestions please open an issue according to the contribution rules.
License
cjs-async
is released under the MIT License.


Preacher Sla:
(Preacher Sla reads the manifesto.)
So...the angel of Einhasad has fallen to earth... Amazing...
"Then do you admit that the Temple holds the truth in these matters?"


What is BDD Assistant
BDD Assistant is an open source project that pretends to facilitate the creation and execution of Behavior Driven Development (BDD) stories as a way to better define the requirements.
It consists of the following three Github repositories:
BDD Assistant provides you with a web interface that allows you to use the following components:
- BDD story editor: One of the most important features of the BDD assistant is the possibility to create new BDD stories by using the editor that comes in the site.
- BDD story runner: The BDD Assistant allows you to run any story that can be accessed from the Story repository. Since this project is initially based on BDD stories for Web sites, it allows running these stories against the web site for which represents the requirements.
- Story repository: Once you've finished writing your stories, you can save them and they'll remain in the story repository for later reading, modification or execution.
- Set of Web Steps: The BDD Assistant comes with a predefined set of Web Steps for its first version.
- Composites manager: This module allows the management of composites for later usage in the stories.


There are three dogs currently up for adoption in our program. They are a mixture of small to big dogs, which all are up to date on health, shots and social activity with other dogs.