REINDEER GAMES (director: John Frankenheimer; screenwriter: Ehren Kruger; cinematographer: Alan Caso; editors:Tony Gibbs/Michael Kahn; cast: Ben Affleck (Rudy), Gary Sinise (Gabriel), Clarence Williams III (Merlin), Charlize Theron (Ashley), James Frain (Nick), Dennis Farina (Jack Bangs), Isaac Hayes (Zook), Donal Logue (Pug), Danny Trejo (Jumpy), 2000)
Reviewed by Dennis Schwartz
How the mighty have fallen! John Frankenheimer was once recognized as a quality filmmaker capable of making great paranoid thrillers (The Manchurian Candidate), who has slipped off the precipice of reliability and is now reduced to making this nonsensical, exploitive actioner, that has a bleak metallic snowy look to it. It is made as if to bypass movie houses and go straight to video rentals. It is made from a mindless script. No director, cinematographer, or actor could have made this into a credible film (Well! replacing Affleck as the lead couldn't have hurt in immediately improving it. He didn't fit the part, looking collegian and clueless throughout the entire film).
The film's only purpose seems to be to come up with as many ludicrous plot twists as possible and see if any one in the audience can guess how it will work itself out.  The characters became gradually less and less human as the twists kept piling up. The shame of this film, is that it was oddly enough entertaining for long stretches, as it seemed to pass for being a diverting actioner, until it reached the point of no return in tolerability.
Reindeer Games is shot in British Colombia but set in Michigan; the movie is from an original story written by Ehren Kruger (Arlington Road/Scream 3), about an ex-con being forced into participating in a casino robbery and having a love affair turn very ugly.
Rudy (Ben Affleck) and Nick (James Frain) are prison cellmates, both getting out in a couple of days. Rudy was in five years for auto theft and Nick three years for manslaughter; he killed someone trying to defend his girlfriend from being attacked. Nick developed a pen pal relationship with a girl named Ashley (Theron), who will meet him outside the prison when he gets out. Nick's cell is filled with photos of his glamorous pen pal and he has talked with Rudy about her for some time now, even sharing with him the intimate letters she wrote.
A prison fracas develops and a prisoner shanks Nick to death, as Nick comes to the rescue of Rudy. When Rudy gets out, he sees Ashley waiting by the prison gates and sees for himself that she is the fine looking babe he saw photos of, so he decides to tell her that he's Nick. To say that this film had holes in the script and that everything about the story could be challenged, goes without saying. Just to show what I mean, Rudy would have to wonder or at least have some suspicion why Ashley did not receive by now a photo of Nick and did not visit him in prison. But things only get more contrived the further along the story moves, so better to forget all the contrivances to the story and try to enjoy the film as is, and take this B- film for what it is.
After the couple returns to the motel they rented for another round of lovemaking, Rudy discovers how dangerous a mistake he made when Ashley's sinister brother Gabriel (Sinise) and three other armed thugs of his gunrunning gang show up and beat him for violating his sister. They were led to believe by Ashley that Rudy used to work in an Indian casino in rural Michigan--you see, they think Rudy is Nick. Gabriel forces Rudy to tell him about the casino's security setup, but Rudy, now, says he isn't Nick, but he then says he is Nick after the gang threatens to kill him for not being Nick. Gabriel has a confused look at all this indecision, and keeps deciding whether to kill him or not. This little ploy will go on for the remainder of the film, as Rudy is sometimes Nick and sometimes he's just plain Rudy. Though, by being Nick, which is the name he will use for most of the film, he at least gets to remain alive.
If you think you have seen the main twists, let me warn you, that's just the beginning of all the surprises. The more of them there are, the less sense the film seems to make. John Frankenheimer moves the action along at breakneck speed but the more the characters try explaining the ever-changing situations, the more ridiculous the explanations become.
The casino robbery on Christmas Eve starts the lowlights of the film, as the gang, along with Rudy, are disguised as five Santas, and they will fill the Michigan snow with enough blood to satisfy a blood bank for years. Then the film tries to pull a complete 360 degree reversal and end on a note of Christmas cheer, since I think this is supposed to be some kind of Christmas story. What disturbed me more than anything else about the film, which includes its senseless violence and its need for an obligatory nude shot of Theron, was the audacity to try and clean up the mess it made, by relating the film's finale to the holiday spirit of giving. It seems to want to spread its desperate gloom over everything it can touch. The thing this film mostly gave me, was a sense of astonishment that Frankenheimer, who could still in flashes shoot a scene that is mesmerizing (the one on the cracked ice with Affleck jumping into the chilly water to save Theron) and then follow it up with one that is so dopey (machine-gunning warfare in a casino that looks like a supermarket), that you wonder what happened to the director in a career that spanned 44- years.
REVIEWED ON 3/14/2000 GRADE: C-
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
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


--- layout: default officecolor: "#4C9509" office: Biological Technologies Office (BTO) ---
The Restoring Active Memory (RAM) program aims to develop neurotechnology to facilitate the formation and recall of memories in humans living with memory impairments due to traumatic brain injury. To achieve this goal, RAM researchers are developing an implantable neural interface device that can actively record activity from the human brain, use a set of algorithms to decode and encode the neural signatures of declarative memories, and deliver targeted therapeutic stimulation back to the brain to elicit a neural activity state conducive to forming or recalling memories.
In working toward the goals of the RAM program, a DARPA-funded team at the University of Pennsylvania is leading an effort across eight U.S. clinical centers to collect and analyze intracranial brain recordings. The centers are gathering recordings from human neurosurgical patients performing behavioral tasks designed to assess verbal and spatial memory function—in some cases with concurrent stimulation. The University of Pennsylvania team has made its RAM Phase I human intracranial brain recording and stimulation dataset available to the public. The following data are available for download:
RAM performers obtained the participants’ informed consent to share this data and removed personally identifiable information to protect participant confidentiality.
To request access to the RAM data, please fill out and submit the data release request form at http://memory.psych.upenn.edu/Request_RAM_Phase_I_Data_access.
Program Manager: Dr. Justin Sanchez
Contact: Dr. Justin Sanchez
The content below has been generated by organizations that are partially funded by DARPA; the views and conclusions contained therein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of DARPA or the U.S. Government.
Report a problem<EMAIL_ADDRESS>Last updated: November 28, 2016
| Name | Description | Link |
|---|---|---|
| RAM Phase I human intracranial brain recording and stimulation dataset | A DARPA-funded team at the University of Pennsylvania is leading an effort across eight U.S. clinical centers to collect and analyze intracranial brain recordings. The centers are gathering recordings from human neurosurgical patients performing behavioral tasks designed to assess verbal and spatial memory function—in some cases with concurrent stimulation. RAM performers obtained the participants’ informed consent to share this data and removed personally identifiable information to protect participant confidentiality. | http://memory.psych.upenn.edu/Request_RAM_Phase_I_Data_access |


Masari presents N249b budget to Katsina Assembly
by Danjuma Michael, KatsinaKatsina State Governor Aminu Masari has presented a budget estimate of N249.4 billion to the House of Assembly for the 2020 fiscal year.
Tagged ‘Budget of Reflection and Progress’, the estimate has N173.8 billion (69.7 percent) for capital projects and N75.5 billion (30.3 percent) recurrent expenditure.
Presenting the bill before the house yesterday, Masari said the estimate was N48.7 billion (23.72 percent) more than that of 2019, which had a little over N201 billion. The governor said under the capital expenditure, the economic sector will gulp N49.5 billion (28 per cent), social sector N49.6 billion (29 percent), and N57.8 billion (33 percent) for regional development.


Stadia launches today
by Phil HarrisonThere is a moment in every gamer’s life when they experience something unforgettable. Whether it’s the time they first beat the final boss in their favorite game, were mesmerized by the unfolding story in a brand-new franchise, or watched an up-and-coming YouTube streamer entertain them with a game they’ve never even heard of… those moments are magical.
We’re now on the cusp of a similarly memorable moment. Starting today, playing games on your TV in 4K without a console, streaming games to a Chrome browser on a simple laptop, or enjoying the biggest games ever made on your phone is a reality. It seems impossible until you experience it. Stadia Founder’s Edition starts arriving today, making the world’s best games available to players everywhere without a dedicated console or expensive PC.
Stadia will continue to add features and updates in the coming weeks and months, as well as more games. Twenty-six titles are coming this year, with many, many more in development all around the world. Buddy Passes will begin shipping early in December, and Stadia Premiere Edition is available to order now at stadia.com.
The barriers between you and the games you love are coming down: it’s just your games and your screens with nothing but electric air in between. Thank you for being a part of the Stadia community. See you in the game.


3.0 Migration Guide
This page summarizes the changes from CakePHP 2.x that will assist in migrating
a project to 3.0, as well as a reference to get up to date with the changes made
to the core since the CakePHP 2.x branch. Be sure to read the other pages in
this guide for all the new features and API changes.
Requirements
- CakePHP 3.x supports PHP Version 5.4.16 and above.
- CakePHP 3.x requires the mbstring extension.
- CakePHP 3.x requires the intl extension.
Warning
CakePHP 3.0 will not work if you do not meet the above requirements.
Application Directory Layout
The application directory layout has changed and now follows
PSR-4. You should use the
app skeleton project as a reference point
when updating your application.
CakePHP should be installed with Composer
Since CakePHP can no longer be installed via PEAR, or in a shared
directory, those options are no longer supported. Instead you should use
Composer to install CakePHP into your application.
Namespaces
All of CakePHP’s core classes are now namespaced and follow PSR-4 autoloading
specifications. For example src/Cache/Cache.php is namespaced as
Cake\Cache\Cache
. Global constants and helper methods like __()
and debug()
are not namespaced for convenience sake.
Removed Constants
The following deprecated constants have been removed:
IMAGES
CSS
JS
IMAGES_URL
JS_URL
CSS_URL
DEFAULT_LANGUAGE
Configuration
Configuration in CakePHP 3.0 is significantly different than in previous
versions. You should read the Configuration documentation
for how configuration is done in 3.0.
You can no longer use App::build()
to configure additional class paths.
Instead you should map additional paths using your application’s autoloader. See
the section on Additional Class Paths for more information.
Three new configure variables provide the path configuration for plugins,
views and locale files. You can add multiple paths to App.paths.templates
,
App.paths.plugins
, App.paths.locales
to configure multiple paths for
templates, plugins and locale files respectively.
The config key www_root
has been changed to wwwRoot
for consistency. Please adjust
your app.php config file as well as any usage of Configure::read('App.wwwRoot')
.
New ORM
CakePHP 3.0 features a new ORM that has been re-built from the ground up. The
new ORM is significantly different and incompatible with the previous one.
Upgrading to the new ORM will require extensive changes in any application that
is being upgraded. See the new Database Access & ORM documentation for information on how
to use the new ORM.
Basics
LogError()
was removed, it provided no benefit and is rarely/never used.
- The following global functions have been removed:
config()
, cache()
,
clearCache()
, convertSlashes()
, am()
, fileExistsInPath()
,
sortByKey()
.
Debugging
Configure::write('debug', $bool)
does not support 0/1/2 anymore. A simple boolean
is used instead to switch debug mode on or off.
Object settings/configuration
- Objects used in CakePHP now have a consistent instance-configuration storage/retrieval
system. Code which previously accessed for example:
$object->settings
should instead
be updated to use $object->config()
.
Cache
Memcache
engine has been removed, use Cake\Cache\Cache\Engine\Memcached
instead.
- Cache engines are now lazy loaded upon first use.
Cake\Cache\Cache::engine()
has been added.
Cake\Cache\Cache::enabled()
has been added. This replaced the
Cache.disable
configure option.
Cake\Cache\Cache::enable()
has been added.
Cake\Cache\Cache::disable()
has been added.
- Cache configurations are now immutable. If you need to change configuration
you must first drop the configuration and then re-create it. This prevents
synchronization issues with configuration options.
Cache::set()
has been removed. It is recommended that you create multiple
cache configurations to replace runtime configuration tweaks previously
possible with Cache::set()
.
- All
CacheEngine
subclasses now implement a config()
method.
Cake\Cache\Cache::readMany()
, Cake\Cache\Cache::deleteMany()
,
and Cake\Cache\Cache::writeMany()
were added.
All Cake\Cache\Cache\CacheEngine
methods now honor/are responsible for handling the
configured key prefix. The Cake\Cache\CacheEngine::write()
no longer permits setting
the duration on write - the duration is taken from the cache engine’s runtime config. Calling a
cache method with an empty key will now throw an InvalidArgumentException
, instead
of returning false
.
Core
App
App::pluginPath()
has been removed. Use CakePlugin::path()
instead.
App::build()
has been removed.
App::location()
has been removed.
App::paths()
has been removed.
App::load()
has been removed.
App::objects()
has been removed.
App::RESET
has been removed.
App::APPEND
has been removed.
App::PREPEND
has been removed.
App::REGISTER
has been removed.
Plugin
Cake\Core\Plugin::load()
does not setup an autoloader unless
you set the autoload
option to true
.
- When loading plugins you can no longer provide a callable.
- When loading plugins you can no longer provide an array of config files to
load.
Object
The Object
class has been removed. It formerly contained a grab bag of
methods that were used in various places across the framework. The most useful
of these methods have been extracted into traits. You can use the
Cake\Log\LogTrait
to access the log()
method. The
Cake\Routing\RequestActionTrait
provides requestAction()
.
Console
The cake
executable has been moved from the app/Console directory to the
bin directory within the application skeleton. You can now invoke CakePHP’s
console with bin/cake
.
TaskCollection Replaced
This class has been renamed to Cake\Console\TaskRegistry
.
See the section on Registry Objects for more information
on the features provided by the new class. You can use the cake upgrade
rename_collections
to assist in upgrading your code. Tasks no longer have
access to callbacks, as there were never any callbacks to use.
Shell
Shell::__construct()
has changed. It now takes an instance of
Cake\Console\ConsoleIo
.
Shell::param()
has been added as convenience access to the params.
Additionally all shell methods will be transformed to camel case when invoked.
For example, if you had a hello_world()
method inside a shell and invoked it
with bin/cake my_shell hello_world
, you will need to rename the method
to helloWorld
. There are no changes required in the way you invoke commands.
ConsoleOptionParser
ConsoleOptionParser::merge()
has been added to merge parsers.
Shell / Task
Shells and Tasks have been moved from Console/Command
and
Console/Command/Task
to Shell
and Shell/Task
.
ApiShell Removed
The ApiShell was removed as it didn’t provide any benefit over the file source
itself and the online documentation/API.
SchemaShell Removed
The SchemaShell was removed as it was never a complete database migration implementation
and better tools such as Phinx have emerged. It has been replaced by
the CakePHP Migrations Plugin which acts as a wrapper between
CakePHP and Phinx.
BakeShell / TemplateTask
- Bake is no longer part of the core source and is superseded by
CakePHP Bake Plugin
- Bake templates have been moved under src/Template/Bake.
- The syntax of Bake templates now uses erb-style tags (
<% %>
) to denote
templating logic, allowing php code to be treated as plain text.
- The
bake view
command has been renamed bake template
.
Event
The getEventManager()
method, was removed on all objects that had it. An
eventManager()
method is now provided by the EventManagerTrait
. The
EventManagerTrait
contains the logic of instantiating and keeping
a reference to a local event manager.
The Event subsystem has had a number of optional features removed. When
dispatching events you can no longer use the following options:
passParams
This option is now enabled always implicitly. You
cannot turn it off.
break
This option has been removed. You must now stop events.
breakOn
This option has been removed. You must now stop events.
Log
- Log configurations are now immutable. If you need to change configuration
you must first drop the configuration and then re-create it. This prevents
synchronization issues with configuration options.
- Log engines are now lazily loaded upon the first write to the logs.
Cake\Log\Log::engine()
has been added.
- The following methods have been removed from
Cake\Log\Log
::
defaultLevels()
, enabled()
, enable()
, disable()
.
- You can no longer create custom levels using
Log::levels()
.
- When configuring loggers you should use
'levels'
instead of 'types'
.
- You can no longer specify custom log levels. You must use the default set of
log levels. You should use logging scopes to create custom log files or
specific handling for different sections of your application. Using
a non-standard log level will now throw an exception.
Cake\Log\LogTrait
was added. You can use this trait in your
classes to add the log()
method.
- The logging scope passed to
Cake\Log\Log::write()
is now
forwarded to the log engines’ write()
method in order to provide better
context to the engines.
- Log engines are now required to implement
Psr\Log\LogInterface
instead of
Cake’s own LogInterface
. In general, if you extended Cake\Log\Engine\BaseEngine
you just need to rename the write()
method to log()
.
Cake\Log\Engine\FileLog
now writes files in ROOT/logs
instead of ROOT/tmp/logs
.
Routing
Named Parameters
Named parameters were removed in 3.0. Named parameters were added in 1.2.0 as
a ‘pretty’ version of query string parameters. While the visual benefit is
arguable, the problems named parameters created are not.
Named parameters required special handling in CakePHP as well as any PHP or
JavaScript library that needed to interact with them, as named parameters are
not implemented or understood by any library except CakePHP. The additional
complexity and code required to support named parameters did not justify their
existence, and they have been removed. In their place you should use standard
query string parameters or passed arguments. By default Router
will treat
any additional parameters to Router::url()
as query string arguments.
Since many applications will still need to parse incoming URLs containing named
parameters. Cake\Routing\Router::parseNamedParams()
has
been added to allow backwards compatibility with existing URLs.
RequestActionTrait
Cake\Routing\RequestActionTrait::requestAction()
has had
some of the extra options changed:
options[url]
is now options[query]
.
options[data]
is now options[post]
.
- Named parameters are no longer supported.
Router
- Named parameters have been removed, see above for more information.
- The
full_base
option has been replaced with the _full
option.
- The
ext
option has been replaced with the _ext
option.
_scheme
, _port
, _host
, _base
, _full
, _ext
options added.
- String URLs are no longer modified by adding the plugin/controller/prefix names.
- The default fallback route handling was removed. If no routes
match a parameter set
/
will be returned.
- Route classes are responsible for all URL generation including
query string parameters. This makes routes far more powerful and flexible.
- Persistent parameters were removed. They were replaced with
Cake\Routing\Router::urlFilter()
which allows
a more flexible way to mutate URLs being reverse routed.
Router::parseExtensions()
has been removed.
Use Cake\Routing\Router::extensions()
instead. This method
must be called before routes are connected. It won’t modify existing
routes.
Router::setExtensions()
has been removed.
Use Cake\Routing\Router::extensions()
instead.
Router::resourceMap()
has been removed.
- The
[method]
option has been renamed to _method
.
- The ability to match arbitrary headers with
[]
style parameters has been
removed. If you need to parse/match on arbitrary conditions consider using
custom route classes.
Router::promote()
has been removed.
Router::parse()
will now raise an exception when a URL cannot be handled
by any route.
Router::url()
will now raise an exception when no route matches a set of
parameters.
- Routing scopes have been introduced. Routing scopes allow you to keep your
routes file DRY and give Router hints on how to optimize parsing & reverse
routing URLs.
Route
CakeRoute
was re-named to Route
.
- The signature of
match()
has changed to match($url, $context = [])
See Cake\Routing\Route::match()
for information on the new signature.
Dispatcher Filters Configuration Changed
Dispatcher filters are no longer added to your application using Configure
.
You now append them with Cake\Routing\DispatcherFactory
. This
means if your application used Dispatcher.filters
, you should now use
Cake\Routing\DispatcherFactory::add()
.
In addition to configuration changes, dispatcher filters have had some
conventions updated, and features added. See the
Dispatcher Filters documentation for more information.
FilterAssetFilter
- Plugin & theme assets handled by the AssetFilter are no longer read via
include
instead they are treated as plain text files. This fixes a number
of issues with JavaScript libraries like TinyMCE and environments with
short_tags enabled.
- Support for the
Asset.filter
configuration and hooks were removed. This
feature should be replaced with a plugin or dispatcher filter.
Network
Request
CakeRequest
has been renamed to Cake\Network\Request
.
Cake\Network\Request::port()
was added.
Cake\Network\Request::scheme()
was added.
Cake\Network\Request::cookie()
was added.
Cake\Network\Request::$trustProxy
was added. This makes it easier to put
CakePHP applications behind load balancers.
Cake\Network\Request::$data
is no longer merged with the prefixed data
key, as that prefix has been removed.
Cake\Network\Request::env()
was added.
Cake\Network\Request::acceptLanguage()
was changed from static method
to non-static.
- Request detector for “mobile” has been removed from the core. Instead the app
template adds detectors for “mobile” and “tablet” using
MobileDetect
lib.
- The method
onlyAllow()
has been renamed to allowMethod()
and no longer accepts “var args”.
All method names need to be passed as first argument, either as string or array of strings.
Response
- The mapping of mimetype
text/plain
to extension csv
has been removed.
As a consequence Cake\Controller\Component\RequestHandlerComponent
doesn’t set extension to csv
if Accept
header contains mimetype text/plain
which was a common annoyance when receiving a jQuery XHR request.
Sessions
The session class is no longer static, instead the session can be accessed
through the request object. See the Sessions documentation
for using the session object.
Cake\Network\Session
and related session classes have been
moved under the Cake\Network
namespace.
SessionHandlerInterface
has been removed in favor of the one provided by
PHP itself.
- The property
Session::$requestCountdown
has been removed.
- The session checkAgent feature has been removed. It caused a number of bugs
when chrome frame, and flash player are involved.
- The conventional sessions database table name is now
sessions
instead of
cake_sessions
.
- The session cookie timeout is automatically updated in tandem with the timeout
in the session data.
- The path for session cookie now defaults to app’s base path instead of “/”.
A new configuration variable
Session.cookiePath
has been added to
customize the cookie path.
- A new convenience method
Cake\Network\Session::consume()
has been added
to allow reading and deleting session data in a single step.
- The default value of
Cake\Network\Session::clear()
‘s argument $renew
has been changed
from true
to false
.
Network\Http
HttpSocket
is now Cake\Network\Http\Client
.
- HttpClient has been re-written from the ground up. It has a simpler/easier to
use API, support for new authentication systems like OAuth, and file uploads.
It uses PHP’s stream APIs so there is no requirement for cURL. See the
Http Client documentation for more information.
Network\Email
Cake\Network\Email\Email::config()
is now used to define
configuration profiles. This replaces the EmailConfig
classes in previous
versions.
Cake\Network\Email\Email::profile()
replaces config()
as
the way to modify per instance configuration options.
Cake\Network\Email\Email::drop()
has been added to allow the
removal of email configuration.
Cake\Network\Email\Email::configTransport()
has been added to allow the
definition of transport configurations. This change removes transport options
from delivery profiles and allows you to re-use transports across email
profiles.
Cake\Network\Email\Email::dropTransport()
has been added to allow the
removal of transport configuration.
Controller
Controller
- The
$helpers
, $components
properties are now merged
with all parent classes not just AppController
and the plugin
AppController. The properties are merged differently now as well. Instead of
all settings in all classes being merged together, the configuration defined
in the child class will be used. This means that if you have some
configuration defined in your AppController, and some configuration defined in
a subclass, only the configuration in the subclass will be used.
Controller::httpCodes()
has been removed, use
Cake\Network\Response::httpCodes()
instead.
Controller::disableCache()
has been removed, use
Cake\Network\Response::disableCache()
instead.
Controller::flash()
has been removed. This method was rarely used in real
applications and served no purpose anymore.
Controller::validate()
and Controller::validationErrors()
have been
removed. They were left over methods from the 1.x days where the concerns of
models + controllers were far more intertwined.
Controller::loadModel()
now loads table objects.
- The
Controller::$scaffold
property has been removed. Dynamic scaffolding
has been removed from CakePHP core. An improved scaffolding plugin, named CRUD, can be found here: https://github.com/FriendsOfCake/crud
- The
Controller::$ext
property has been removed. You now have to extend and
override the View::$_ext
property if you want to use a non-default view file
extension.
- The
Controller::$methods
property has been removed. You should now use
Controller::isAction()
to determine whether or not a method name is an
action. This change was made to allow easier customization of what is and is
not counted as an action.
- The
Controller::$Components
property has been removed and replaced with
_components
. If you need to load components at runtime you should use
$this->loadComponent()
on your controller.
- The signature of
Cake\Controller\Controller::redirect()
has been
changed to Controller::redirect(string|array $url, int $status = null)
.
The 3rd argument $exit
has been dropped. The method can no longer send
response and exit script, instead it returns a Response
instance with
appropriate headers set.
- The
base
, webroot
, here
, data
, action
, and params
magic properties have been removed. You should access all of these properties
on $this->request
instead.
- Underscore prefixed controller methods like
_someMethod()
are no longer
treated as private methods. Use proper visibility keywords instead. Only
public methods can be used as controller actions.
Scaffold Removed
The dynamic scaffolding in CakePHP has been removed from CakePHP core. It was
infrequently used, and never intended for production use. An improved
scaffolding plugin, named CRUD, can be found here:
https://github.com/FriendsOfCake/crud
ComponentCollection Replaced
This class has been renamed to Cake\Controller\ComponentRegistry
.
See the section on Registry Objects for more information
on the features provided by the new class. You can use the cake upgrade
rename_collections
to assist in upgrading your code.
Component
- The
_Collection
property is now _registry
. It contains an instance
of Cake\Controller\ComponentRegistry
now.
- All components should now use the
config()
method to get/set
configuration.
- Default configuration for components should be defined in the
$_defaultConfig
property. This property is automatically merged with any
configuration provided to the constructor.
- Configuration options are no longer set as public properties.
- The
Component::initialize()
method is no longer an event listener.
Instead, it is a post-constructor hook like Table::initialize()
and
Controller::initialize()
. The new Component::beforeFilter()
method is
bound to the same event that Component::initialize()
used to be. The
initialize method should have the following signature initialize(array
$config)
.
Controller\Components
CookieComponent
- Uses
Cake\Network\Request::cookie()
to read cookie data,
this eases testing, and allows for ControllerTestCase to set cookies.
- Cookies encrypted in previous versions of CakePHP using the
cipher()
method
are now un-readable because Security::cipher()
has been removed. You will
need to re-encrypt cookies with the rijndael()
or aes()
method before upgrading.
CookieComponent::type()
has been removed and replaced with configuration
data accessed through config()
.
write()
no longer takes encryption
or expires
parameters. Both of
these are now managed through config data. See
Cookie for more information.
- The path for cookies now defaults to app’s base path instead of “/”.
AuthComponent
Default
is now the default password hasher used by authentication classes.
It uses exclusively the bcrypt hashing algorithm. If you want to continue using
SHA1 hashing used in 2.x use 'passwordHasher' => 'Weak'
in your authenticator configuration.
- A new
FallbackPasswordHasher
was added to help users migrate old passwords
from one algorithm to another. Check AuthComponent’s documentation for more
info.
BlowfishAuthenticate
class has been removed. Just use FormAuthenticate
BlowfishPasswordHasher
class has been removed. Use
DefaultPasswordHasher
instead.
- The
loggedIn()
method has been removed. Use user()
instead.
- Configuration options are no longer set as public properties.
- The methods
allow()
and deny()
no longer accept “var args”. All method names need
to be passed as first argument, either as string or array of strings.
- The method
login()
has been removed and replaced by setUser()
instead.
To login a user you now have to call identify()
which returns user info upon
successful identification and then use setUser()
to save the info to
session for persistence across requests.
BaseAuthenticate::_password()
has been removed. Use a PasswordHasher
class instead.
BaseAuthenticate::logout()
has been removed.
AuthComponent
now triggers two events Auth.afterIdentify
and
Auth.logout
after a user has been identified and before a user is
logged out respectively. You can set callback functions for these events by
returning a mapping array from implementedEvents()
method of your
authenticate class.
ACL related classes were moved to a separate plugin. Password hashers, Authentication and
Authorization providers where moved to the \Cake\Auth
namespace. You are
required to move your providers and hashers to the App\Auth
namespace as
well.
RequestHandlerComponent
- The following methods have been removed from RequestHandler component::
isAjax()
, isFlash()
, isSSL()
, isPut()
, isPost()
, isGet()
, isDelete()
.
Use the Cake\Network\Request::is()
method instead with relevant argument.
RequestHandler::setContent()
was removed, use Cake\Network\Response::type()
instead.
RequestHandler::getReferer()
was removed, use Cake\Network\Request::referer()
instead.
RequestHandler::getClientIP()
was removed, use Cake\Network\Request::clientIp()
instead.
RequestHandler::getAjaxVersion()
was removed.
RequestHandler::mapType()
was removed, use Cake\Network\Response::mapType()
instead.
- Configuration options are no longer set as public properties.
SecurityComponent
- The following methods and their related properties have been removed from Security component:
requirePost()
, requireGet()
, requirePut()
, requireDelete()
.
Use the Cake\Network\Request::allowMethod()
instead.
SecurityComponent::$disabledFields()
has been removed, use
SecurityComponent::$unlockedFields()
.
- The CSRF related features in SecurityComponent have been extracted and moved
into a separate CsrfComponent. This allows you to use CSRF protection
without having to use form tampering prevention.
- Configuration options are no longer set as public properties.
- The methods
requireAuth()
and requireSecure()
no longer accept “var args”.
All method names need to be passed as first argument, either as string or array of strings.
SessionComponent
SessionComponent::setFlash()
is deprecated. You should use
Flash instead.
Error
Custom ExceptionRenderers are now expected to either return
a Cake\Network\Response
object or string when rendering errors. This means
that any methods handling specific exceptions must return a response or string
value.
Model
The Model layer in 2.x has been entirely re-written and replaced. You should
review the New ORM Upgrade Guide for information on how to use the
new ORM.
- The
Model
class has been removed.
- The
BehaviorCollection
class has been removed.
- The
DboSource
class has been removed.
- The
Datasource
class has been removed.
- The various datasource classes have been removed.
ConnectionManager
- ConnectionManager has been moved to the
Cake\Datasource
namespace.
- ConnectionManager has had the following methods removed:
sourceList
getSourceName
loadDataSource
enumConnectionObjects
Database\ConnectionManager::config()
has been added and is
now the only way to configure connections.
Database\ConnectionManager::get()
has been added. It
replaces getDataSource()
.
Database\ConnectionManager::configured()
has been added. It
and config()
replace sourceList()
& enumConnectionObjects()
with
a more standard and consistent API.
ConnectionManager::create()
has been removed.
It can be replaced by config($name, $config)
and get($name)
.
Behaviors
- Underscore prefixed behavior methods like
_someMethod()
are no longer
treated as private methods. Use proper visibility keywords instead.
TreeBehavior
The TreeBehavior was completely re-written to use the new ORM. Although it works
the same as in 2.x, a few methods were renamed or removed:
TreeBehavior::children()
is now a custom finder find('children')
.
TreeBehavior::generateTreeList()
is now a custom finder find('treeList')
.
TreeBehavior::getParentNode()
was removed.
TreeBehavior::getPath()
is now a custom finder find('path')
.
TreeBehavior::reorder()
was removed.
TreeBehavior::verify()
was removed.
TestSuite
TestCase
_normalizePath()
has been added to allow path comparison tests to run across all
operation systems regarding their DS settings (\
in Windows vs /
in UNIX, for example).
The following assertion methods have been removed as they have long been deprecated and replaced by
their new PHPUnit counterpart:
assertEqual()
in favor of assertEquals()
assertNotEqual()
in favor of assertNotEquals()
assertIdentical()
in favor of assertSame()
assertNotIdentical()
in favor of assertNotSame()
assertPattern()
in favor of assertRegExp()
assertNoPattern()
in favor of assertNotRegExp()
assertReference()
if favor of assertSame()
assertIsA()
in favor of assertInstanceOf()
Note that some methods have switched the argument order, e.g. assertEqual($is, $expected)
should now be
assertEquals($expected, $is)
.
The following assertion methods have been deprecated and will be removed in the future:
assertWithinMargin()
in favor of assertWithinRange()
assertTags()
in favor of assertHtml()
Both method replacements also switched the argument order for a consistent assert method API
with $expected
as first argument.
The following assertion methods have been added:
assertNotWithinRange()
as counter part to assertWithinRange()
View
Themes are now Basic Plugins
Having themes and plugins as ways to create modular application components has
proven to be limited, and confusing. In CakePHP 3.0, themes no longer reside
inside the application. Instead they are standalone plugins. This solves
a few problems with themes:
- You could not put themes in plugins.
- Themes could not provide helpers, or custom view classes.
Both these issues are solved by converting themes into plugins.
View Folders Renamed
The folders containing view files now go under src/Template instead of src/View.
This was done to separate the view files from files containing php classes (eg. Helpers, View classes).
The following View folders have been renamed to avoid naming collisions with controller names:
Layouts
is now Layout
Elements
is now Element
Errors
is now Error
Emails
is now Email
(same for Email
inside Layout
)
HelperCollection Replaced
This class has been renamed to Cake\View\HelperRegistry
.
See the section on Registry Objects for more information
on the features provided by the new class. You can use the cake upgrade
rename_collections
to assist in upgrading your code.
View Class
- The
plugin
key has been removed from $options
argument of Cake\View\View::element()
.
Specify the element name as SomePlugin.element_name
instead.
View::getVar()
has been removed, use Cake\View\View::get()
instead.
View::$ext
has been removed and instead a protected property View::$_ext
has been added.
View::addScript()
has been removed. Use Using View Blocks instead.
- The
base
, webroot
, here
, data
, action
, and params
magic properties have been removed. You should access all of these properties
on $this->request
instead.
View::start()
no longer appends to an existing block. Instead it will
overwrite the block content when end is called. If you need to combine block
contents you should fetch the block content when calling start a second time,
or use the capturing mode of append()
.
View::prepend()
no longer has a capturing mode.
View::startIfEmpty()
has been removed. Now that start() always overwrites
startIfEmpty serves no purpose.
- The
View::$Helpers
property has been removed and replaced with
_helpers
. If you need to load helpers at runtime you should use
$this->addHelper()
in your view files.
View
will now raise Cake\View\Exception\MissingTemplateException
when
templates are missing instead of MissingViewException
.
ViewBlock
ViewBlock::append()
has been removed, use Cake\ViewViewBlock::concat()
instead. However,
View::append()
still exists.
JsonView
- By default JSON data will have HTML entities encoded now. This prevents
possible XSS issues when JSON view content is embedded in HTML files.
Cake\View\JsonView
now supports the _jsonOptions
view
variable. This allows you to configure the bit-mask options used when generating
JSON.
XmlView
Cake\View\XmlView
now supports the _xmlOptions
view
variable. This allows you to configure the options used when generating
XML.
View\Helper
- The
$settings
property is now called $_config
and should be accessed
through the config()
method.
- Configuration options are no longer set as public properties.
Helper::clean()
was removed. It was never robust enough
to fully prevent XSS. instead you should escape content with h
or
use a dedicated library like htmlPurifier.
Helper::output()
was removed. This method was
deprecated in 2.x.
- Methods
Helper::webroot()
, Helper::url()
, Helper::assetUrl()
,
Helper::assetTimestamp()
have been moved to new Cake\View\Helper\UrlHelper
helper. Helper::url()
is now available as Cake\View\Helper\UrlHelper::build()
.
- Magic accessors to deprecated properties have been removed. The following
properties now need to be accessed from the request object:
- base
- here
- webroot
- data
- action
- params
Helper
Helper has had the following methods removed:
Helper::setEntity()
Helper::entity()
Helper::model()
Helper::field()
Helper::value()
Helper::_name()
Helper::_initInputField()
Helper::_selectedArray()
These methods were part used only by FormHelper, and part of the persistent
field features that have proven to be problematic over time. FormHelper no
longer relies on these methods and the complexity they provide is not necessary
anymore.
The following methods have been removed:
Helper::_parseAttributes()
Helper::_formatAttribute()
These methods can now be found on the StringTemplate
class that helpers
frequently use. See the StringTemplateTrait
for an easy way to integrate
string templates into your own helpers.
HtmlHelper
HtmlHelper::useTag()
has been removed, use tag()
instead.
HtmlHelper::loadConfig()
has been removed. Customizing the tags can now be
done using templates()
or the templates
setting.
- The second parameter
$options
for HtmlHelper::css()
now always requires an array as documented.
- The first parameter
$data
for HtmlHelper::style()
now always requires an array as documented.
- The
inline
parameter has been removed from meta(), css(), script(), scriptBlock()
methods. You should use the block
option instead. Setting block =>
true
will emulate the previous behavior.
HtmlHelper::meta()
now requires $type
to be a string. Additional options can
further on be passed as $options
.
HtmlHelper::nestedList()
now requires $options
to be an array. The forth argument for the tag type
has been removed and included in the $options
array.
- The
$confirmMessage
argument of Cake\View\Helper\HtmlHelper::link()
has been removed. You should now use key confirm
in $options
to specify
the message.
PaginatorHelper
link()
has been removed. It was no longer used by the helper internally.
It had low usage in user land code, and no longer fit the goals of the helper.
next()
no longer has ‘class’, or ‘tag’ options. It no longer has disabled
arguments. Instead templates are used.
prev()
no longer has ‘class’, or ‘tag’ options. It no longer has disabled
arguments. Instead templates are used.
first()
no longer has ‘after’, ‘ellipsis’, ‘separator’, ‘class’, or ‘tag’ options.
last()
no longer has ‘after’, ‘ellipsis’, ‘separator’, ‘class’, or ‘tag’ options.
numbers()
no longer has ‘separator’, ‘tag’, ‘currentTag’, ‘currentClass’,
‘class’, ‘tag’, ‘ellipsis’ options. These options are now facilitated through
templates. It also requires the $options
parameter to be an array now.
- The
%page%
style placeholders have been removed from Cake\View\Helper\PaginatorHelper::counter()
.
Use {{page}}
style placeholders instead.
url()
has been renamed to generateUrl()
to avoid method declaration clashes with Helper::url()
.
By default all links and inactive texts are wrapped in <li>
elements. This
helps make CSS easier to write, and improves compatibility with popular CSS
frameworks.
Instead of the various options in each method, you should use the templates
feature. See the PaginatorHelper Templates documentation for
information on how to use templates.
TimeHelper
TimeHelper::__set()
, TimeHelper::__get()
, and TimeHelper::__isset()
were
removed. These were magic methods for deprecated attributes.
TimeHelper::serverOffset()
has been removed. It promoted incorrect time math practices.
TimeHelper::niceShort()
has been removed.
NumberHelper
NumberHelper::format()
now requires $options
to be an array.
SessionHelper
- The
SessionHelper
has been deprecated. You can use $this->request->session()
directly,
and the flash message functionality has been moved into Flash instead.
JsHelper
JsHelper
and all associated engines have been removed. It could only
generate a very small subset of JavaScript code for selected library and
hence trying to generate all JavaScript code using just the helper often
became an impediment. It’s now recommended to directly use JavaScript library
of your choice.
CacheHelper Removed
CacheHelper has been removed. The caching functionality it provided was
non-standard, limited and incompatible with non-HTML layouts and data views.
These limitations meant a full rebuild would be necessary. Edge Side Includes
have become a standardized way to implement the functionality CacheHelper used
to provide. However, implementing Edge Side Includes in PHP has a number of
limitations and edge cases. Instead of building a sub-par solution, we recommend
that developers needing full response caching use Varnish or Squid instead.
I18n
The I18n subsystem was completely rewritten. In general, you can expect the same
behavior as in previous versions, specifically if you are using the __()
family of functions.
Internally, the I18n
class uses Aura\Intl
, and appropriate methods are
exposed to access the specific features of this library. For this reason most
methods inside I18n
were removed or renamed.
Due to the use of ext/intl
, the L10n class was completely removed. It
provided outdated and incomplete data in comparison to the data available from
the Locale
class in PHP.
The default application language will no longer be changed automatically by the
browser accepted language nor by having the Config.language
value set in the
browser session. You can, however, use a dispatcher filter to get automatic
language switching from the Accept-Language
header sent by the browser:
// In config/bootstrap.php
DispatcherFactory::addFilter('LocaleSelector');
There is no built-in replacement for automatically selecting the language by
setting a value in the user session.
The default formatting function for translated messages is no longer
sprintf
, but the more advanced and feature rich MessageFormatter
class.
In general you can rewrite placeholders in messages as follows:
// Before:
__('Today is a %s day in %s', 'Sunny', 'Spain');
// After:
__('Today is a {0} day in {1}', 'Sunny', 'Spain');
You can avoid rewriting your messages by using the old sprintf
formatter:
I18n::defaultFormatter('sprintf');
Additionally, the Config.language
value was removed and it can no longer be
used to control the current language of the application. Instead, you can use
the I18n
class:
// Before
Configure::write('Config.language', 'fr_FR');
// Now
I18n::setLocale('en_US');
The methods below have been moved:
- From
Cake\I18n\Multibyte::utf8()
to Cake\Utility\Text::utf8()
- From
Cake\I18n\Multibyte::ascii()
to Cake\Utility\Text::ascii()
- From
Cake\I18n\Multibyte::checkMultibyte()
to Cake\Utility\Text::isMultibyte()
Since CakePHP now requires the mbstring extension, the
Multibyte
class has been removed.
Error messages throughout CakePHP are no longer passed through I18n
functions. This was done to simplify the internals of CakePHP and reduce
overhead. The developer facing messages are rarely, if ever, actually translated -
so the additional overhead reaps very little benefit.
L10n
Cake\I18n\L10n
‘s constructor now takes a Cake\Network\Request
instance as argument.
Testing
The TestShell
has been removed. CakePHP, the application skeleton and
newly baked plugins all use phpunit
to run tests.
The webrunner (webroot/test.php) has been removed. CLI adoption has greatly
increased since the initial release of 2.x. Additionaly, CLI runners offer
superior integration with IDE’s and other automated tooling.
If you find yourself in need of a way to run tests from a browser you should
checkout VisualPHPUnit. It
offers many additional features over the old webrunner.
ControllerTestCase
is deprecated and will be removed for CakePHP 3.0.0.
You should use the new Controller Integration Testing features instead.
Fixtures should now be referenced using their plural form:
// Instead of
$fixtures = ['app.article'];
// You should use
$fixtures = ['app.articles'];
Utility
Set Class Removed
The Set class has been removed, you should use the Hash class instead now.
Folder & File
The folder and file classes have been renamed:
Inflector
The default value for $replacement
argument of Cake\Utility\Inflector::slug()
has been changed from underscore (_
) to dash (-
). Using dashes to
separate words in URLs is the popular choice and also recommended by Google.
Transliterations for Cake\Utility\Inflector::slug()
have changed.
If you use custom transliterations you will need to update your code. Instead
of regular expressions, transliterations use simple string replacement. This
yielded significant performance improvements:
// Instead of
Inflector::rules('transliteration', [
'/ä|æ/' => 'ae',
'/å/' => 'aa'
]);
// You should use
Inflector::rules('transliteration', [
'ä' => 'ae',
'æ' => 'ae',
'å' => 'aa'
]);
Separate set of uninflected and irregular rules for pluralization and
singularization have been removed. Instead we now have a common list for each.
When using Cake\Utility\Inflector::rules()
with type ‘singular’
and ‘plural’ you can no longer use keys like ‘uninflected’, ‘irregular’ in
$rules
argument array.
You can add / overwrite the list of uninflected and irregular rules using
Cake\Utility\Inflector::rules()
by using values ‘uninflected’ and
‘irregular’ for $type
argument.
Sanitize
Sanitize
class has been removed.
Security
Security::cipher()
has been removed. It is insecure and promoted bad
cryptographic practices. You should use Security::encrypt()
instead.
- The Configure value
Security.cipherSeed
is no longer required. With the
removal of Security::cipher()
it serves no use.
- Backwards compatibility in
Cake\Utility\Security::rijndael()
for values encrypted prior
to CakePHP 2.3.1 has been removed. You should re-encrypt values using
Security::encrypt()
and a recent version of CakePHP 2.x before migrating.
- The ability to generate a blowfish hash has been removed. You can no longer use type
“blowfish” for
Security::hash()
. One should just use PHP’s password_hash()
and password_verify() to generate and verify blowfish hashes. The compability
library ircmaxell/password-compat
which is installed along with CakePHP provides these functions for PHP < 5.5.
- OpenSSL is now used over mcrypt when encrypting/decrypting data. This change
provides better performance and future proofs CakePHP against distros dropping
support for mcrypt.
Security::rijndael()
is deprecated and only available when using mcrypt.
Warning
Data encrypted with Security::encrypt() in previous versions is not
compatible with the openssl implementation. You should set the
implementation to mcrypt when upgrading.
Time
CakeTime
has been renamed to Cake\I18n\Time
.
CakeTime::serverOffset()
has been removed. It promoted incorrect time math practises.
CakeTime::niceShort()
has been removed.
CakeTime::convert()
has been removed.
CakeTime::convertSpecifiers()
has been removed.
CakeTime::dayAsSql()
has been removed.
CakeTime::daysAsSql()
has been removed.
CakeTime::fromString()
has been removed.
CakeTime::gmt()
has been removed.
CakeTime::toATOM()
has been renamed to toAtomString
.
CakeTime::toRSS()
has been renamed to toRssString
.
CakeTime::toUnix()
has been renamed to toUnixString
.
CakeTime::wasYesterday()
has been renamed to isYesterday
to match the rest
of the method naming.
CakeTime::format()
Does not use sprintf
format strings anymore, you can use
i18nFormat
instead.
Time::timeAgoInWords()
now requires $options
to be an array.
Time is not a collection of static methods anymore, it extends DateTime
to
inherit all its methods and adds location aware formatting functions with the
help of the intl
extension.
In general, expressions looking like this:
CakeTime::aMethod($date);
Can be migrated by rewriting it to:
(new Time($date))->aMethod();
Number
The Number library was rewritten to internally use the NumberFormatter
class.
Validation
- The range for
Validation::range()
now is inclusive if $lower
and
$upper
are provided.
Validation::ssn()
has been removed.
Xml
Xml::build()
now requires $options
to be an array.
Xml::build()
no longer accepts a URL. If you need to create an XML
document from a URL, use Http\Client.


Simulation based on the 2D Schrödinger equation, used in quantum mechanics.
Bottom graph is a projection of the accumulated square of the amplitude for the waves that reach the bottom line, which should approximate the probability of finding a particle for the Schrödinger equation.
An offscreen buffer has been added to "taper off" any reflections on the walls, which sometimes leads to ghost echoes. To my surprise, there appear to be no easy alternatives that avoid reflections while only modifying countour conditions (i.e. those pesky pixels right near the border).


Microsoft Office 365 is the IT solution for your business. You can organize your e-mails, schedules, calendars and documents with ease anytime, anywhere – Office 365 is online 24/7 and is accessible on any computer and most handheld devices. Microsoft Office 365 also has the latest protection against spam and viruses, as well as a enterprise-grade reliability and disaster recovery guarantee to keep your data safe. At Goldline IT we can help you set up your business with Microsoft Office 365 so you can keep it organised and running efficiently while we manage your IT networks.
Manage your businesses’ emails and schedules with Microsoft Office 365
Accessible anywhere, 24/7
Medical IT Solutions
Over the last decade, the medical industry has embraced the addition of IT based systems in their daily operations, simplifying their databases, schedules and procedures while increasing in efficiency and reliability. We understand that each medical practice is unique and requires a highly dynamic IT support structure to ensure the highest levels of efficiency and safety within the practice, and at Goldline IT we can offer experienced medical IT support to help you manage your IT systems. We support HCN, Medical Director, Parasoft, Best Practice, ZedMed, Genie and a host of other medical applications.
Experienced Medical IT solutions tailored for you needs
Leading titles of medical applications are supported, such as Best Practice, ZedMed, Medical Director, Pracsoft and Genie
E-Mail Protection
MailGuard provides a comprehensive range of Cloud based solutions addressing security and real-time risk intelligence for businesses. MailGuard constantly monitors and combats new threats in real-time while providing access to your emails via any web browser globally in a fully functioning, fully protected email environment, reducing the risk of lost opportunities. Goldline IT can help you set up your business with MailGuard to provide email protection, filtering and archiving without the need for you to worry about the technical side of things.
Latest protection against spam and viruses for your emails
Access your emails in a safe and protected environment from anywhere in the world
Internet Services Provider
Websurf is an internet service provider managed by Goldline IT. It provides corporate-level internet connection services, manages site-to-site VPNs, DNS, Web, eMail and Domain name hosting, allowing for well managed and hassle-free solutions for your business’ internet needs.
Microsoft Office 365 is the IT solution for your business. You can organize your e-mails, schedules, calendars and documents with ease anytime, anywhere – Office 365 is online 24/7 and is accessible on any computer and most handheld devices. Microsoft Office 365 also has the latest protection against spam and viruses, as well as a enterprise-grade reliability and disaster recovery guarantee to keep your data safe. At Goldline IT we can help you set up your business with Microsoft Office 365 so you can keep it organised and running efficiently while we manage your IT networks.
Manage your businesses’ emails and schedules with Microsoft Office 365
Accessible anywhere, 24/7
Medical IT Solutions
Over the last decade, the medical industry has embraced the addition of IT based systems in their daily operations, simplifying their databases, schedules and procedures while increasing in efficiency and reliability. We understand that each medical practice is unique and requires a highly dynamic IT support structure to ensure the highest levels of efficiency and safety within the practice, and at Goldline IT we can offer experienced medical IT support to help you manage your IT systems. We support HCN, Medical Director, Parasoft, Best Practice, ZedMed, Genie and a host of other medical applications.
Experienced Medical IT solutions tailored for you needs
Leading titles of medical applications are supported, such as Best Practice, ZedMed, Medical Director, Pracsoft and Genie
E-Mail Protection
MailGuard provides a comprehensive range of Cloud based solutions addressing security and real-time risk intelligence for businesses. MailGuard constantly monitors and combats new threats in real-time while providing access to your emails via any web browser globally in a fully functioning, fully protected email environment, reducing the risk of lost opportunities. Goldline IT can help you set up your business with MailGuard to provide email protection, filtering and archiving without the need for you to worry about the technical side of things.
Latest protection against spam and viruses for your emails
Access your emails in a safe and protected environment from anywhere in the world
Internet Services Provider
Websurf is an internet service provider managed by Goldline IT. It provides corporate-level internet connection services, manages site-to-site VPNs, DNS, Web, eMail and Domain name hosting, allowing for well managed and hassle-free solutions for your business’ internet needs.


Enter Nickname
Create Game
Join Game
Rules
Invite Players
Click to Copy
Players:
Start Game
Enter Game ID
Enter Game Id to join that game
Join
Enter the Hint for your image
close
done
people_alt
people_alt
Select an image and enter a hint
Ok
Error
Ok
Like the game?
Buy me a cookie!


Connecting to {{stream.name}}...
You're using a web browser we don't support.
Mind trying again using Chrome or
Firefox?
{{error}}
Did you know you can start streaming too? Try it now
Join {{stream.name}}
{{stream.name}} charges {{client.rate * 60.0|BTC2USD}} USD per hour
Send
{{(stream.minutes * client.rate).toFixed(4)}} BTC
{{(stream.minutes * client.rate)|BTC2USD}} USD
To
{{fundingAddress}}
{{(funds|SATOSHIS2BTC).toFixed(4)}} BTC
for
{{fundedMinutes.toFixed(0)}} minutes
You
Remember, you
will only be charged per minute watched.


LEAP#544 YouTube FootSwitch
Compiled on Apr 23 2020 at 23:58:29
Video ID
Load
Connect Foot Controller
Stopped
Rev
Play
Fwd
Mark
Uptime:
00:00:00


Eric Sink Tells the Story of His First BoS Column
Here. I'm very pleased to have Eric Sink of SourceGear fame writing for the experimental Business of Software section [1] of the Longhorn Developer Center. He's not only a successfuly ISV, but also a wonderful communicator and I look forward to reading more of his stuff, in spite of the minor communication problem we started off with. : )
[1] http://msdn.microsoft.com/longhorn/community/business/


{% extends 'summary/visual_detail.html' %} {% block content %} {{ block.super }} {% include "hawc/_delete_block.html" with name="visualization" notes="This will delete the current visualization, which cannot be recovered." %} {% endblock content %}


UVa Online-Judge Archive
|
182960 submissions recieved
|
Live Archive Status
|
Live Archive Author Ranklist
|
Live Archive Board


--- layout: post title: Food Without Plastic date: 2013-08-13 23:05:15.000000000 -04:00 type: post published: true status: publish categories: [] tags: - constraints - food meta: publicize_twitter_user: AnoSinPlastico _wpas_done_4291354: '1' _publicize_done_external: a:1:{s:7:"twitter";a:1:{i:1663781161;b:1;}} tagazine-media: a:7:{s:7:"primary";s:0:"";s:6:"images";a:0:{}s:6:"videos";a:0:{}s:11:"image_count";i:0;s:6:"author";s:8:"29466769";s:7:"blog_id";s:8:"56369250";s:9:"mod_stamp";s:19:"2013-08-14 03:05:15";} author: login: savebeandip email<EMAIL_ADDRESS>display_name: savebeandip first_name: '' last_name: '' ---
Food Without Plastic
As I walked the isles of Shaw's, I started to think about how awesome this year long journey is going to be. I love love love limiting my choices. I only use the word love to describe love and that means the mind has to interpret the word love in many different ways. What that nonsense means is constraints lead to creativity.
I walked through the supermarket with a small canvas bag I got at SXSW the past year.  I realized I should never go to this supermarket again.
Things I can purchase at Shaw's: cartons of drank (milk and juice and stuff), boxes of grains and oats, fruits and vegetables that are not wrapped in mesh or in plastic bags.
Things I plan to make with said ingredients (and a few more from the pantry): Omelets, tortillas sin papas, hummus, orange slices.


Serverjs JWT
A starter template for using JWT with Server.js
🔓 not logged in
Email:
Password:
Submit
output...


Food
{% include indexhead.html %}
{% include preloader.html %}Give Education to Kids
This is due to their excellent service, competitive pricing and customer support. It’s throughly refresing to get such a personal touch.
This is due to their excellent service, competitive pricing and customer support. It’s throughly refresing to get such a personal touch.
This is due to their excellent service, competitive pricing and customer support. It’s throughly refresing to get such a personal touch.
Help People in Need


Add meal
Back
Home
Log out
Add meal
Meal Name
Meal Name
Meal Price
Meal Price
Course
Breakfast
Lunch
Dinner


Beta This is a test version of the layout of this page. Take the survey to help us improve it
Guidance
This grant scheme is now closed.
It has been replaced by the ‘ Primary academy chain development grant ’.
A grant for groups of 3 or more schools applying to form a multi-academy trust (MAT), where the majority of the schools are primary.
This £50,000 grant is available until 31 March 2014 for groups of 3 or more schools applying to form a multi-academy trust ( MAT ), where the majority of the schools are primary.
To qualify for this, at least 1 school in the chain must be performing well.
Where small schools (with under 210 pupils) are joining the MAT , an additional small schools supplement is available.
Schools with under 100 pupils will receive an additional £5,000 and those with between 100 and 210 pupils will receive £2,000.


--- layout: default html-class: docs-page --- {% include item-doc-page.html items=site.software item_type='software' %}


|
Unity
|
Controls the eyebrows. More...
Public Member Functions | |
| void | SetEmotion (string emotion) |
| Sets eyebrow emotion. More... | |
Private Member Functions | |
| void | Start () |
| Called before the first frame update. More... | |
| void | Update () |
| Called once per frame. More... | |
Private Attributes | |
| Animator | animator |
| Animator object. More... | |
| readonly int | NO_EYEBROWS = 0 |
| Universal integer for NO EXPRESSION. More... | |
| readonly int | ANGRY = 3 |
| Universal integer for ANGRY. More... | |
| readonly int | SURPRISED = 2 |
| Universal integer for SURPRISED. More... | |
Controls the eyebrows.
Handles eyebrows and their animations
Definition at line 15 of file EyebrowController.cs.
| void EyebrowController.SetEmotion | ( | string | emotion | ) |
Sets eyebrow emotion.
| emotion | Possible values: HAPPY, SAD, ANGRY, SURPRISED, IDLE, SPEAKING |
Definition at line 70 of file EyebrowController.cs.
References ANGRY, animator, NO_EYEBROWS, and SURPRISED.
|
private |
Called before the first frame update.
Runs once.
Definition at line 47 of file EyebrowController.cs.
References animator.
|
private |
|
private |
Universal integer for ANGRY.
Triggers eyebrows tied to the ANGRY look
Definition at line 40 of file EyebrowController.cs.
Referenced by SetEmotion().
|
private |
Animator object.
Instance of the Animator class. Holds an animator controller which in turn holds animations and handles the switches between them.
Definition at line 22 of file EyebrowController.cs.
Referenced by SetEmotion(), and Start().
|
private |
Universal integer for NO EXPRESSION.
Triggers eyebrows to turn off
Definition at line 28 of file EyebrowController.cs.
Referenced by SetEmotion().
|
private |
Universal integer for SURPRISED.
Triggers eyebrows tied to the SURPRISED look
Definition at line 40 of file EyebrowController.cs.
Referenced by SetEmotion().


The MadSESE research seminar aims to gather junior and senior researchers from Madrid, Spain,
and neighboring regions to meet and to discuss new ideas, important problems and obtained research
results in the field of software engineering.
Prospective speakers (junior or senior researchers or practitioners active in the field) are
invited to submit an extended abstract (max. 1 A4 page) of a talk. Based on these extended abstracts,
the organization will construct an exciting program. The seminar particularly welcomes presentations
of ongoing research or tools developed by PhD students. Senior researchers will provide the necessary
feedback and lively discussions.
Attendance to MadSESE 2016 is free (including lunch, and coffee breaks), but registration is required. The event will be hosted at the Campus de Fuenlabrada of the Universidad Rey Juan Carlos in the Seminar 144 room.
Directions for coming to the Campus de Fuenlabrada by car can be found here.
Directions for coming to the Campus de Fuenlabrada by public transport can be foud here.
This year we will have the following exciting keynote talk:
Sandro Morasca is a Professor
of Computer Science at the Dipartimento di Scienze Teoriche e Applicate of the Università
degli Studi dell'Insubria in Como and Varese, Italy. He was an Associate and Assistant
Professor at the Politecnico di Milano in Milano and Como, Italy, and a Faculty Research
Assistant and later a Visiting Scientist at the Department of Computer Science of the University
of Maryland at College Park. Sandro Morasca has been actively carrying out research in
Empirical Software Engineering, Software Quality, Software Verification, Open Source Software,
Web Services, and Specification of Concurrent and Real-time Software Systems, and has published
over 30 journal papers and over 80 conference papers. Sandro Morasca has been involved in
several national and international projects and has served on the PC of a number of international
Software Engineering conferences and serves on the editorial board of "Empirical Software
Engineering: An International Journal," published by Springer-Verlag.


Welcome to WebChat (Spring Boot Version)
You are currently logged in as '
'!
You are currently not logged in!
Login
or
Register


Answer the questions below as honestly as you can, and you'll find out which of the hobbits that were a part of the Fellowship of the Ring you're most like.


add_coach: add a new record describing the performance of one coach in one season. It should have the following 9 arguments: ID SEASON FIRST_NAME LAST_NAME SEASON_WIN SEASON_LOSS PLAYOFF_WIN PLAYOFF_LOSS TEAM. When successful the command prompt will output: New coach entered successfully if the names are two words or more use the '+' operator to chain the names together such as <Van+Gundy>. This will result in Van Gundy
add_team: add a new record with one team's basic information. It should be followed by the following 4 arguments: ID, LOCATION, NAME, and LEAGUE. When successful the command prompt will output: New team entered successfully if the name of the location is two words or more use the plus operator to chain the names together such as <New+York>, this will result in New York.
load_coaches : bulk load of multiple coach/season records from a file specified by the only argument of the command. Note that the file stores each record in one line of text, and different fields of the line/record are separated by commas. In our sample files, you may find empty attribute values.
load_teams : bulk load of multiple team records from a file specified by the only argument of the command. Records in such files are organized in the same way as in those for load_coaches.
print_coaches: print a list of all coaches, with info about one coach's performance in one season in a line;
print_teams: print a list of all teams, with info about one team per line;
coaches_by_name : print the information of coach(es) with the specified last name, which is given by the only argument of this command;
teams_by_city : print the information of teams in the city specified by the only argument;
best_coach: print the name of the coach who has the most net wins in a season specified by the only argument. Note that the net wins should be calculated as (season_win - season_loss) + (playoff_win - playoff_loss).
search_coaches: print the info of coaches with the specified properties, which are given by the arguments in the following format: field=VALUE where field represents the name of a search criterion and 'VALUE' is the value of that field you want the query results to match. Multiple fields can be used in the same query. For example, a command "search_coaches first_name=John season_win=40" means "finding all performance data of a coach with first name 'John' who had a seasonal win of 40". Note that a meaningful field should match exactly one of the column names in the coaches table (just ignore those that do not match any column names). Note: when chaning fields with playoff_loss and playoff_win it is entered as: playoff_wins and playoff_losses as well as season_wins and season_losses. For more detail look at line 383 - 487 of P1.java
coaches.txt - Contains a list of coaches to be loaded to the database.
teams.txt -contains a list of teams to be added to the database.
There are 4 document files all with the same information. I recommend opening the README.html, if for some reason that an html file cannot be viewed. There is a README.md a README.pdf and a README.txt that are exact copies of what is in the README.html.


Menu1
Menu 2
Menu 3
randomscooter
1 of 4
2 of 4
3 of 4
4 of 4
1 of 4
2 of 4
3 of 4
4 of 4
1 of 4
2 of 4
3 of 4
4 of 4
1 of 4
2 of 4
3 of 4
4 of 4


This plugin is a very small javascript library which gives you the ability to write clever and specific CSS rules to refine your website design for each different browser, platform, device and operating system.
by Rogerio Taques. @version # @see http://github.com/rogeriotaques/detectr.js
You might see the above box in different colors, accordin on the browser you're using. Check in the table below if the color you're seeing matches with the browser you're using.
Are you not seeing the correct color in the sample box?
#debug
Copy the code above and open an issue on Github, telling me what CSS rules are expected to be defined.


NEW
Product Code:p325
৳47,000
Availity:In Stock
Condition:New
Brand:XYZ Company
Almirah 2 Part Code: A203 Medium-Density Fibreboard(MDF) Plywood Solid wood Lacqure polish
Design is not just what it looks like and feels like. Design is how it works
You can make order for you design
We are ready to your reuirements
৳61,500
৳81,500
৳91,500
৳71,500
৳11,500


| Declared in | RMUploadURLConnection.h |
|---|
The delegate for
. RMUploadURLConnection
- connection:downloadProgressed:
requiredCalled periodically as a download progresses.
- connection:uploadProgressed:
requiredCalled periodically as an upload progresses.
- connection:didFailWithError:
requiredSent if the connection fails, providing an NSError with the cause.
- connection:didCompleteWithData:
requiredSent once the connection completes successfully.
- connection:didReceiveAuthenticationChallenge:
requiredBehaves identically to the NSURLConnection delegate equivalent.
- connection:didCancelAuthenticationChallenge:
requiredBehaves identically to the NSURLConnection delegate equivalent.
Called periodically as a download progresses.
- (void)connection:(RMUploadURLConnection *)connection downloadProgressed:(float)currentProgress
The
sending the message.RMUploadURLConnection
The current progress, between 0.0 and 1.0.
RMUploadURLConnection
.h
Called periodically as an upload progresses.
- (void)connection:(RMUploadURLConnection *)connection uploadProgressed:(float)currentProgress
The
sending the message.RMUploadURLConnection
The current progress, between 0.0 and 1.0.
RMUploadURLConnection
.h
Sent if the connection fails, providing an NSError
with the cause.
- (void)connection:(RMUploadURLConnection *)connection didFailWithError:(NSError *)error
The
sending the message.RMUploadURLConnection
An
object representing the error that caused the connection to fail. NSError
RMUploadURLConnection
.h
Sent once the connection completes successfully.
- (void)connection:(RMUploadURLConnection *)connection didCompleteWithData:(NSData *)data
The
sending the message.RMUploadURLConnection
The response
returned by the server. NSData
RMUploadURLConnection
.h
Behaves identically to the
delegate equivalent. NSURLConnection
- (void)connection:(RMUploadURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
RMUploadURLConnection
.h
Behaves identically to the
delegate equivalent. NSURLConnection
- (void)connection:(RMUploadURLConnection *)connection didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
RMUploadURLConnection
.h
Last updated: 2010-9-9


{% extends "base.html" %} {%- block app_content %}
There are no {{ title }}
Are you sure you want to delete this workshop?


--- layout: post_notitle title: Knight-Mozilla OpenNews -- Building an ecosystem for open web development in journalism ---
OpenNews is a joint project of Mozilla and the Knight Foundation that supports the growing community of news developers, designers, and data reporters helping journalism thrive on the open web.
We are excited to introduce you to our 2015 Knight-Mozilla Fellows. This cohort comes from around the world and from a diversity of backgrounds and experiences, to spend 10 months hacking the news in some of the best newsrooms around. Find out who they are and what they’ll be up to in 2015.
{{ post.title }}| posted {{ post.date }}>
{{ post.excerpt }} read more
We believe a community of peers working, learning, and solving problems together can create the tools journalism needs to thrive. Through fellowships that place developers in news organizations around the world, conferences for newsroom designers and coders, and a wide range of community and project support programs, we support collaboration across organizations. Learn more about what we do or find out how you can get involved.


Security
OpenSMTPD is developed with the same rigorous security process that the
OpenBSD group is famous for. If you wish to report a security issue in
OpenSMTPD, please contact the private developers list<EMAIL_ADDRESS>For more information, see the
OpenBSD Security page.
OpenSMTPD 5.4.1 Security Advisories
These are the OpenSMTPD 5.4.1 advisories -- all these problems are solved
in our repository as well as in newer snapshots and releases.
OpenSMTPD 5.3.3 Security Advisories
These are the OpenSMTPD 5.3.3 advisories -- all these problems are solved
in our repository as well as in newer snapshots and releases.
OpenSMTPD 5.3.2 Security Advisories
These are the OpenSMTPD 5.3.2 advisories -- all these problems are solved
in our repository as well as in newer snapshots and releases.
OpenSMTPD 5.3.1 Security Advisories
These are the OpenSMTPD 5.3.1 advisories -- all these problems are solved
in our repository as well as in newer snapshots and releases.
<EMAIL_ADDRESS>$OpenBSD: security.html,v 1.5 2013/12/06 14:22:16 gilles Exp $


SUBREGIONAL CAPACITY-BUILDING WORKSHOP ON THE NAGOYA PROTOCOL ON ACCESS AND BENEFIT SHARING FOR THE CARIBBEAN
19 - 22 MAY 2014 - GEORGETOWN, GUYANA
Thanks to the generous contributions of the donors
This workshop was held in collaboration with
Meeting Documents
Workplan
ABSCH feedback form
Official CBD meeting page
DAY 1: Monday 19 May 2014
Item 1. Opening of the workshop
Item 2. Workshop objectives and expected outcome
Item 3. Recent developments relating to the Nagoya Protocol on Access to Genetic Resources and the Fair and Equitable Sharing of Benefits Arising from their Utilization, including preparations for the first meeting of Conference of the Parties serving as the meeting of the Parties to the Nagoya Protocol.
Item 4: Exchange of experiences, lessons learned and views on the way forward towards the ratification of the Nagoya Protocol
DAY 2: Tuesday 20 May 2014
Item 5: Laying the foundation for national implementation of the Nagoya Protocol
Item 5.1: Mainstreaming access and benefit-sharing into national biodiversity strategies and action plans and national development policies and plans
Item 5.2: Roadmaps towards the development or amendment of domestic legislative, administrative or policy measures to meet the obligations set out in the Nagoya Protocol
Item 5.3: Establishing or strengthening institutional arrangements and administrative systems for implementation of the Protocol
Item 5.4: Promoting synergy and mutual supportiveness in the implementation of the Nagoya Protocol and other relevant international agreements and instruments
DAY 3: Wednesday 21 May 2014
Item 6: Pilot Phase of the Access and Benefit-Sharing Clearing-House
Item 7: The way forward
Item 7.1 Mobilization of resources for implementation of the Protocol
Item 7.2 Next steps towards the ratification of/accession to the Nagoya Protocol and the development or amendment of domestic legislative, administrative or policy measures
Item 7.3 Regional and subregional cooperation on the implementation of the Nagoya Protocol
Item 8. Closure of the workshop
- Closing remarks by a representative of the CBD Secretariat and a representative of the host government
Photos
(please send your photos to
<EMAIL_ADDRESS>if you would like them to appear on this webpage)


With supporting text below as a natural lead-in to additional content.
Read the articleWith supporting text below as a natural lead-in to additional content.
Read the articleWith supporting text below as a natural lead-in to additional content.
Read the articleWith supporting text below as a natural lead-in to additional content.
Read the articleWith supporting text below as a natural lead-in to additional content.
Read the articleWith supporting text below as a natural lead-in to additional content.
Read the articleWith supporting text below as a natural lead-in to additional content.
Read the article


More than two classes: Logistic Regression¶
In the following, we are interested in the case of \(p\) classes with \(p>2\). After the previous discussion, it seems natural for the output to take the integer values \(y = 1, \dots, p\). However, it turns out to be helpful to use a different, so-called one-hot encoding. In this encoding, the output \(y\) is instead represented by the \(p\)-dimensional unit vector in \(y\) direction \(\mathbf{e}^{(y)}\),
where \(e^{(y)}_l = 1\) if \(l = y\) and zero for all other \(l=1,\ldots, p\). A main advantage of this encoding is that we are not forced to choose a potentially biasing ordering of the classes as we would when arranging them along the ray of integers.
A linear approach to this problem then again mirrors the case for linear regression. We fit a multi-variate linear model, Eq. (12), to the one-hot encoded dataset \(\lbrace(\mathbf{x}_{1}, \mathbf{e}^{(y_1)}), \dots, (\mathbf{x}_{m}, \mathbf{e}^{(y_m)})\rbrace\). By minimising the RSS, Eq. (10), we obtain the solution
where \(Y\) is the \(m\) by \(p\) output matrix. The prediction given an input \(\mathbf{x}\) is then a \(p\)-dimensional vector \(\mathbf{f}(\mathbf{x}|\hat{\beta}) = \tilde{\mathbf{x}}^{T} \hat{\beta}\). On a generic input \(\mathbf{x}\), it is obvious that the components of this prediction vector would be real valued, rather than being one of the one-hot basis vectors. To obtain a class prediction \(F(\mathbf{x}|\hat{\beta}) = 1, \dots, p\), we simply take the index of the largest component of that vector, i.e.,
The \(\textrm{argmax}\) function is a non-linear function and is a first example of what is referred to as activation function.
For numerical minimization, it is better to use a smooth activation function. Such an activation function is given by the softmax function
Importantly, the output of the softmax function is a probability \(P(y = k|\mathbf{x})\), since \(\sum_k F_k(\mathbf{x}|\hat{\beta}) = 1\). This extended linear model is referred to as logistic regression 1.
The current linear approach based on classification of one-hot encoded data generally works poorly when there are more than two classes. We will see in the next chapter that relatively straightforward non-linear extensions of this approach can lead to much better results.
- 1
Note that the softmax function for two classes is the logistic function.


Normal prob. density function (pdf) with arbitrary covariance matrix. Evaluate the multi-variate density with mean vector m and covariance matrix C for the input vector xs. Assumes that the N datapoints are d dimensional. Then m is dx1 or 1xd, C is dxd, and xs is dxN or NxD where N is the number of samples to be evaluated. USAGE ps = normpdf2( xs, m, C ) INPUTS xs - points to evaluated (Nxd or dxN) m - mean vector (dx1 or 1xd) C - Covariance matrix (dxd) OUTPUTS ps - probability density at each x (Nx1) EXAMPLE ps = normpdf2( randn(10,2), [0 0], eye(2) ) See also NORMPDF Piotr's Computer Vision Matlab Toolbox Version 2.30 Copyright 2014 Piotr Dollar. [pdollar-at-gmail.com] Licensed under the Simplified BSD License [see external/bsd.txt]


Created by Eoin Brazil / @eoinbrazil
Two previous ML talks to Dublin R User Group and ended with an example of running RStudio in EC2. This talk picks up that journey and looks to the issues of scaling beyond the single instance.
Variety of Packages/Libraries
multicore
foreach
parallel (core)
Rmpi
nws
snow or snowfall
SPRINT
Continuous communication to 'Master' R process or
a job scheduler with batched jobs managing the resources.
Aim to optimally exploit available computational resources.
sudo echo performance | sudo tee /sys/devices/system/cpu/cpuX/cpufreq/scaling_governor > /dev/null
sudo echo 120 | sudo tee /proc/sys/net/ipv4/tcp_keepalive_time > /dev/null
sudo echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled > /dev/null
sudo echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag > /dev/null
sudo echo 0 | sudo tee /sys/kernel/mm/transparent_hugepage/khugepaged/defrag > /dev/null
sudo echo 0 | sudo tee /proc/sys/vm/zone_reclaim_mode > /dev/null
sudo echo tsc | sudo tee /sys/devices/system/clocksource/clocksource0/current_clocksource > /dev/null
Allocates access to resources for period.
Manages starting, stopping, monitoring work on set of allocated nodes.
Manages queue/s of work against available resources.
To install, do:
Documentation (e.g. Technical Report):
nrow <- 100000
sd <- 0.5
real.centers <- list( x=c(-1.3, -1.1, -0.7, -0.4, -0.1, +0.3, -0.5, +0.7, -0.9, +1.1),
y=c(-1.0, +0.5, +1.0, -0.3, +0.1, +0.5, +0.2, -1.3, +0.7, +1.2) )
data <- matrix(nrow=0, ncol=2)
colnames(data) <- c("x", "y")
for (i in seq(1, 10)) {
x0 <- rnorm(nrow, mean=real.centers$x[[i]], sd=sd)
y0 <- rnorm(nrow, mean=real.centers$y[[i]], sd=sd)
data <- rbind( data, cbind(x0,y0) )
}
write.csv(data, file='dataset.csv', row.names=FALSE)
Code Source: https://github.com/glennklockwood/paraR/blob/master/kmeans/gen-data.R
library(ggplot2)
#load the generated dataset
data <- read.csv('dataset.csv')
# run k-means and classify the data into clusters
result <- kmeans(data, centers=10, nstart=100)
# print the cluster centers based on the k-means run
print(result$centers)
data$cluster = factor(result$cluster)
centers = as.data.frame(result$centers)
plot = ggplot(data=data, aes(x=x, y=y, color=cluster )) + geom_point() + geom_point(data=centers, aes(x=x,y=y, color='Center')) + geom_point(data=centers, aes(x=x,y=y, color='Center'), size=52, alpha=.3, show_guide=FALSE)
print(plot)
Code Source: https://github.com/glennklockwood/paraR/blob/master/kmeans/serial.R
It is an extract from the 1994 US census database of 32,563 rows. It covers a range of demographic information for a set of citizens including education, race, gender, marital status and can be used for a variety of purposes including building models to predict key measures like income.
| Classifier | Nodes | Observations | Folds | Iterations | Time (secs) | Result |
|---|---|---|---|---|---|---|
| randomForest | 1 | 32561 (adult) | 3 | 1 | 608 | 0.01 (aggr) 0.01 (mean) 0.00 (sd) |
| randomForest | 3 | 32561 (adult) | 3 | 1 | 250 | 0.01 (aggr) 0.01 (mean) 0.00 (sd) |
library("mlr")
setwd("~/examples")
lrn = makeLearner("classif.randomForest")
adult = read.table("data/adult.data",
sep=",",header=F,col.names=c("age", "type_employer", "fnlwgt", "education",
"education_num","marital", "occupation", "relationship", "race","sex",
"capital_gain", "capital_loss", "hr_per_week","country", "income"),
fill=F,strip.white=T
)
adult.task = makeClassifTask(data = adult, target = "education")
rdesc = makeResampleDesc("CV", iters = 3)
system.time(res <- resample(lrn, adult.task, rdesc))
res
Code Source: http://www.teraproc.com/teraproc-blog/seeing-the-forest-and-the-trees/
library("parallelMap")
library("BatchJobs")
library("mlr")
setwd("~/examples")
conf = BatchJobs:::getBatchJobsConf()
conf$cluster.functions = makeClusterFunctionsOpenLava("../batch.tmpl")
storagedir = getwd()
parallelStartBatchJobs(storagedir = storagedir)
lrn = makeLearner("classif.randomForest")
adult = read.table("data/adult.data",
sep=",",header=F,col.names=c("age", "type_employer", "fnlwgt", "education",
"education_num","marital", "occupation", "relationship", "race","sex",
"capital_gain", "capital_loss", "hr_per_week","country", "income"),
fill=FALSE,strip.white=T
)
adult.task = makeClassifTask(data = adult, target = "education")
rdesc = makeResampleDesc("CV", iters = 3)
system.time(res <- resample(lrn, adult.task, rdesc))
res
parallelStop()
Code Source: http://www.teraproc.com/teraproc-blog/seeing-the-forest-and-the-trees/
A set of microarray expression profiles of single cells from mouse embryos at stages E3.25, E3.5 and E4.5. Explore a binary classification of transcriptome (cDNA) samples from single cells based on their microarray expression data and group these into two groups.
| Classifier | Nodes | Observations | Folds | Iterations | Time (secs) | Result |
|---|---|---|---|---|---|---|
| glmnet | 1 | 45101 features, 101 samples (Hiiragi2013) | 10 | 12 | 22 | 0.01 (aggr) 0.01 (mean) 0.04 (sd) |
| glmnet.tuned | 1 | 45101 features, 101 samples (Hiiragi2013) | 10 | 12 | 1161 | 0.01 (aggr) 0.01 (mean) 0.04 (sd) |
| glmnet.tuned | 3 | 45101 features, 101 samples (Hiiragi2013) | 10 | 12 | 168 | 0.01 (aggr) 0.01 (mean) 0.03 (sd) |
| glmnet | response - E3.25 | other |
|---|---|---|
| truth - E3.25 | 53 | 0 |
| other | 1 | 47 |
| glmnet tuned | response - E3.25 | other |
|---|---|---|
| truth - E3.25 | 53 | 0 |
| other | 1 | 47 |
library("knitr")
library("Biobase")
library("Hiiragi2013")
library("glmnet")
library("mlr")
data( "x", package = "Hiiragi2013" )
rowV <- data.frame( v = rowVars(exprs(x)) )
selectionThreshold <- 10^(-0.5)
selectedFeatures <- ( rowV$v > selectionThreshold )
embryoSingleCells <- data.frame( t(exprs(x)[selectedFeatures, ]), check.names = TRUE )
embryoSingleCells$tg <- factor( ifelse( x$Embryonic.day == "E3.25", "E3.25", "other") )
with( embryoSingleCells, table( tg ) )
task <- makeClassifTask( id = "Hiiragi", data = embryoSingleCells, target = "tg" )
lrn = makeLearner( "classif.glmnet", predict.type = "prob" )
rdesc <- makeResampleDesc( method = "CV", stratify = TRUE, iters = 12 )
start.time <- Sys.time()
r <- resample(learner = lrn, task = task, resampling = rdesc )
end.time <- Sys.time()
time.taken <- end.time - start.time
print(time.taken)
tuningLrn <- makeTuneWrapper(lrn,
resampling = makeResampleDesc("CV", iters = 10, stratify = TRUE),
par.set = makeParamSet(makeNumericParam("s", lower = 0.001, upper = 0.1)),
control = makeTuneControlGrid(resolution = 6) )
start.time <- Sys.time()
r2 <- resample(learner = tuningLrn, task = task, resampling = rdesc )
end.time <- Sys.time()
time.taken <- end.time - start.time
print(time.taken)
Code Source: https://bioconductor.org/help/course-materials/2015/CSAMA2015/lab/classification.html
!!! Add same libraries as cDNA_microarray_ex1.R !!!
library("BatchJobs")
library("parallelMap")
library("parallel")
setwd("~/examples")
conf = BatchJobs:::getBatchJobsConf()
conf$cluster.functions = makeClusterFunctionsOpenLava("../batch.tmpl")
storagedir = getwd()
parallelStartBatchJobs(storagedir = storagedir)
!!! Add same code as cDNA_microarray_ex1.R !!!
parallelStop()
This consists of 1000 rows, each row has information on the credit status of an individual. It provides both qualitative and quantitative, such as loan purpose, sex, loan duration, and installment rate as percentage of their disposable income.
| Classifier | Nodes | Observations | Folds | Iterations | Time (secs) | Result |
|---|---|---|---|---|---|---|
| glmnet | 1 | 800 (German Credit Scores) | 10 | 5 | 6 | 0.26 (aggr) 0.26 (mean) 0.04 (sd) |
| glmnet.tuned | 3 | 800 (German Credit Scores) | 10 | 5 | 53 | 0.26 (aggr) 0.26 (mean) 0.04 (sd) |
library(kernlab)
library(caret)
library(mlr)
setwd("~/examples")
data(GermanCredit)
GermanCredit <- GermanCredit[, -nearZeroVar(GermanCredit)]
GermanCredit$CheckingAccountStatus.lt.0 <- NULL
GermanCredit$SavingsAccountBonds.lt.100 <- NULL
GermanCredit$EmploymentDuration.lt.1 <- NULL
GermanCredit$EmploymentDuration.Unemployed <- NULL
GermanCredit$Personal.Male.Married.Widowed <- NULL
GermanCredit$Property.Unknown <- NULL
GermanCredit$Housing.ForFree <- NULL
set.seed(100)
inTrain <- createDataPartition(GermanCredit$Class, p = .8)[[1]]
GermanCreditTrain <- GermanCredit[inTrain, ]
GermanCreditTest <- GermanCredit[-inTrain, ]
task = makeClassifTask(id="gc", data=GermanCreditTrain, target="Class")
normalizeFeatures(task, method="standardize")
lrn.svm = makeLearner("classif.ksvm")
lrn.glm = makeLearner("classif.binomial")
rdesc = makeResampleDesc("RepCV", folds=10, reps=5, predict="both")
## estimate sigma
set.seed(231)
sigDist = sigest(Class ~ ., data=GermanCreditTrain, frac=1)
trans = function(x) 2^x
ps = makeParamSet(makeNumericParam("C", lower=-2, upper=4, trafo=trans),
makeDiscreteParam("sigma", values=c(as.numeric(sigDist[2]))),
makeDiscreteParam("kernel", values=c("rbfdot")))
ctrl = makeTuneControlGrid(resolution=c(C=7L)) # adjust increment
# check grid
grid <- generateGridDesign(ps, resolution=c(C=7))
# change to transformed values
grid$C = trans(grid$C)
grid$sigma = round(as.numeric(as.character(grid$sigma)),4)
set.seed(123457)
res = tuneParams(lrn.svm, task=task, resampling=rdesc, par.set=ps, control=ctrl, show.info=FALSE)
res.opt.grid <- as.data.frame(res$opt.path)
res.opt.grid$C = trans(res.opt.grid$C)
res.opt.grid$sigma = round(as.numeric(as.character(res.opt.grid$sigma)),4)
# update svm learner
lrn.svm = setHyperPars(lrn.svm, par.vals=res$x)
set.seed(123457)
res.bench = benchmark(learners=list(lrn.svm,lrn.glm), task=task, resampling=rdesc)
res.bench
system.time(res <- resample(lrn, task, rdesc))
res
Code Source: http://jaehyeon-kim.github.io/r/2015/01/24/Benchmark-Example-in-MLR-Part-I/
!!! Add same libraries as germancredit-serial.R !!!
library("BatchJobs")
library(parallel)
setwd("~/examples")
conf = BatchJobs:::getBatchJobsConf()
conf$cluster.functions = makeClusterFunctionsOpenLava("../batch.tmpl")
storagedir = getwd()
parallelStartBatchJobs(storagedir = storagedir)
!!! Add same code as germancredit-serial.R !!!
parallelStop()
Advantages to using the cloud for scaling your machine models which can help reduce the time to create the models or explore larger problem spaces than possible by running many parallel similar models. Disadvantages include it may be unnecessary, need to think about parallelisation, consider the communication costs, and adds to the setup overhead.


Contact:
Resa
© Copyright 2005-2006. All rights reserved.


Understanding How People with Visual Impairments Take Selfies: Experiences and Challenges
Authors: Ricardo E. Gonzalez Penuela, Paul Vermette, Zihan Yan, Cheng Zhang, Keith Vertanen, and Shiri Azenkot.
Short Summary of Work
Selfies are a pervasive form of communication in social media. While there has been some work on systems that guide people with visual impairments (PVI) in taking photos, nearly all has focused on using the camera on the back of the device. We do not know how PVI take selfies and what are the barriers they have encountered.
The aim of our work is to understand:
- PVI selfie-taking experiences and challenges.
- What information do PVI need when taking selfies.
- What modalities do PVI prefer (e.g., tactile, verbal, or non-verbal audio) to support selfie-taking.
To address this gap, we conducted interviews with 10 PVI. Our findings show that current selfie-taking applications do not provide enough assistance to meet the needs of PVI.
We contribute design guidelines that researchers and designers can implement for creating accessible selfie-taking applications.
Design Guidelines For Accessible Selfie-taking applications
Read more down below in the published paper!
-
Tailor the system guidance to the goal of the user and support all success criteria: For example, a participant mentioned that when she wanted to take a quick photo and she did not care how she looked, but other times when she shared the photo on social media, she cared about how she looked and the photo quality. In the first scenario the iOS camera guidance provides enough information since it helps PVI center their face and snap a quick photo; but in the second scenario, PVI need more information about their physical appearance (e.g., their facial expression, whether their eyes are closed or open, clothing detected), about background information (e.g., disorganized table, floor detected) and the quality of the photo (e.g., whether the photo is blurry, whether the faces in the photo can be seen clearly).
-
Guide the user through human-like conversational prompts and descriptions: PVI are accustomed to being assisted by sighted peers when they take photos. Thus, conversational prompts and descriptions of photo content and quality would be natural and easy to follow.
- Communicate low-level guidance with real-time feedback using non-verbal audio cues: PVI are familiar with systems that leverage the pitch, tone, or rhythm of sounds to convey a change of state in the system or progress of the task. This, combined with human-like conversational prompts, would provide PVI with the necessary information to make small adjustments to the camera position.
- Include settings to filter information: provide an easy way to turn on or off information of the guidance system (e.g., turn on/off guidance about the photo’s background or people’s facial expressions). More generally, information should be modifiable with varying degrees of specificity to adapt to the needs and preferences of the user.


No NavTech servers found. Please add a NavTech server to make private payments.
See navhub.org/navtech-servers for more details.
Invalid server
NavTech Server successfully added


Richard N. Griffiths, Lyn Pemberton
Scanned
Propose pedagogical angles on learning about interaction design through patterns, as tested with students, and detailing some of the obstacles and solutions to doing this.
"Although they understood an exposition of the Pattern Language approach,
even Final year students
found it difficult to generalise from examples, a high level cognitive
skill. A two-stage process is
needed if generalisations are to be made, with individuals presenting
examples from their own
experience from which can be identified. "


Toggle navigation
Exception Handler
Home
Logout
Title
July 11, 2012 2:17:16 PM CDT
There was an unexpected error (type=
Bad
, status=
500
).
Fake content
Please contact the administrator with the above information.


| DOSE: |
|
insufflated |
Cocaine |
(powder / crystals) |
Wow this is a fun fun drug......while the high lasts. I am doing it for the 5th time, but its the first time i bought it and am doing it alone.  Its not that i need to do drugs alot i just need them when i am really stresed.  The stuff i bought isnt the best but then again it was pretty cheap. It feels like there is speed in it so its working pretty well.
i just really really needed to write that i cant be doing this again for a good 3 months, cause its way to expensive and my nose is killing me. I just want to be able to read this when i am fiending tomorrow when i run out. For all the people out there that cant stop, i see your pain, this stuff is nuts, but just try to make it out alive.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.