By the end of this tutorial you should be able to:
We use a simple counter example (pun intended) to introduce these concepts. The CA’s state is just a number representing the counter.
As you make your way through this tour of the CAF, we demonstrate how you can:
In addition, we’ll show you how you can get CAs to do some useful things:
For our examples we put together a bare-bones GUI using Enyo. If the GUI looks ugly blame us not Enyo! Please also take note that this is not a tutorial about Enyo (see http://enyojs.com) and it should be easy to adapt the same ideas to other client frameworks.
Source code for the examples is in github https://github.com/cafjs/caf_examples.git
We follow a standard node.js package layout, and we add a /public
dir that contains the client app. Also, in the /lib
dir
there is always a file called ca_methods.js
that implements the CA.
By default, the framework looks for this file name to bootstrap the system. Please do not rename that file.
Another two files (also in /lib
) that will soon be familiar to you are ca.json
and framework.json
. They define how to configure a CA and how to configure the framework.
File rsa_pub.pem
contains the public key of the Accounts service. This service issues signed authentication tokens that enable single sign-on for your app.
The behavior of the Enyo-based GUI is defined by App.js
in /public/source
.
All the tutorial examples are already deployed and you can use the launcher to see what they do. We call them tutorial1a, tutorial1b, tutorial1c…No, we don’t have an tutorial2, but it’s good to plan for the future.
But the fun part is when you start tinkering with them. To see the results, you’ll need to use Turtles, our deployment app. Simply create a tar file with the app and its dependencies (the script ./cpexample <appname>
should do that for you by creating a compressed tar file in /tmp/…). Then, leave that tar file where Turtles can see it (a public url hosted by a service like HP Object Storage, a public folder in Dropbox, or your website outside the firewall - just making sure that this website can give you ETag header info), give it a name, and Turtles will do the rest. If you toggle the setting to Auto, Turtles tracks changes to the contents of the url and asks you to upgrade when needed.
We don’t have debugging support in Turtles right now, and if you get stuck you may want to run everything locally first, Running CAF Locally where you can use standard node.js debugging tools like node-inspector.
Let’s look at file lib/ca_methods.js
. This is the main file that defines the behavior of the CA and starts the framework.
It is just a node.js file that loads the core module:
var caf = require('caf_core');
exports a bunch of methods:
exports.methods = {
....
}
and starts the framework:
caf.init(__dirname, {});
Methods are exported with an object that can only contain plain functions, which means you cannot use closures or other object variables.
We follow a simple naming convention; the prefix __ca_
indicates a framework method that can only be called by the framework, otherwise it’s a public method (typically called by the remote client app).
Both framework and public methods use a standard callback convention and in good node.js tradition take two arguments cb(err, data)
. When the first argument err
is falsy it means everything went fine and the result is in data
. Otherwise, we get an error condition as described by err
:
'increment' : function(..., cb) {
cb(err, data);
}
Ok, but where does cb
come from and why do we need it?
The framework creates a fresh cb
for each call and it is just a way for your code to tell the framework “I’m done processing this request, this is what happened with it, give me the next one”.
We cannot just ‘return’ like a normal function because this is node.js, and we may want to do multiple non-blocking operations before we are actually ready to process the next request. If you want to know more about Actors, and the rationale behind all this, see CAF Design.
A common bug is to return without calling cb
. In that case the CA hangs until the cron ripper detects that condition and shuts it down.
How do you add state to your CA if you cannot use closures or object variables in the methods
object?
Whenever the framework creates a new CA it starts with an empty object, adds all the methods in methods
and creates in it an empty object this.state
. This object contains anything you want as long as it is JSON serializable.
We need JSON serializable contents because the framework regularly checkpoints this.state
in a remote server.
Two framework methods that typically change this.state
are:
'__ca_init__' : function(cb) {
this.state.counter = -1;
cb(null);
},
'__ca_resume__' : function(cp, cb) {
this.state = (cp && cp.state) || {};
cb(null);
},
where __ca_init__
is only called once in the lifetime of a CA, and gives your code a chance to do a first initialization.
__ca_resume__
is called by the framework many times. For example, when updating the code that implements this CA, or when migrating this CA to a different server, or when restarting immediately after a crash.
__ca_resume__
takes an argument cp
that reflects the last checkpoint of this.state
. We guarantee that cp
is really the last one, since nobody has been able to observe a more recent state–we always checkpoint before externalizing state.
Note how we call the callback cb
with a falsy (i.e., null
) argument to indicate that everything went fine.
Public methods follow the same structure:
'increment' :function(inc, cb) {
this.state.counter = this.state.counter + inc;
cb(null, {counter : this.state.counter});
}
Here the argument inc
is provided by the client. Since the first argument in the callback is null
we return the object {counter : this.state.counter}
to the caller–don’t forget it also should be JSON serializable, since it goes over the network.
The CA is designed to start up once, keep running indefinitely, and always maintain the last exposed state. To accomplish this, we have designed it so that changes to this.state
are transactional. The transaction starts with the method invocation and finishes with the end of the callback. Errors simply abort the transaction. For example:
'increment' :function(inc, cb) {
this.state.counter = this.state.counter + inc;
if (some error condition) {
cb("got error");
} else {
...
}
}
Even though we have modified the counter, the framework forgets about those changes when there is an error, and both the checkpoint and the next request will see the old value of the counter. The “got error” string will be returned with an application-level error to the client, as we will see next.
What about exceptions?
Exceptions also rollback changes, but they are assumed to be a programming error, and your client will get a system error (exceptionThrown). Do not throw exceptions to propagate application errors.
The main Enyo app file is in public/source/App.js
. You could also use a node.js
client (see caf_lib/caf_cli
) and a jQuery plugin will be next. The user interface for this example should be very simple, let’s look at the CA-specific bits:
{kind: "ca.LoginContext", name : "login", onSession : "newSession"},
...
{kind: "onyx.Button", name : "myButton", content: "inc", ontap: "callCA"},
...
newSession: function(inSource, inEvent) {
this.mySession = inEvent.session;
return true;
},
...
callCA: function(inSource, inEvent) {
var self = this;
var cbOK = function(msg) {
self.$.lastcall.setContent(JSON.stringify(msg));
};
var cbError = function(error) {
self.$.lastcall.setContent('ERROR:' + JSON.stringify(error));
};
this.mySession && this.mySession.remoteInvoke('increment',[1],
cbOK, cbError);
return true;
},
We first create a LoginContext that will negotiate a session with the CA (see file caf_core/public/source/util/LoginContext.js
for details). When we have a new session the event onSession
triggers the handler method newSession
, which registers the session. At any time we can tap on the button inc
to call method callCA
, and this method will invoke the method increment
in the remote CA with argument 1
. When the CA responds either one of the callbacks will be called (error or last counter value) changing the display accordingly.
We would like to guarantee that a CA increments its counter regularly. Even if nobody is calling its public methods.
We can easily do that by providing a __ca_pulse__
framework method:
'__ca_pulse__' : function(cb) {
this.state.counter = this.state.counter + 1;
cb(null);
}
CAF periodically calls that method for each CA.
How often does the framework call the CA?
We can configure it, like almost any other property in the framework, by modifying the file lib/framework.json
. In particular, if we want a call every 3 seconds, simply set the interval property to 3:
{
"module": "cron_pulser",
"name": "pulser",
"description": "Cron job for enabling autonomous computation of CAs",
"env": {
"interval" : 3
}
}
}
This configuration file may look a bit cryptic but it should not be. The framework is built from components, and each component has four important attributes:
"module"
specifies the code that implements that component, we use standard node.js modules, so you could think of this as the string you would pass to a require()
call to load a module (not exactly, see below for details)"name"
the identifier in the framework-level context that this component will get after creation. Components are not tightly bound to each other, they look themselves up in the context before invoking methods on each other. We use conventions of what the "name"
of a particular component should be and this makes it easier to swap implementations. In fact, you could change the implementation of almost anything by modifying lib/framework.json
."description"
JSON does not support comments so it is handy to have a placeholder for them. They are also visible at run-time and this could make error reporting a bit cleaner."env"
a bunch of properties that are passed to the component at creation time. By convention, all crons (components performing regular tasks) use the identifier "interval"
to define time in seconds between actions.Similar to the framework, a CA is built from pluggable components. The config file lib/ca.json
plays the same role as lib/framework.json
, but for a single CA.
Example 1a did not define an "interval"
property in lib/framework.json
for cron_pulser
, so it inherits the framework default value.
Where is the default value for "interval"
defined?
Components in lib/framework.json
nest. In the code, at the top level, you see a "sup"
component with an env
that sets interval to 5. If a child component does not define its own interval
it gets its parent.
When we start the framework we pass two arguments, the first one sets a default directory for *.json
config files (__dirname
is set by node.js to the directory containing the lib/ca_methods.js
file). The second argument passes an object with properties that will first overwrite "sup"
’s "env"
. This is convenient for passing environment properties at run-time.
For example, a child component of "sup"
that does not define its own "interval"
will get a value 7:
caf.init(__dirname, {"interval": 7});
Autonomous behavior is useful but it is better when we can notify the client that something happened as a result of that autonomous computation, and it is even more useful if that notification is buffered in the cloud until the client is ready to see it.
We use a simple example to illustrate this. When the counter is multiple of 5 we will notify the client of that event. The modified code for __ca_pulse_
is below, changes for the increment
method are similar:
'__ca_pulse__' : function(cb) {
this.state.counter = this.state.counter + 1;
if (this.state.counter % 5 == 0) {
this.$.session.notify([this.state.counter], 'default');
}
cb(null);
}
We try to make it really easy to safely support multi-tenancy in your application, and one way to do that is by restricting visibility to the framework internals.
When the CA is created, this.$
gets populated with proxies to all the services accessible from your methods. Proxies add authenticated client information to all requests, making it easier to enforce separation.
The contents of this.$
are whatever it says in lib/ca.json
. For example, to send notifications we need a proxy to the session service of this CA:
"proxies" : [
....
{
"module": "caf_session/proxy",
"name": "session",
"description": "Provides information of the session of this incoming request",
"env" : {
}
},
...
]
Take a look at the core file proxy_session.js
in caf_lib/caf_session/lib
, and you can see that it exports a method notify(argsArray, sessionId)
, which queues a notification containing an array with arguments, and this notification is delivered within the specified default
logical session. You can find details about logical sessions in Tutorial 1d.
What happens if we return an error after calling the method notify
?
The session service is transactional. Since it participates in the overall method transaction, it aborts too (think two-phase commit), so the notification gets ignored.
The ability to add more (local) services participating in the transaction by modifying lib/ca.json
is one of the most powerful features of the framework. Transactional services piggyback on the checkpoint mechanism to ensure durability, so we do not use distributed transactions in case you are wondering…
When it receives a notification from the CA, the client code emits an (Enyo) event.
For example:
{kind: "ca.LoginContext", name : "login", onSession : "newSession",
onNotification: "newNotif" },
...
newNotif: function(inSource, inEvent) {
var counter = inEvent[0];
this.$.notification.setValue(" got counter " + counter);
return true;
}
Event onNotification
is handled by method newNotif
that extracts the counter from the array of arguments in the notification, and changes the display.
Note that LoginContext
above does not specify a logical session, and it will default to one named default
, matching the name used by the CA.
The previous example had two serious issues:
default
could be shared by several client devices active at the same time, and each notification will only appear in one of them, picked at randomIn order to fix these problems we allow a CA to have multiple independent logical sessions, and also allow your code access to the output queues associated with them.
A client chooses any name for a session with its CA. This name can be shared by multiple clients. All the sessions with a CA using the same name form a logical session. A CA views a logical session as a named output queue from which any client using a session with the same name can dequeue notifications.
This gives you flexibility on how to deliver notifications to clients. You can associate a different logical session to each device; and then the CA can choose the device that will receive the notification, or send the same notification to all of them.
For example:
var DIVIDER = 5;
var notifyAll = function(self) {
if (self.state.counter % DIVIDER === 0) {
for (var sessionId in self.state.logicalSessions) {
self.$.session.notify([self.state.counter], sessionId);
}
}
};
...
'__ca_pulse__' : function(cb) {
this.state.counter = this.state.counter + 1;
notifyAll(this);
cb(null);
}
Here we just maintain an object with the logical sessions to which we want to send notifications, and we repeat the notify
operation for each one.
As an optimization, we can track logical sessions that have been active recently and just notify those. We do that by querying the active logical session inside the increment
method and use this info to populate a small LRU (Least Recently Used) cache from which the set of logical sessions is derived. See ca_methods.js
for details.
The client code specifies the name of the session by using the sessionId
property:
this.createComponent({kind: "ca.LoginContext",
name : "login", sessionId :this.getSessionId(),
onSession : "newSession",
onNotification: "newNotif" }),
and we dynamically create the LoginContext
because we need to wait for the user typing the session name.
We need to limit the size of output queues to avoid running out of memory. The best strategy is very dependent on the application. A CA can ignore a new notification based on its output queues’ contents; or it can make room by dropping older notifications.
For example, let’s ensure that the queue has no more than 10 notifications (the most recent ones):
var DIVIDER = 5;
var MAX_NUM_NOTIF = 10;
var notifyAll = function(self) {
if (self.state.counter % DIVIDER === 0) {
for (var sessionId in self.state.logicalSessions) {
self.$.session.boundQueue(MAX_NUM_NOTIF, sessionId);
self.$.session.notify([self.state.counter], sessionId);
}
}
};
The boundQueue
method takes two arguments:
Another useful method in this.$.session
is outq(sessionId)
; outq
gives you a read-only snapshot of the output queue (using an array-like data structure).
Note that changes to output queues are not serialized with respect to CA method invocations, and we should not rely on the output queue staying the same by the time we commit method changes. That’s why outq
returns a read-only snapshot and we need the method boundQueue
to modify the queue.
A CA is a light-weight proxy and whenever it feels like it is doing too much, you should think about off-loading the work to a service and using a plugin for access. In the directory caf_extra
we have a few plugins that enable CA interaction with services.
Once the plugin has been written, using it is easy. However, writing plug-ins can become complex, especially when they need to preserve transaction semantics. At the time of this writing CAF internals are still unstable, which doesn’t help. We do not want to discourage you from giving it a try, but you have been warned!
Most plugins have three components:
this.$
,plug_ca
,plug_ca
components in a few connections to the service (plug
).In this example we use Redis (http://redis.io) underneath to implement a publish-subscribe messaging abstraction that allows CAs to inform each other when their counters reach specified thresholds. Our plugin will have:
pubsub
where you’ll find the publish and subscribe methods for the CA,plug_ca
that maintains the list of channels to which your CA is subscribed,plug
that keeps alive a few connections to the Redis server to support all the local channels.In order to use the publish-subscribe service we have to add the plug
to framework.json
(since it is a framework-level component) and both plug_ca
and the proxy to ca.json
(you get new ones when you create a CA).
// in framework.json inside "plugs"
{
"module": "caf_pubsub/plug",
"name": "pubsub_mux",
"description": "Shared connection to a pub/sub service \n Properties: \n",
"env": {
}
},
// in ca.json inside "internal"
{
"module": "caf_pubsub/plug_ca",
"name": "pubsub_ca",
"description": "Provides a publish/subscription service for this CA",
"env" : {
}
},
// in ca.json inside "proxies"
{
"module": "caf_pubsub/proxy",
"name": "pubsub",
"description": "Access to a publish subscribe service\n Properties:\n <insecureChannelPrefix> Name prefix for channels that are not authenticated.\n",
"env" : {
"insecureChannelPrefix" : "anybody/"
}
},
},
We use a hierarchical notation for the module
because we wrap the three components into a single node.js package (caf_pubsub
). By convention, a package that implements a plugin exports plug
, plug_ca
and proxy
methods with its corresponding modules.
By default the plug-in caf_pubsub
only allows a CA to publish on channels with names prefixed by its own identifier, and this helps to support multi-tenancy safely. To override this behavior we reserve a channel prefix for non-authenticated channels, i.e., insecureChannelPrefix
.
var CHANNEL_NAME = "anybody/tutorial1e:counterchannel";
...
"__ca_init__" : function(cb) {
this.state.counter = -1;
this.state.finished = {};
this.$.pubsub.subscribe(CHANNEL_NAME, "thresholdHandler");
cb(null);
},
'__ca_pulse__' : function(cb) {
this.state.counter = this.state.counter + 1;
if (this.state.counter >= MAX_COUNTER) {
this.$.pubsub.publish(CHANNEL_NAME, this.$.session.getMyId());
}
var nFinished = Object.keys(this.state.finished).length;
if (nFinished >= MAX_FINISHED) {
this.$.session.notify([nFinished], 'default');
}
cb(null);
},
//handler method
"thresholdHandler" : function(channel, id, cb) {
this.state.finished[id] = true;
cb(null);
},
In the example above, each CA subscribes to the same non-authenticated channel. When a counter reaches a specified threshold, its CA publishes this event using its unique CA identifier. Then, each CA gets to see this event and updates its own set of the CAs that have reached the threshold. To take care of the fact that publishing an event is a best-effort operation, CAs that have reached the threshold regularly re-announce that fact.
When a CA learns that a pre-specified number of CAs have reached the threshold, it queues a notification to its own client.
The method subscribe(channel, methodHandler)
informs the plugin of the method in this CA that handles a published message. Internally, the plugin translates a Redis/node.js event into a local message that will invoke that same method.
This allows us to continue processing requests while ensuring that asynchronous event handlers don’t create race conditions. The execution of the handler method is serialized with respect to other requests because the CA treats events like any other request.
As we discussed in CAF Design, do not try to handle node.js events directly in your methods, instead you should enforce serialization of handlers with an actor (i.e., a CA) to keep sane.


Numbers 26:53
Unto these the land shall be divided for an inheritance according to the number of names.


--- layout: post title: '' date: '2009-12-12T22:41:45-08:00' tags: tumblr_url: http://alexhwilliams.tumblr.com/post/281329126/just-to-make-sure-you-see-this ---
Just to make sure you see this….


{%extends 'base.html' %} {% load bootstrap3 %} {% block content %} {{ block.super }}
Head of Instagram Adam Mosseri (@mosseri) is the Head of Instagram where he oversees all functions of the business including engineering, product and operations. A designer at heart, Adam is known for balancing sharp design thinking with thoughtful product strategy to create experiences that bring people together and encourage authentic communication. Adam has been at Facebook for more than ten years. He was design director for Facebook's mobile apps and then moved into product management where he led the News Feed product and engineering teams for many years. He was Head of News Feed prior to joining Instagram where he oversaw product before managing the entire organization. Prior to Facebook, Adam worked at TokBox as the company’s first designer. He began his career founding a design consultancy in 2003 with offices in New York and San Francisco that focused on graphic, interaction and exhibition design. Adam holds a BA from the Gallatin School of Interdisciplinary Study at NYU where he studied Information Design and Media. Born and raised in New York, he now lives in San Francisco with his wife and two sons.
Founders Kevin Systrom (Co-founder) Kevin Systrom (@kevin) co-founded Instagram and served as CEO for 8 years before leaving the company in September 2018 to pursue his next passion project. With Kevin’s focus on simplicity and inspiring creativity through solving problems with thoughtful product design, Instagram became the home for innovation on visual storytelling launching dozens of products including Stories and IGTV. Prior to founding Instagram, Kevin was part of the startup Odeo, which later became Twitter, and spent two years at Google working on products like Gmail and Google Reader. He graduated from Stanford University with a BS in Management Science & Engineering. Mike Krieger (Co-founder) Mike Krieger (@mikeyk) co-founded Instagram and served as Instagram's Head of Engineering for 8 years, before leaving the company in September 2018 to explore new projects. Mike focused on building a broad range of creative products to empower the community on Instagram to connect with their interests and passions. In addition, Mike grew the engineering organization to more than 400 employees in Instagram offices located in Menlo Park, New York and San Francisco. A native of São Paulo, Brazil, Mike holds an MS in Symbolic Systems from Stanford University. Prior to founding Instagram, he worked at Meebo as a user experience designer and front-end engineer.
{% endblock %}


Image Caption generator is a challenging Artificial Intelligence based task where a textual description for a given image is provided by the model. This caption generator involves methods from computer vision to natural language processing concepts to recognize the contents of an image and describe them in a natural language like English in the right order. The model is trained so as to maximize the likelihood of the target description sentence given the training image.


Demonstration functions that can be used in a classroom to demonstrate statistical concepts, or on your own to better understand the concepts or the programming.
| Version: | 2.10 |
| Suggests: | tkrplot, lattice, MASS, rgl, tcltk, tcltk2, png, ggplot2, logspline, maptools, R2wd, manipulate |
| Published: | 2016-02-12 |
| Author: | Greg Snow |
| Maintainer: | Greg Snow <538280 at gmail.com> |
| License: | Artistic-2.0 |
| NeedsCompilation: | no |
| Materials: | NEWS |
| CRAN checks: | TeachingDemos results |
| Reference manual: | TeachingDemos.pdf |
| Package source: | TeachingDemos_2.10.tar.gz |
| Windows binaries: | r-devel: TeachingDemos_2.10.zip, r-release: TeachingDemos_2.10.zip, r-oldrel: TeachingDemos_2.10.zip |
| OS X binaries: | r-release: TeachingDemos_2.10.tgz, r-oldrel: TeachingDemos_2.10.tgz |
| Old sources: | TeachingDemos archive |
| Reverse depends: | BTLLasso, earth, plotmo, RcmdrPlugin.TeachingDemos, RcmdrPlugin.UCA |
| Reverse imports: | brr, Ecfun, geospt, GPCMlasso, icensBKL, IPSUR, palaeoSig, PowerTOST, proportion, RBPcurve, TipDatingBeast |
| Reverse suggests: | HH, httk, LocalControl, metafolio, RGraphics, SPEDInstabR, tourr, tourrGui |
Please use the canonical form https://CRAN.R-project.org/package=TeachingDemos to link to this page.


Latest Birmingham City injuries and suspensions ahead of Sheffield Wednesday clash
Latest Birmingham City injury news | Blues injury and suspension list in full as Pep Clotet looks for his side to get a result against Sheffield Wednesday in midweek
by Brian Dick, https://www.facebook.com/blueswriterbriandick/?fref=ts, Mark WakefieldThe latest clash in the Sky Bet Championship saw Birmingham City held to a 1-1 draw with Huddersfield Town.
A strike from Marc Roberts cancelled out Fraizer Campbell's earlier goal at the John Smith's stadium.
Blues now lie in 15th place in the Championship table going into Wednesday night’s trip to face Sheffield Wednesday at Hillsborough.
Pep Clotet will have a number of selection headaches and worries ahead of the game against the Owls in midweek.
Clotet will be thinking about changes - but what about injuries and suspensions?
Birmingham City latest
This is your round up of all things Birmingham City; the one-stop shop that will keep you updated on the latest goings on at the club and beyond.
Transfers, injuries, match-days and managers, we’ve got you covered.
We’ll be bringing the very latest on the Blues throughout the week and around the clock.
Make sure you keep yourself updated with our handy daily catch up...
Must reads...
- 'My blood is boiling' - Former Birmingham City player accused of making vile slur
- Birmingham City's rampant starlets rated
- Pep Clotet explains that Birmingham City call - and who impressed him at Huddersfield
- Birmingham City player ratings as Jefferson Montero makes an impact at Huddersfield
- Garry Monk makes Birmingham City claim after Sheffield Wednesday charge
For all your latest BCFC news, opinion, analysis and transfer gossip, click here
You can follow our Blues reporter Brian Dick on Twitter, and his email address is<EMAIL_ADDRESS>The injury list in full here...
SUSPENSIONS
Harlee Dean will serve the final match of his three game ban.
Dean was shown a straight red card by referee Andrew Madley in the 4-2 defeat to Cardiff City.
Jake Clarke-Salter stepped in as his replacement against Fulham and Huddersfield Town.
INJURIES
Maikel Kieftenbeld
Injury
Knee
Details
The Blues midfielder went down in pain during the second half of the 1-0 win against Leeds in April and had to be taken off the pitch on a stretcher.
Then boss Garry Monk admitted afterwards that it didn’t look good and a scan confirmed Kieftenbeld would be set for a lengthy spell on the sidelines.
The Dutchman damaged the anterior cruciate ligament in his right knee - he might not be back until Christmas.
Last match: Birmingham City 1 Leeds United 0 - Saturday, April 6
What Clotet said: "From the reports that I have we are expecting him to try to join us in training for January or February, we are not putting much pressure on it because every knee is different but I do know he is doing very well in his recovery and probably the timing will be around that.
“Normally it’s around six to eight months to be on the grass so he is going to hit that because he is a very good pro and he has done everything by the book with his knee. He is on the right track.”
Potential return date: New Year
Gary Gardner
Injury
Knee
Details
Gary Gardner has undergone a ‘minor operation’ on a knee injury that will keep him out until at least after the international break.
The Birmingham City midfielder hurt himself as he took a late free kick in the 1-0 defeat at Leeds and has missed every game since.
Last match: Leeds United 1-0 Birmingham City - October 19
What Clotet said: Clotet was asked if Gardner will be available the Huddersfield game: “I don’t know if that will be a lot of pressure for him, they said four to six weeks, I was speaking to him last week, he looks much better, he looks fine and stable and has been doing a lot of work.
“I don’t want to put that pressure on him to be available, it needs to be when it is sorted, but it’s going very well – so possibly.”
Potential return date: Soon


home
glitch
meme
minecraft
3d-print
net-art
code-art
Meme
this art work is a combination of two emojis creating a meme.
Created with photoshop.


B.S. Computer Science, Concentration in Game Programming and Development, Drexel University Class of 2021
Aspiring independent game developer
Web development, logo design, and pixel art hobbyist
Casual solo gamer
Feel the moo-tions of the game on the Drexel Voyager motion platform!
Term project for Game Development: Workshop I/II.
The shot in the arm extreme sports games need.
Senior project collaboration between Drexel Westphal and CCI.
BlessRNG
Individual project for practice creating responsive in-browser games.
3D platform racing game.
Final project for Computer Game Design and Development.


{{ _('You are currently running version {0} of {1}, however the current version is {2}.').format(current_version, product_name, upgrade_version) }}
{{ _('Please click here for more information.').format( download_url) }}


Discussion about AtomiAPI and its market making tech.
Between 01-Jan-20 12:00 AM and 02-Jan-20 12:00 AM
artem.pikulin01-Jan-20 11:20 AM
@Oszy Hi, it looks like a problem with OOT chain. I've seen similar with test assetchains (at least BEER). Sometimes if unconfirmed output is reused the entire transaction chain gets stuck unconfirmed for long time. The b address is empty because MM2 refunded the payment in this tx: https://explorer.utrum.io/tx/90c9d04f6209825e2d42973e894d976cae0936514fd44cedd37fefac2359a449 The protocol failed because payment was unconfirmed, so refund has been issued after locktime expiration.
@smk762@TonyL
Have you experienced similar with unconfirmed transactions? Is there a way to workaround it?(edited)
ComputerGenie 👴🏼📢01-Jan-20 11:53 AM
a spend of a spend of an unconfirmed spend does tend to be an issue now and then
if 75 peers (including most miners) don't see the tx (or any of them) then they aren't going into a block(edited)
artem.pikulin01-Jan-20 11:58 AM
This problem affects DEX UX badly. MM2 is designed to work with single UTXO without splits so it gets reused even unconfirmed to allow several concurrent swaps for the coin. If MM2 has to wait for confirmation every time it has to reuse the UTXO only 1 concurrent swap will be actually possible for a coin I think.
And yes, the problem is that mempool is not synced, I've seen this with BEER too. I've tried to run the mining node to find a block including these stuck transactions, but it didn't sync the mempool with other nodes.
smk76201-Jan-20 12:00 PM
I've not seen it before.
artem.pikulin01-Jan-20 12:00 PM
So actually the node that has these transactions in mempool should mine them, it won't work otherwise.
ComputerGenie 👴🏼📢01-Jan-20 12:01 PM
or broadcast it to other miners/nodes
artem.pikulin01-Jan-20 12:01 PM
Yes, this too.
So as of now we should reimport these transactions to OOT mining node.(edited)
ComputerGenie 👴🏼📢01-Jan-20 12:04 PM
no need to "import", just send it out to the network
the more people that know about a tx is the more likely it is to be processed
artem.pikulin01-Jan-20 12:08 PM
Hmm, electrum2.utrum.io:10088 is not aware about these transactions. I'm going to rebroadcast them to it now.
ComputerGenie 👴🏼📢01-Jan-20 12:09 PM
electrum2.utrum.io:10088 is not aware about these transactions
neither is the main block producer
artem.pikulin01-Jan-20 12:11 PM
Done, let's see if this works out.
ComputerGenie 👴🏼📢01-Jan-20 12:12 PM
2 of the 3 are now in a block
artem.pikulin01-Jan-20 12:14 PM
90c9d04f6209825e2d42973e894d976cae0936514fd44cedd37fefac2359a449 has to be rebroadcasted too, done.
And confirmed.
1
1
@ComputerGenie 👴🏼📢 Thanks for help
ComputerGenie 👴🏼📢01-Jan-20 12:16 PM
np
not sure how to solve the underlying problem of it not being broadcast, but that is the issue: it either needs to be sent out to the network or mined by the tx creator(edited)
the 1st option seems more feasible using electrum
jl777c01-Jan-20 12:23 PM
connect to any NN, and sendrawtransaction
that should get a very good network coverage
artem.pikulin01-Jan-20 12:25 PM
@Oszy I've rebroadcasted your transactions to OOT chain and they are now mined. Your address is usable again.
Rebroadcasting is ok, but is it possible to avoid such situation by applying some fix to komodod? I've created the issue ref. this: https://github.com/jl777/komodo/issues/1790
Can you reliably reproduce the issue? If so, please list the steps to reproduce below: Send the transaction. Reuse it's unconfirmed output in another transaction. Expected behaviour All tra...
ComputerGenie 👴🏼📢01-Jan-20 12:28 PM
but is it possible to avoid such situation by applying some fix to komodod
I'm not sure there's anything to "fix", other than what jl wrote
jl777c01-Jan-20 12:28 PM
mempool is not guaranteed to be consistent across all nodes
artem.pikulin01-Jan-20 12:31 PM
Ok, but when transaction is in mempool for days, maybe there's a way to rebroadcast it to other peers automatically if possible?
jl777c01-Jan-20 12:33 PM
yes, this would be possible, but would be too slow. i guess monitoring how long a tx is in the mempool and rebroadcasting if it is over 10 minutes, might be a good idea. but if the node is sparsely connected, it might not solve the problem
ComputerGenie 👴🏼📢01-Jan-20 12:34 PM
whatever the electrum equivalent of
komodo-cli -ac_name=${chain} sendrawtransaction $(komodo-cli -ac_name=${chain} getrawtransaction ${tx})
is, I imagine(edited)
artem.pikulin01-Jan-20 12:38 PM
yes, this would be possible, but would be too slow. i guess monitoring how long a tx is in the mempool and rebroadcasting if it is over 10 minutes, might be a good idea. but if the node is sparsely connected, it might not solve the problem
I see, maybe we should just wait and check how likely it will happen in the near future. If it happens rarely we can handle it manually, will not take much time for tech team. But if happens frequently we will need the workaround from komodod that will at least reduce the occurrence of such situation.(edited)
jl777c01-Jan-20 12:38 PM
caretaker nodes can just make sure all tx that have been broadcast confirm, i responded to issue with the idea
All the recent media attention on Bitcoin inspired me to learn how Bitcoin really works, right down to the bytes flowing through the netwo...
that should have all the details you need
phm8701-Jan-20 11:04 PM
thank you
I found other examples where they do a rawtx in hex with scriptSig (what I need to redeem from P2SH) but I'm still dreaming that I can use easy to use rpc calls and avoid to write the hex. I'll read details of the article you shared
But maybe that only multisig have proper rpc calls and all other p2sh tx need to craft redeem tx in hex (I'm young, I'm still hoping that I can call signrawtransaction with the correct keys and redeem script and avoid to write that whole thing in hex)
phm8701-Jan-20 11:57 PM
You cannot use Bitcoin Core to create your transaction because it does not know what to do with non-standard inputs. There is no need to use signrawtransaction because you are not signing anything. In order to make your transaction spendable, you will need to do it manually by inserting the scriptSig that you figured out yourself.


Back Step 3 of 4
What type of inaccurate return do HRMC claim you have filed?
HMRC will explicitly state whether they think your return was inaccurate for careless or deliberate reasons. Select the option that HMRC claim you have filed.
Back Step 3 of 4
HMRC will explicitly state whether they think your return was inaccurate for careless or deliberate reasons. Select the option that HMRC claim you have filed.


ATM Simulation Exercise
Details about compiling and testing this application can be found at the following link:
https://github.com/golimpio/atm-simulation


Bits of plastic in dough trigger voluntary recall of popular cheese crackers
by HNN StaffHONOLULU, Hawaii (HawaiiNewsNow) - Check your snacks drawer: A limited voluntary recall has been issued for Cheese Nips in Hawaii.
The cheese crackers are being recalled because they could have bits of plastic in them from a dough scraper that got into the crackers during production.
The state Health Department said the recall is limited to the 11-ounce box of Cheese Nips with the retail UPC “0 44000 03453 5” and a use by date of May 18, 19 or 20.
To contact the company, call 1-844-366-1171.
Copyright 2019 Hawaii News Now. All rights reserved.


Like the flower itself, the history of the rose is very colorful. Roses have been naturally growing for over 35 million years! However, they were not known to be cultivated until about 5,000 years ago.
Sunflowers are one of the most popular flower types and are best known for their dazzling yellow color and large size. Sunflowers generally symbolize adoration, loyalty and longevity in flower language.
There are over 150 species of tulips with over 3,000 different varieties and are part of the lily family. Like most common flowers, tulips come in a large variety of colors that each have their own meaning.
A flower, sometimes known as a bloom or blossom, is the reproductive structure found in flowering plants (plants of the division Magnoliophyta, also called angiosperms). The biological function of a flower is to affect reproduction, usually by providing a mechanism for the union of sperm with eggs.
Gardenias are the world’s largest flower; the circumference of their huge flowers can be over three metres and they stand three metres high.
Moon flowers bloom only at night, closing during the day. They have large 4 to 6 inch fragrant, white or pink flowers on twining vines.
The Agave, also known as the century plant spends many years without growing any flowers, after which it grows one single bloom and dies.
Blue cohosh, also known as squaw root or papoose root, was used by Native American women to ensure an easy labor and childbirth.
name for the specialized part of a plant containing the reproductive organs, applied to angiosperms only. A flower may be thought of as a modified, short, compact branch bearing lateral appendages.
B i r t d a y
f l o w e r s
Sharm Flowers is recognized as a leading florist in Egypt
Thanks for your interest in Sharm Flowers International. For more information, get in touch with us. We look forward to hearing from you.
Egypt, South Sinai Governate, Sharm El Sheikh, Nabq Bay, Peace Road, Amwaj Hotel Shopping Arcade, Shop 4, SHARM FLOWERS.
copyrights©for compiler team


The True Beats dataset provides ExtractAlphaTrueBeat objects, which have the following attributes:
The True Beats dataset provides ExtractAlphaTrueBeats and ExtractAlphaTrueBeat objects.
ExtractAlphaTrueBeats objects have the following attributes:
ExtractAlphaTrueBeat objects have the following attributes:


prepare($query); $statement->execute(array($word)); $definitions = $statement->fetchAll(PDO::FETCH_COLUMN, 'definition'); // If there is no such word, exit with an appropriate message. if (count($definitions) != 1) { unset($word); include "{$root}/missing.html"; } $definition = $definitions[0]; // Construct the canonical URL for this word. At this writing, the // token $parts[1] resolves to "entry". This may change eventually. // If the virtual directory structure changes, the template will // have to be modified here and elsewhere. $canonical_request = "/{$parts[1]}/{$word}/"; // Redirect to the canonical URL if necessary. if ($original_request != $canonical_request) { http_response_code(301); header("Location: $canonical_request"); exit(0); } $titleExtension = " : {$word}"; include "{$root}/header.html"; ?>


Reports dependencies on modules that are not used. The quick-fix safely removes such unused dependencies.


Can the Khat controversy turn the tide for Pakatan in the Johor by-elections?
- Advertisement -
A report has surfaced saying the Barisan Nasional candidate in the Tanjung Piai by-election in Johor, Wee Jeck Seng, wrote a note on Facebook expressing the Malaysian Chinese Association’s opposition to the Jawi, or Islamic calligraphy.
In the post, Wee had said: “MCA unites to oppose Jawi and defend Kolej Universiti Tunku Abdul Rahman, is that playing racial issues?” But the latter edited the words ‘oppose Jawi’ out of the post later on.
The Pakatan Harapan machinery is geared to hit the BN hard on the Jawi issue.
But the story by Malaysiakini has hit the BN coalition in a weak spot, with all its leaders now rallying towards the candidate to deny such allegations.
- Advertisement -
However, the internet can’t lie, they say, though Malaysiakini was singled out yesterday in Johor at an MCA press conference. The party leader accused the portal of misquoting the candidate on his post about Jawi which was introduced in vernacular schools.
Malaysiakini translated the post which was written in Chinese into Bahasa Malaysia indicating the MCA’s opposition towards Jawi.
The MCA is now saying Malaysiakini took the post out of context but the candidate edited the post afterwards, claims Malaysiakini, to omit the words “opposing Jawi”.
The news portal posted both versions, the edited one and the original post which it says can still be viewed as Facebook keeps a record of all edits.
Ex-PM Najib Razak has also defended the BN candidate saying the post was not edited, though this can be proven otherwise if one checks the edit history of the post.
The controversy does not seem to have a major impact on the surge of support for the BN candidate though.
Najib attracted a crowd of 5,000 at a rally on Wednesday night. The figure is out of reach of PH rallies which is drawing flak, reports say.
The by-election takes place tomorrow. Results will be in late in the evening. -/TISG
A view of the crowd at a BN rally in Johor
- Advertisement -


--- layout: default title: Home ---
Find out all about our RESTful APIs and .Net SDK
Take a look at our new blog from the Mix Radio Engineering team
Register for an API key
Stuck? Get support from the people making the API
Got a suggestion for our APIs? Let us know on User Voice
Take a look through our code on GitHub


title=About date=2018-11-10 type=page status=published ~~~~~~
The event is promoted by Guatemala Java Users Group -GuateJUG-, which holds monthly meetings open for everyone, giving a space for discussion in Java(as JVM) related topics. Event's main objective is to promote Java as platform by promoting open knowledge as other spaces already existent in worldwide cities.
JConf Guatemala is the oldest Java conference in Central America (Since 2011) , being the most successful Java event in the region (as far as we know :) ). The event presents talks and workshops in three/four tracks, alowing attendees to have access in a free/libre/gratis way to this knowlege.
The event is the result of constant meetings between JUG members, being open for everyone.


In case you didn't know, STTMP stands for Starsoft Tech Media Publications.
Starsoft Tech Media Publications is a software and game development company.
Currently, we have no projects or anything, but we have a Scratch account with... lackluster games (at best).


--- layout: post title: Using SwitchTower with multiple deployment stages post_id: 194 categories: - tips & tricks date: 2006-01-03 14:54:00.000000000 -07:00 author: Jamis permalink: 2006/1/3/using-switchtower-with-multiple-deployment-stages.html ---
Back in August I blogged briefly about having a conditional SwitchTower configuration, which would allow you to specify a different configuration for various stages of deployment. Recently, people have been asking for “deploy_stage” and “deploy_production” in SwitchTower itself, but I’m pushing back. It seems to me that it is easy enough to do in SwitchTower that there doesn’t really need to be a specific feature set in ST for it (but you tell me).
Revisiting that entry, I wouldn’t do it much differently today. The deploy.rb
would still look more or less like this:
1 2 3 4 5 6 7 8 9 10 11 |
set :application, "example" if ENV["STAGE"] == "stage" set :deploy_to, "/u/apps/stage/#{application}" role :app, "staging.example.com" role :web, "staging.example.com" role :db, "staging.example.com", :primary => true else role :app, "foo.example.com", "bar.example.com" role :web, "123.example.com", role :db, "tiger.example.com", :primary => true end |
It is as simple as an if
statement, and it lets you configure multiple deployment stages (if you need them). If using environment variables is less than tasteful to you, you can also use ST variables:
1 2 3 4 5 6 7 |
... if stage == "stage" ... else ... end ... |
You would then invoke the task like:
switchtower -vvvv -S stage=production -r config/deploy -a deploy
(Note the use of a capital -S
—this causes the variable to be set before the recipe file is loaded, which is necessary since the variable is referenced as the file is being read.)
Note that using a variable complicates things a little bit if you are using rake, because you can’t pass the variable to the ST task from the rake command-line. Instead, you’ll need to create a new rake task for each value you want to pass to the variable (i.e., deploy_stage
and deploy_production
). For this reason, I prefer to use environment variables, but your mileage may vary.
So, from those of you who need multiple deployment stages, is this sufficient for you? If not, why?


CrimPapers
Articles published on 3 June 2018
On 3 June 2018, 4 new articles were published in 3 journals.
The Chiral Nature of the Enhanced Interrogation Programme
Change and Consistency in Descriptions of Child Maltreatment: A Comparison of Caregivers’ Perspectives 20 Years Apart
Using Time-to-Event Analysis to Identify Preconception and Prenatal Predictors of Child Protective Services Contact
Secondary Traumatic Stress: Prevalence and Symptomology Amongst Detective Officers Investigating Child Protection Cases


Expansion Panels have an collapsed section and a expanded section. Optionally you can add a header and footer to the expanded sections. By default bothe the header and footer will stick to the tops and bottoms of the md-content container they are in, but you can disable that.


About HTML/CSS, since my work related to building webpages, so i would love to understand more and more about CSS.
For javascript, I would love to try creating a plugin for my own, about styling table, date picker, anything related to transform a simple element into something more.
I have taken interest in Progressive Web Application, along with .NET Core, so it would be perfect if i could learn more or join some work related to these techs.


The English Patient (1996)
Grade: 73
"The English Patient" dominated the 1997 Academy Awards, nearly sweeping the important technical awards (Best Picture, Best Director, Best Cinematography, Best Score, Best Costumes, Best Editing). The film had a host of acting nominations (Best Actor, Best Actress, Best Supporting Actress) but no awards, perhaps because the cast was not famous enough.
Impressed by the honors disposed by the Academy, a flood of people rushed to the video store to rent "The English Patient", having ignored it while it played in theaters. They were confronted with a slow-moving art film nearly three hours in length. Lots of great cinematography, a heavy dose of romance, an unfamiliar (except Willem Dafoe) cast, and a definite lack of action and stock characters.
I was a little disappointed by "The English Patient" as well. John Seale's cinematography is excellent, and the script is intelligent and appropriately sparse. But while it is a very good film, it is not outstanding. The film is slowly paced and drags at times. The half of the story featuring nurse Juliette Binoche is not as interesting as the half featuring pre-patient Ralph Fiennes. Also (this complaint is really petty) the burn victim is a dead ringer for the shape-shifter character on "Star Trek: Deep Space Nine".
"The English Patient" has two storylines, one set in 1945 Italy, the other in 1938-1944 Africa.  She falls for seriously burned Fiennes, and has him taken to a deserted monastery. They are soon visited by threatening refugee Dafoe, who suspects that Fiennes is a traitor, and Naveen Andrews, an Indian bomb squad specialist who serves as love interest for Binoche.
The story of Fiennes' jaded but impassioned character is told in intermittent flashbacks. He works for the British, making maps of Africa just prior to World War II. Lovely Kristin Scott Thomas, wife of one of Fiennes' friends, joins the expedition. Thomas and Fiennes are thrown together by events, and they have a torrid affair. Her husband (Colin Firth) suspects.
"The English Patient" is beautifully filmed, but not emotionally moving. The tearjerker ending is a little contrived, and falls just short. There is one heckuva plane crash, however.
<EMAIL_ADDRESS>http://members.tripod.com/~Brian_Koller/movies.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Model Zoo¶
This is a list of pretrained ParlAI models. They are listed by task, or else in a pretraining section (at the end) when meant to be used as initialization for fine-tuning on a task.
Task: Convai2¶
Kvmemnn Convai2 Model¶
[related project] [external website]
KvMemNN trained on the ConvAI2 task, used as a baseline in the competition.
Example invocation(s):
python -m parlai.scripts.interactive -mf zoo:convai2/kvmemnn/model
Enter Your Message: Hi, what do you think of peanuts?
there was a kid in the school system my mum works for with a severe peanut allergy
Seq2Seq Convai2 Model¶
[related project] [external website]
SeqSeq trained on the ConvAI2 task, used as a baseline in the competition.
Example invocation(s):
python -m parlai.scripts.interactive -mf zoo:convai2/seq2seq/convai2_self_seq2seq_model -m legacy:seq2seq:0
Enter Your Message: Hi, what do you think of peanuts?
[Seq2Seq]: i don't have any , but i do not have a favorite .
Controllable Dialogue Convai2 Model¶
Seq2Seq model with control trained on ConvAI2
Example invocation(s):
python -m parlai.scripts.eval_model --model projects.controllable_dialogue.controllable_seq2seq.controllable_seq2seq:ControllableSeq2seqAgent --task projects.controllable_dialogue.tasks.agents -mf zoo:controllable_dialogue/convai2_finetuned_baseline
{'exs': 7801, 'accuracy': 0.0006409, 'f1': 0.1702, 'bleu': 0.005205, 'token_acc': 0.3949, 'loss': 3.129, 'ppl': 22.86}
Poly-Encoder Transformer Convai2 Model¶
Polyencoder pretrained on Reddit and fine-tuned on ConvAI2 scoring 89+ hits@1/20. See the pretrained_transformers directory for a list of other available pretrained transformers
Example invocation(s):
python examples/interactive.py -mf zoo:pretrained_transformers/model_poly/model -t convai2
hi how are you doing ?
[Polyencoder]: i am alright . i am back from the library .

[Polyencoder]: i work at the museum downtown . i love it there .
Enter Your Message: what is your favorite drink?
[Polyencoder]: i am more of a tea guy . i get my tea from china .
python examples/eval_model.py -mf zoo:pretrained_transformers/model_poly/model -t convai2 --eval-candidates inline
[ Finished evaluating tasks ['convai2'] using datatype valid ]
{'exs': 7801, 'accuracy': 0.8942, 'f1': 0.9065, 'hits@1': 0.894, 'hits@5': 0.99, 'hits@10': 0.997, 'hits@100': 1.0, 'bleu': 0.8941, 'lr': 5e-09, 'total_train_updates': 0, 'examples': 7801, 'loss': 3004.0, 'mean_loss': 0.385, 'mean_rank': 1.234, 'mrr': 0.9359}
Bi-Encoder Transformer Convai2 Model¶
Bi-encoder pretrained on Reddit and fine-tuned on ConvAI2 scoring ~87 hits@1/20.
Example invocation(s):
python examples/interactive.py -mf zoo:pretrained_transformers/model_bi/model -t convai2
hi how are you doing ?
[Biencoder]: my mother is from russia .
Enter Your Message: oh cool, whereabouts ?
[Biencoder]: no , she passed away when i was 18 . thinking about russian recipes she taught me ,
Enter Your Message: what do you cook?
[Biencoder]: like meat mostly , me and my dogs love them , do you like dogs ?
python examples/eval_model.py -mf zoo:pretrained_transformers/model_bi/model -t convai2 --eval-candidates inline
[ Finished evaluating tasks ['convai2'] using datatype valid ]
{'exs': 7801, 'accuracy': 0.8686, 'f1': 0.8833, 'hits@1': 0.869, 'hits@5': 0.987, 'hits@10': 0.996, 'hits@100': 1.0, 'bleu': 0.8685, 'lr': 5e-09, 'total_train_updates': 0, 'examples': 7801, 'loss': 28.77, 'mean_loss': 0.003688, 'mean_rank': 1.301, 'mrr': 0.9197}
Task: Squad¶
Drqa Squad Model¶
DrQA Reader trained on SQuAD
Example invocation(s):
python -m parlai.scripts.eval_model -mf zoo:drqa/squad/model -t squad -dt test
{'exs': 10570, 'accuracy': 0.6886, 'f1': 0.7821, 'hits@1': 0.689, 'hits@5': 0.689, 'hits@10': 0.689, 'hits@100': 0.689, 'bleu': 0.1364, 'train_loss': 0}
Task: Wikipedia¶
Wikipedia Retriever (Used For Open Squad)¶
Retrieval over Wikipedia dump, used for DrQA on the open squad dataset. This is the dump from the original paper, used for replicating results.
Example invocation(s):
python -m parlai.scripts.interactive --model tfidf_retriever -mf zoo:wikipedia_2016-12-21/tfidf_retriever/drqa_docs
Enter Your Message: Yann LeCun
[candidate_scores]: [507.05804682<PHONE_NUMBER>3<PHONE_NUMBER>8<PHONE_NUMBER>2<PHONE_NUMBER>9]
[SparseTfidfRetrieverAgent]:
Deep learning (also known as deep structured learning, hierarchical learning or deep machine learning) is a branch of machine learning based on a set of algorithms that attempt to model high level abstractions in data. In a simple case, you could have two sets of neurons: ones that receive an input signal and ones that send an output signal. When the input layer receives an input it passes on a modified version of the input to the next layer. In a deep network, there are many layers between the input and output (and the layers are not made of neurons but it can help to think of it that way), allowing the algorithm to use multiple processing layers, composed of multiple linear and non-linear transformations.
Deep learning is part of a broader family of machine learning methods based on ...
to commonsense reasoning which operates on concepts in terms of production rules of the grammar, and is a basic goal of both human language acquisition and AI. (See also Grammar induction.)
Wikipedia Retriever (Used For Wizard Of Wikipedia)¶
Retrieval over Wikipedia dump, used for DrQA on the open squad dataset.
Example invocation(s):
python -m parlai.scripts.interactive --model tfidf_retriever -mf zoo:wikipedia_full/tfidf_retriever/model
Enter Your Message: Yann LeCun
[candidate_scores]: [454.74038503<PHONE_NUMBER>8<PHONE_NUMBER>3<PHONE_NUMBER><PHONE_NUMBER>2]
[SparseTfidfRetrieverAgent]:
Yann LeCun (; born 1960) is a computer scientist with contributions in machine learning, computer vision, mobile robotics and computational neuroscience. He is well known for his work on optical character recognition and computer vision using convolutional neural networks (CNN), and is a founding father of convolutional nets. He is also one of the main creators of the DjVu image compression technology (together with Léon Bottou and Patrick Haffner). He co-developed the Lush programming language with Léon Bottou.
Yann LeCun was born near Paris, France, in 1960. He received a Diplôme d'Ingénieur from the Ecole Superieure d'Ingénieur en Electrotechnique et Electronique (ESIEE), Paris in 1983, and a PhD in Computer Science from Université Pierre et Marie Curie in 1987 during which he ...
of Science and Technology in Saudi Arabia because he was considered a terrorist in the country in view of his atheism.
In 2018 Yann LeCun picked a fight with a robot to support Facebook AI goals.
Task: Wizard_of_wikipedia¶
Wizard Of Wikipedia (End To End Generator)¶
End2End Generative model for Wizard of Wikipedia
Example invocation(s):
python examples/display_model.py -t wizard_of_wikipedia:generator -mf zoo:wizard_of_wikipedia/end2end_generator/model -n 1 --display-ignore-fields knowledge_parsed
[chosen_topic]: Gardening
[knowledge]: no_passages_used __knowledge__ no_passages_used
Gardening __knowledge__ Gardening is the practice of growing and cultivating plants as part of horticulture.
Gardening __knowledge__ In gardens, ornamental plants are often grown for their flowers, foliage, or overall appearance; useful plants, such as root vegetables, leaf vegetables, fruits, and herbs, are grown for consumption, for use as dyes, or for medicinal or cosmetic use.
Gardening __knowledge__ Gardening is considered by many people to be a relaxing activity.
Gardening __knowledge__ Gardening ranges in scale from fruit orchards, to long boulevard plantings with one or more different types of shrubs, trees, and herbaceous plants, to residential yards including lawns and foundation plantings, to plants in large or small containers ...
there had been several other notable gardening magazines in circulation, including the "Gardeners' Chronicle" and "Gardens Illustrated", but these were tailored more for the professional gardener.
[title]: Gardening
[checked_sentence]: Gardening is considered by many people to be a relaxing activity.
[eval_labels_choice]: I live on a farm, we garden all year long, it is very relaxing.
[checked_sentence_parsed]: Gardening __knowledge__ Gardening is considered by many people to be a relaxing activity.
[WizTeacher]: Gardening
I like Gardening, even when I've only been doing it for a short time.
[eval_labels: I live on a farm, we garden all year long, it is very relaxing.]
[TorchAgent]: i love gardening , it is considered a relaxing activity .
Wizard Of Wikipedia (Full Dialogue Retrieval Model)¶
Full Dialogue Retrieval Model for Wizard of Wikipedia
Example invocation(s):
python examples/display_model.py -t wizard_of_wikipedia -mf zoo:wizard_of_wikipedia/full_dialogue_retrieval_model/model -m projects:wizard_of_wikipedia:wizard_transformer_ranker --n-heads 6 --ffn-size 1200 --embeddings-scale False --delimiter ' __SOC__ ' --n-positions 1000 --legacy True
[chosen_topic]: Gardening
[knowledge]: Gardening Gardening is the practice of growing and cultivating plants as part of horticulture.
Gardening In gardens, ornamental plants are often grown for their flowers, foliage, or overall appearance; useful plants, such as root vegetables, leaf vegetables, fruits, and herbs, are grown for consumption, for use as dyes, or for medicinal or cosmetic use.
Gardening Gardening is considered by many people to be a relaxing activity.
Gardening Gardening ranges in scale from fruit orchards, to long boulevard plantings with one or more different types of shrubs, trees, and herbaceous plants, to residential yards including lawns and foundation plantings, to plants in large or small containers grown inside or outside.
Gardening Gardening may be very specialized, with only one type of plant grown, ...
there had been several other notable gardening magazines in circulation, including the "Gardeners' Chronicle" and "Gardens Illustrated", but these were tailored more for the professional gardener.
[title]: Gardening
[checked_sentence]: Gardening is considered by many people to be a relaxing activity.
[eval_labels_choice]: I live on a farm, we garden all year long, it is very relaxing.
[wizard_of_wikipedia]: Gardening
I like Gardening, even when I've only been doing it for a short time.
[label_candidates: OK what's the history?|Right, thats cool. I had no idea they still did the DVD thing, What is Netflix's highest rated show? do you know? |I will definitely check his first album out as he sounds interesting.|I don't know a whole lot about it. I was raised Catholic but don't practice anything now.|Well , this was a good conversation. |...and 95 more]
[eval_labels: I live on a farm, we garden all year long, it is very relaxing.]
[TorchAgent]: I live on a farm, we garden all year long, it is very relaxing.
examples/interactive.py -m projects:wizard_of_wikipedia:interactive_retrieval -t wizard_of_wikipedia
[ Your chosen topic is: Teapot ]
Enter Your Message: do you like tea?
[WizardRetrievalInteractiveAgent]: Yes! I only use teapots that have a little air hole in the lid. That prevents the spout from dripping or splashing when the tea is poured. Most teapots have this though.
Enter Your Message: what about kettles?
[WizardRetrievalInteractiveAgent]: I would think you could use them to heat any type of liquid! I use my teapots with a tea cosy. It's a thermal cover that helps keep the tea hot.
Enter Your Message: do you like earl grey?
[WizardRetrievalInteractiveAgent]: I think I'll try some Lipton, I love their green tea!
Task: Light_dialog¶
Light Bert-Biranker Dialogue Model¶
LIGHT Dialogue task, replicating the numbers from the paper.
Example invocation(s):
python examples/eval_model.py -t light_dialog -mf zoo:light/biranker_dialogue/model
{'exs': 6623, 'accuracy': 0.7586, 'f1': 0.7802, 'hits@1': 0.759, 'hits@5': 0.965,'hits@10': 0.994, 'hits@100': 1.0, 'bleu': 0.7255, 'lr': 5e-05, 'total_train_updates': 15050,'examples': 6623, 'loss': 5307.0, 'mean_loss': 0.8013, 'mean_rank': 1.599, 'train_accuracy': 0}
Task: Image_chat¶
Transresnet (Resnet152) Image-Chat Model¶
Transresnet Multimodal Model pretrained on the Image-Chat task
Example invocation(s):
python examples/eval_model.py -t image_chat -mf zoo:image_chat/transresnet_multimodal/model -dt test
{'exs': 29991, 'accuracy': 0.4032, 'f1': 0.4432, 'hits@1': 0.403, 'hits@5': 0.672, 'hits@10': 0.779, 'hits@100': 1.0, 'bleu': 0.3923,'first_round': {'hits@1/100': 0.3392, 'loss': -0.002001, 'med_rank': 3.0},'second_round': {'hits@1/100': 0.4558, 'loss': -0.002001, 'med_rank': 2.0},'third_round+': {'hits@1/100': 0.4147, 'loss': -0.002001, 'med_rank': 2.0}}'hits@10': 0.903, 'hits@100': 0.998, 'bleu': 0.4999, 'hits@1/100': 1.0, 'loss': -0.002, 'med_rank': 1.0}
Task: Self_feeding¶
Self-Feeding Chatbot¶
The self-feeding chatbot of Hancock, et al., 2019 (https://arxiv.org/abs/1901.05415). This model learns from is mistakes when actually talking with users. This particular model corresponds to the model with 131k human-human chats + 60k human-bot chats + 60k feedback chats.
Example invocation(s):
python projects/self_feeding/interactive.py --model-file zoo:self_feeding/hh131k_hb60k_fb60k_st1k/model --no-cuda true
Enter Your Message: hi, my name is stephen. what's yours?
[SelfFeeding]: hi there greg . do you have pets ? i've 2 cats named milo and fio .
Enter Your Message: sadly, i have no pets. my landlord isn't a fan.
[SelfFeeding]: sorry to hear that . i always had bad allergies when i liven on my farm in kansas .
python examples/eval_model.py -mf zoo:self_feeding/hh131k_hb60k_fb60k_st1k/model -t self_feeding:all
[ Finished evaluating tasks ['self_feeding:all'] using datatype valid ]
{'exs': 3500, 'dia_rank': 4.654, 'dia_acc': 0.3525, 'fee_rank': 1.0, 'fee_acc': 1.0, 'fee_exs': 1000, 'sat_re': 0.4607, 'sat_f1': 0.5605, 'sat_acc': 0.724}
Task: Dialogue_safety¶
Transformer Classifier Single-Turn Dialogue Safety Model¶
Classifier trained on both the standard and adversarial safety tasks in addition to Wikipedia Toxic Comments.
Example invocation(s):
python examples/eval_model.py -t dialogue_safety:adversarial --round 3 -dt test -mf zoo:dialogue_safety/single_turn/model -bs 40
{'exs': 3000, 'accuracy': 0.9627, 'f1': 0.9627, 'bleu': 9.627e-10, 'lr': 5e-09, 'total_train_updates': 0, 'examples': 3000, 'mean_loss': 0.005441, 'class___notok___recall': 0.7833, 'class___notok___prec': 0.8333, 'class___notok___f1': 0.8076, 'class___ok___recall': 0.9826, 'class___ok___prec': 0.9761, 'class___ok___f1': 0.9793, 'weighted_f1': 0.9621}
Bert Classifier Multi-Turn Dialogue Safety Model¶
Classifier trained on the multi-turn adversarial safety task in addition to both the single-turn standard and adversarial safety tasks and Wikipedia Toxic Comments.
Example invocation(s):
python examples/eval_model.py -t dialogue_safety:multiturn -dt test -mf zoo:dialogue_safety/multi_turn/model --split-lines True -bs 40
{'exs': 3000, 'accuracy': 0.9317, 'f1': 0.9317, 'bleu': 9.317e-10, 'lr': 5e-09, 'total_train_updates': 0, 'examples': 3000, 'mean_loss': 0.008921, 'class___notok___recall': 0.7067, 'class___notok___prec': 0.6444, 'class___notok___f1': 0.6741, 'class___ok___recall': 0.9567, 'class___ok___prec': 0.9671, 'class___ok___f1': 0.9618, 'weighted_f1': 0.9331}
Pretrained Word Embeddings¶
Some models support using Pretrained Embeddings, via torchtext. As of writing, this includes:
fasttext
: 300-dim Fasttext vectors based on mixed corpora (Mikolov et al., 2018)fasttext_cc
: 300-dim Fasttext vectors based on Common Crawl (Mikolov et al., 2018)glove
: 300-dim Pretrained GLoVe vectors based on 840B Common Crawl (Pennington et al., 2014)
Example invocation:
python -m parlai.scripts.train_model -t convai2 -m seq2seq -emb fasttext_cc
Adding ‘-fixed’ to the name e.g. ‘twitter-fixed’ means backprop will not go through this (i.e. they will remain unchanged).
BERT¶
BERT is in the model zoo and is automatically used for initialization of bert bi-, poly- and cross-encoder rankers.
Example invocation:
python -m parlai.scripts.train_model -t convai2 -m bert_ranker/bi_encoder_ranker


Methods
agent (Shout)
agent= (Shout)
close (Shout)
connect (Shout)
connected? (Shout)
delay (Shout)
description (Shout)
description= (Shout)
disconnect (Shout)
dumpfile (Shout)
dumpfile= (Shout)
format (Shout)
format= (Shout)
genre (Shout)
genre= (Shout)
host (Shout)
host= (Shout)
metadata= (Shout)
mount (Shout)
mount= (Shout)
name (Shout)
name= (Shout)
new (Shout)
open (Shout)
pass (Shout)
pass= (Shout)
password (Shout)
password= (Shout)
port (Shout)
port= (Shout)
protocol (Shout)
protocol= (Shout)
public (Shout)
public= (Shout)
send (Shout)
sync (Shout)
url (Shout)
url= (Shout)
user (Shout)
user= (Shout)
user_agent (Shout)
user_agent= (Shout)
username (Shout)
username= (Shout)
version (Shout)


Bomb squad responds to smoking backpack on plane in Chicago
Southwest flight had not taken off
by Artemis Moshtaghian and Eric Levenson, CNNCHICAGO (CNN) - A backpack emitting smoke aboard a stationary Southwest Airlines flight on Monday drew a response from the bomb squad at Chicago's Midway International Airport.
Southwest said that Flight 285 to Austin, Texas, was in the process of boarding when smoke began showing around a customer's backpack. Flight attendants placed the backpack in a fire-resistant bag and asked the customers to leave the plane, the airline said.
The flameproof bag was moved to the jetway, where Chicago police's bomb squad and arson unit responded.
Chicago Fire Department spokesman Larry Langford told CNN that the passenger carrying the backpack heard a pop and then saw smoke coming from his backpack. Only about 12 rows had been boarded at the time of the incident, and the seat the bag was sitting on did not ignite, Langford said.
There were no reported injuries or requests for medical attention, Southwest Airlines said.
"The flight will continue using a different aircraft and we thank our customers for their patience as we place nothing higher in importance than ultimate safety," the airline said in a statement.


Wednesday, May 22, 2013
Group 5: Amish Gala, Deyvid William, Pankaj Kapania, and Romeo Honvo
Statistics:
| Type | Measurement |
|---|---|
| Total LOC | 3222 (43 classes) |
| Total Production LOC | 2477 (29 classes) |
| Total Unit Test LOC | 742 (14 classes, 40 unit tests, 7 integration tests) |
| Code Coverage (ALL) | 55.6% |
| Code Coverage (Unit) | 32.2% |
| Code Coverage (Integration) | 35.5% |
Collaborative Email Client is simple email client application in which we meet some user requirements:
We decided to focus on a few properties in terms of internal quality (e.g. code quality):
To ensure these goals, we aggressively pursued a clean design, in which our code is simple, readable, and decoupled as much as possible. Where necessary, we have hidden complexity. However, sometimes these goals needed to be flexible in order to meet our targets (for example, making our EmailClient a singleton, as we will show below enabled us to provide a better user experience).
We leveraged the power of Object Oriented Design (OOD) in order to help us meet our code quality goals. Each tier below the UI is coded using clearly defined interfaces, which allowed us to write unit tests and stub out dependencies when needed (for example, the model tests stub out the dependency to the persistence layer). In addition, communication mechanisms between layers is strictly controlled. The view and model layers communicate via the service layer, which is responsible for converting model objects into view-consumable entities, as shown here:
This way, the view really does not know anything about the model.
For the most part of the project, we ensured good communication between all team members, and even attempted pair-programming. This enabled us to establish a suitable naming convention to promote readabilty of our class names, method names, and variable names. When designing and composing objects, we referred to the General Responsibility Assignment Software Patterns (GRASP) which guided us in determining where to put methods and responsibility (e.g. creator pattern, ensuring high cohesion and low coupling etc.)
Finally, to promote maintainability and flexibility, we followed well established conventions and used familiar "code beacons" where appropriate. For example, we utilized Java Collections Framework, and Java Generics - the goal was to minimize the learning curve for future maintainers, and take advantage of well-tested and well-documented functionality provided by the JDK.
In the sections below the approach is described in detail. We start from the most abstract (the package structure), and then go in-depth for the most prominent classes and interactions.
Highlighted in blue are the major CEC packages. As depicted, we deployed an 4-tier architecture which includes: View, Service, Model, and Persistence. We minimized coupling between layers by having dependencies flow from top to bottom. The exception to this was that the service layer needed to communicate with the view layer in order to ensure a consistent user experience. However, this coupling was restricted to a specific mechanism which was well encapsulated. More on this appear below.
Certain cross-cutting concerns span multiple tiers and they were organized into separate packages: Configuration, and Exceptions.
The main view classes are shown and described here:
The major UI classes are EmailClient and Email. EmailClient is created in the main runnable() of our application. It extends JFrame and implements a TreeSelectionListener interface, so that it can respond to clicks on the Folders JTree. Email is the view which is used to create new emails, and to display existing emails. It also extends JFrame, and is created as a response to user actions in the EmailClient.
For simplicity, we implemented many ActionListeners as private internal classes within EmailClient. While this is perhaps not the most clean (speculative) design, it served our purposes nicely. Certain events on the Email JFrame require actions to take place on the EmailClient. For example, if the user is currently looking at the Drafts folder, creates a new email, and saves it to drafts, the EmailClient view should automatically be updated. This is accomplished by providing a callback mechanism which updates the model on which certain UI elements are based.
The main service classes are EmailService and FolderService. Their purpose is to decouple the View classes from the Model classes. They act as a controller and respond to events such as saving an email, moving an email, creating a folder, and deleting a folder.
The main model classes are shown and described here:
The model classes are based on abstractions (Email Interface, Folder Abstract Class), and we implemented an EmailBuilder class to construct Emails in a fluent manner (see EmailBuilderTests). Additionally, a FolderFactory provides a convenient way to retrieve a folder object for a given path. Folders can either be System Folders (e.g. Inbox, Drafts..), or User Folders (e.g. Jokes etc.).
The main persistence classes are shown and described here:
The persistence classes are based on two main interfaces (EmailDao and FolderDao). Each object can be created using their respective factory (EmailDaoFactory and FolderDaoFactory). The only mode of persistence provided in this application is storage via XML files in the Windows file system. Thus two concrete implementations are provided (EmailXMLDao and FolderXMLDao). The diagram shows very nicely that the model layer only knows about the interfaces, and the factories - it has no clue about the XML files.
Example of isolated unit tests:
In this example, the class we wish to test is EmailImpl (the model class for Email). The issue is that EmailImpl depends on EmailDao (the interface for the persistence layer). In our tests, we did not want to actually save or delete files from the hard drive. Thus we designed our tests as shown above. EmailImplCUT extends EmailImpl, and injects the fake EmailDao. This fake simply logged calls which were made to it. This is only possible since EmailImpl depends on the EmailDao interface, and not directly on the concrete EmailXMLDao class. We used a few XUnit test patterns here - we introduced sensing variables to check if stubbed classes were called, and we inherited from the actual EmailImpl class so that we could inject the fake. Very cool!
Look and Feel
Look and feel (L & F) refers to the appearance of GUI widgets and their behaviors. Swing's architecture enables multiple L & F's that provides a concrete implementation for each of the ComponentUI subclasses. To improve user experience we decided to use SystemLookAndFeel that implements an UI that is native to the Operating System the application is running on.
Icons/Images
All Icons used in our project are part of the "Primo icon set" provided freely by Double-J Design for for personal and commercial use in their website.
Hot keys used in our application
Refreshing Policy
The issue we faced here was that when the user created a new Email, we needed a mechanism to update the EmailClient main window for certain changes. This was solved by allows the Email window to retrieve the running instance of the EmailClient, and update the model. Since the JTree and JTable views were listeners on the model, the views got updated.
Folder Structure Tree - Left Panel: whenever a change is made to the folder structure (adding or deleting a folder) the JTree view's model is set which triggers a rebuild of the view from the persistence layer. This was a safer approach than premature optimization at the view level (by buffering a complex directory structures).
Email Table - Top Panel: Likewise, the strategy adopted to refresh the Email table when a Folder is selected as well as when an email is deleted/moved is to request the persistence layer to check the Operating system's File System and load an updated list of Email Entities (XML Files).
Sorting Folders
Our assumption is that users will always want to see the most recent messages on top. Therefore, each folder is sorted in a descending order. We will not (at least for phase 1) provide another means to sort. To solve this problem, the Email model object implements the Comparable interface, which allowed us to define a CompareTo method and sort by the Last Modified Time.
Each layer has it's own usable format. For example, emails are persisted in the file system as XML:
The model has its own format (which is similar to this one, except the link to ParentFolder is a reference to an actual Folder model object). And then the view uses EmailViewEntity which only has Strings.
Problem: how do we validate email addresses and folder names so that they conform to some pre-determined standard?
Our solution was to come up with a Validator class, which sits in the view package. The class has two public methods: isValidSendees(String), and isValidFolderName(String). The EmailClient and Email classes use the validator before invoking the service layer. The validator uses some rudimentary regex patterns to prevent the user from creating invalid folder names, and sending emails to addresses which are badly formed. This is acceptable for our application, but would not stand up to rigorous testing.
We've decided to allow subfolder creation at any point in the tree except for the root node. As specified by the professor, we will prevent the deletion of Inbox (and other System folders: Drafts, Outbox and Sent). This is accomplished by modelling a parent abstract Folder class, which implements the main create/updated/delete methods, and defining two subclasses: SystemFolder and UserFolder. Both subclasses override the delete method and act accordingly. A factory FolderFactor is responsible for creating the runtime model objects according the the rules stipulated above.
The problem we faced was that when parsing and comparing dates in order to sort emails, the DateFormat class throws a ParseError which is a checked exception. This caused us issues because we had to either add a "throws"" keyword into the signature, or surround by try/catch).
To circumvent this issue, we handle the exception in a protected method in the EmailImpl class, and then re-throw an unchecked (runtime) exception. The unit test code can catch it, and we can correctly test the behavior (that an exception WAS thrown).
In EmailXMLDao, we are using a StreamSource.xls file to help us format the XML output:
StreamSource stylesource = new StreamSource(getClass().getResourceAsStream("proper-indenting.xsl"));
Transformer transformer = transformerFactory.newTransformer(stylesource);
We used the following as inspiration:
Stack Overflow link
Something is wrong with opening "badly formatted" emails. We need to double check why sometimes emails in the Drafts folder are read-only.
After we create or delete a subfolder, there's an problem that we redraw the JTree. This doesn't provided the best user experience, but it was an algorithmically challenging problem, and we didn't want to spend more time on it.


anchor-tags
Local Link
Local Link 2
External Link
Link to image
click here to view image
Another image


| Up | TOC | Index | |||||
| << 8 API Reference | < 9.22 Version 2.3 Beta January 15, 2002 | Up: 9 Release Notes | 9.24 Euphoria to C Translator Official June 5, 2001 > | 10 Index >> |
9.23 Version 2.3 Alpha November 30, 2001
This release updates the Euphoria Interpreter for WIN32, DOS32 and Linux. It also updates the Euphoria To C Translator for all platforms, and it introduces a new product - the Euphoria Interpreter Source Code.
- The registration incentives and prices have changed.
- The Interpreter product now has just one option: WIN32, DOS32 and Linux, formerly $59, for just $39.
- The Interpreter source code (minus a few registered features) is now available for $49. See the a href=license.htm>source license and a href=register.htm>register.doc for more details.
- The Translator continues to cost $29.
- When Public Domain users reach 300 statements, they will no longer lose the run-time error diagnostics. They will only lose the trace() facility.
- The Euphoria interpreter can now be built successfully by 6 different C compilers on 3 platforms.
- New namespace qualifiers eliminate naming conflicts between identical global symbols declared in different include files. Also, local symbols will now override global symbols of the same name, rather than causing an error.
- The Complete Edition Interpreter product comes with a new 2-pass binder/shrouder that eliminates all unused routines and constants, resulting in smaller executable files. It also has an option to bind clear source, so you can get understandable error messages from your users.
- A new environment variable, EUINC, has been introduced. If present, it specifies a list of additional directories that will be searched for include files. The directory containing the main file is always searched first, then the directories in EUINC, then euphoria\include.
- The Interpreter now supports a new trace mode, trace(3). It logs all executed Euphoria statements to a file, so you'll be able to see the last statement that was executed at the time of any crash, as well as the 499 statements that preceded it. This is particularly helpful in the case of machine-level crashes where Euphoria is unable to write an ex.err file. Thanks to Matthew Lewis.
- The Euphoria interpreter can now pass Euphoria data - atoms and sequences, to .dll files coded in Euphoria and built by the Translator. Use the new E_ types in dll.e
- On Linux we added RTLD_GLOBAL on the dlopen() call. This lets you link successfully with more shared libraries.
- On Linux, when using the #! feature on the first line, to make your source file directly executable, you no longer need a .exu extension on your file. Linux programmers often prefer to have no extension on their executable files.
- Windows callback routines written in Euphoria can now take 9 arguments (was 8). Thanks to Matt Lewis.
- In addition to C_DOUBLE (8-byte floating point), C_FLOAT (4-byte floating-point) is now supported for arguments and return values from C routines. Thanks to David Guy.
- Windows .dlls opened with open_dll() are now closed automatically when your program terminates. This avoids a tiny bit of memory leakage. Thanks to Euman.
- safe.e has a new option to check just the edges of registered blocks and not complain if other blocks of memory are used.
- get_bytes() is 30% faster.
- allocate_string() was speeded up. Thanks to Yuku Sugianto.
- The mydata.ex demo program now uses an EDS database.
- bug fixed - Translator: When a global or local variable containing a sequence or floating-point number was assigned the result of a function, and at some point during the function call the global or local variable was overwritten, some corruption would take place, leading to a probable crash later in the program. Thanks to Sergio Gelli.
- bug fixed - Linux Interpreter: programs of more than a few thousand lines had a chance (maybe 20%) of having one of their statements crash whenever it was executed.
- bug fixed - Interpreter: s[i][j]...[k] = s caused the interpreter to crash. i.e. an assignment of an entire sequence to an element of an element of itself using 2 or more levels of subscripting. Thanks to Henri Goffin.
- bug fixed - Linux binder: (Kenneth Rhodes) Bound executable programs stored somewhere on the search path would not run properly unless they were in the current directory or unless you specified the full path to the executable.
- bug fixed - Binder: "with profile_time" in a bound or shrouded program would cause a crash
- bug fixed - DOS Interpreter: In image.e, put_screen_char() has been corrected to have: if overflow > 0 then ... instead of: if overflow then ...
- bug fixed - Interpreter: A time optimization for slicing could in rare cases cause a lot of wasted space. The optimization has been adjusted to handle those cases. Thanks to Brian Clausing.
- bug fixed - safe.e: free() and free_low() were not actually freeing the block of memory, and on Linux free() could cause a segmentation violation. The same routines in machine.e were ok.
- bug fixed - Translator for DJGPP: A couple of minor differences from ex.exe in the display of text were corrected.
- bug fixed - define_c_var(): works on WIN32 too. The documentation was corrected.


{% endwith %}
{{ game.name }}
{% if game.has_steam %}
Steam
{% endif %}
{% if game.has_origin %}
Origin
{% endif %}
{% if game.has_uplay %}
Uplay
{% endif %}
No Keys are Available
Sorry! If you'd like to be notified about future games, join my mailing list or enable
browser notifications for my site (if your browser supports it).


If you'd have to pick 10 movies you like, which would you choose?
Tell me the title of a movie!
Here's the scores of the movie:
If you'd have to pick 10 movies you like, which would you choose?
Tell me the title of a movie!
Here's the scores of the movie:


Iowa has recently increased its efforts to bring Computer Science courses to K-12 students. NewBoCo is invested in this initiative, and is working to create a more accurate picture of implementation in Iowa schools. Some of the resources shown on this site include results from an ongoing survey for schools to share what, if anything, they are offering for Computer Science.
Feel free to explore the current data, and if you think the information is incorrect, you can fill out the survey (https://code.org/yourschool) and we'll gladly update it!
The chart on the right is a visual representation of all disctricts that have responded to our question: Do You Teach Computer Science?
The Legend for the color fields is as follows:
- Gray Districts = Did not respond
- Red Districts = 0–25% responded
- Yellow Districts = 26–74% responded
- Blue Districts = 75–100% responded


The world's most-loved social storytelling platform
Wattpad Studios discovers untapped, unsigned, and talented writers on Wattpad and connects them to global multi-media entertainment companies. Find out more..
Get published
Get produced to movie or film
Get adapted to a TV series
Enter writing contests to get published, win awards, and partner with global brands
Wattpad’s annual awards program committed to celebrating the best stories around the world.


Posted by Chengcen on July 10, 2016
Posted by Chengcen on June 28, 2016
Posted by Chengcen on June 27, 2016
Posted by Chengcen on June 26, 2016
Posted by Chengcen on June 23, 2016
Posted by Chengcen on June 20, 2016
Posted by Chengcen on June 16, 2016


Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
Jose
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
Maria
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s


{% extends "_layouts/default.html" %} {% set title = "Microsoft Touch Develop - Platforms" %} {% set description = "Microsoft Touch Develop - Platforms" %} {% block body %}
The TouchDevelop Web App runs in most modern browsers.


FAVplayer
The FAVPlayer is an AVPlayer that let you play Frequency’s videos Natively. Here’s the snippet that would let you quickly play a Frequency Video.
To include this framework to your project:
set up your project with Cocoapods:
https://guides.cocoapods.org/using/using-cocoapods
Add this line to your Podfile:
pod 'FAVPlayer', :git => 'https://github.com/frequency/frequency-ios-sdk-public.git', :tag => '0.0.1'
Then in your terminal, at the root of your project, pod update
To play a video
First you’ll have to authenticate, then create the player and pass it the token and deviceId.
var f = FAVPlayer.init(apiUrl: "https://prd-freq.frequency.com", token: "TOKEN_ID", deviceId: "DEVICE_ID")
Create an avPlayerViewController and assign the newly created favPlayer as its player.
var avPlayerViewController = AVPlayerViewController.init()
avPlayerViewController.player = favPlayer
Load a videoId provided by a Frequency service
favPlayer.load(videoId: "VIDEO_ID")
Present the AVPlayerViewController.
self.present(avPlayerViewController, animated: true, completion: nil)
The Demo App
Open the FAVPlayer.xcodeproj Insert the token and deviceId in the Player constructor in the MainViewController
Launch the app on a device or simulator
A video will play
Note: if you’re not using htpps://prd-freq.frequency.com you will need to change the video ids and channel ids in DemoConstants


Week 1 of research in North Sheilds library.
Users asked to send documents at the beginning of the service immediately if they have not provided a date that matches our records. They can carry on in the service however their claim is not complete until they have sent documents to prove their date of birth. They were given a list of documents in this iteration, one from one list or two from another.
To gather insight into users experience, understanding, expectations and behaviour in regards to providing their DoB and encountering the potential outcome of sending documents, and being faced with failure pages.


Can Renders Help you Understand the Future of Old Buildings?
- Written by Mónica Arellano
- about 11 hours
The history of the spaces presents an important diversity throughout the world, which corresponds to different geographical, economic and cultural moments and conditions. Technology plays an important role since the constructions through which time has passed also work with a kind of sample that breaks down all the advances and ambitions in force of the time, leaving reflections that it are important to keep today.
Over the centuries, society has experienced various moments that demonstrate this evolution in architecture. But what would happen if one looked again at some of those moments and intervened with the tools and technical knowledge of today? For this, Budget Direct has created a new series of CG renders that involves six old buildings with 21st-century gestures, using current (and future) housing design trends.
Egypt
"Three thousand years ago, most Egyptian people lived in houses made of mudbrick. In fact, the word for a mudbrick, ‘adobe’, comes from the ancient Egyptian word, “dbe.” There was very little wood available in ancient Egypt, but when the Nile flooded, it was practical to make bricks from the resultant mud combined with straw. Entire families would occupy a single room, although in hot weather they might sleep on the roof. The narrow windows of the original buildings were designed to keep the mudbrick houses cool. Our updated version features prism-like extensions made of clean-cut limestone, which is ideal for blocking heat from the outside. Our architects wanted to create a visual clash by placing futuristic forms atop historic ruins – the slit windows and slanted roofs add that dynamic, modern look."
USA
"Traditional pueblo houses were constructed from adobe bricks or limestone blocks. They had as many as five storeys, each set back from the floor below to create a pyramid-type shape. The walls were very thick and, with multiple families in each building, there wasn’t much space.Our architects have created more room to live while maintaining the social feel of the pueblos. New semi-open terraces feature glazed prisms for social gatherings, offering epic ‘observatory deck’ views over the plains of America’s south-west. The prisms are augmented with photovoltaic glass panels on the facades so that these modernized homes can run on renewable energy."
China
"Chinese Siheyuan date back to the Western Zhou Period (1045–770 BC). A typical siheyuan is symmetrical and features four buildings around a quadrangular courtyard. These home complexes were built according to strict height, design, color, and decoration restrictions, depending on the status of the owner. As such, our updated siheyuan boasts an overdue cosmetic makeover. New columns and facades feature angular surfaces, creating a clean-cut, stoic, yet kinetic vibe. The beautiful original roofs have been kept mostly intact, but the addition of solar panels adds a welcome touch of sustainability. Finally, the courtyard has been treated to new grass and pebble areas useful for meditation and play."
Iceland
"An Icelandic turf house consists of a wooden frame stuffed with blocks of turf (grass still embedded in the earth) on a stone foundation. Only the front around the doorway is bared. The entrance leads to a big hall (sometimes via an antechamber) with a firepit in the middle. Our renovated turf house complex plays with the ‘badly hidden’ appearance of traditional turf houses, which seem to sink back into the landscape. The steel-frame dome looks partly natural yet completely alien. Panels of turf and timber alternate with glass windows, using reflections to create an improbable, angular mound of grass, wood, and… clouds! In a subtler touch, the wooden planks that form the facades have been rearranged at decorative angles."
Peru
"Incan architecture is renowned for precise and sophisticated use of stone blocks. However, more humble Incan homes would often be built from unworked field stones or even adobe bricks. Roofs were sloped and usually made of thatched grass or reeds on a wood or cane frame. The settlement we chose to renovate boasts a particularly exhilarating view. We wanted to amplify the strangeness of the arrangement and create more space. We did so by designing wedge-shaped volumes of black concrete and glass that seem like prisms penetrating the rooves. The centrepiece is an infinity pool suspended from the top property, creating an unparalleled mountain view experience."
Italy
"Villa architecture in ancient Rome was very diverse in design. But as a general rule an entrance door in the middle of the façade would open up into a corridor leading to a courtyard. This would be the heart of life in the Roman home. Corinthian style columns or pilasters hung with retractable doors separated the courtyard from the surrounding rooms. How do you extend an enclosed courtyard? We’ve dug down to create a second level. An island hot tub and lawn add recreational options. They are reached by a glass bridge that allows light to reach the extra guest rooms around the new, lower courtyard. Solar brick roofs power the complex, while a greenhouse on top provides homegrown fruits and vegetables for the residents."


Preparation time
less than 30 mins
Cooking time
over 2 hours
Serves
Serves 4
This cheaper cut of meat is slow cooked to perfection with Moroccan spices and apricots.
Bone out the leg leaving the very tough meat at the end of the knuckle on the bone. As the meat is to be cut into pieces, no great subtlety is required in taking it off the bone just try and keep the pieces as large as possible to begin with. Trim any major fat and gristle off the meat and cut into large (5x5cm/2x2in) pieces. Most meat for stews is cut too small.
Roast the bone and the knuckle in a hot oven for ten minutes, put in a pan with a few stock vegetables (carrots, onion, celery) and a bay leaf, bring to the boil and then simmer very gently for 1½-2 hrs. Strain the stock through a fine sieve.
Rinse the apricots well in cold water then place in a bowl. Pour over enough boiling water from the kettle to barely cover them. Leave to soak for at least an hour (if you are using hunza apricots, better make it two).
Heat half the oil in a large frying pan over a medium heat. Add the garlic, onion and carrot and sweat for a few minutes until softened. Add all the spices, and fry for a few more minutes. Transfer to your tagine or stockpot. Turn up the heat under the (now empty) frying pan and add the rest of the oil. Brown the meat quickly in small batches and add to the vegetables. Pour over the juice from the soaked apricots, the glass of wine, the chutney and enough stock to just (and only just) cover the meat.
Bring to the boil, then reduce immediately to a very slow simmer. Cook like this, uncovered (or in a low oven with a lid on if you prefer) for 1½ hours. Add the apricots at this point (any earlier and they would get too mushy) and cook for a further ½ hour. By this time the meat should be extremely tender. Taste a bit and if in doubt cook for a little longer.
Serve with boiled rice, into which you have stirred the whole cumin or caraway seeds.


[§527‑10] Notice, delivery, acceptance, consideration not required. A transfer on death deed shall be effective without notice or delivery to or acceptance by the designated beneficiary during the transferor's life, and without consideration. [L 2011, c 173, pt of §1]