| 006:118 Khan | : |
So eat of that (meat) on which Allah's Name has been pronounced (while slaughtering the animal), if you are believers in His Ayat (proofs, evidences, verses, lessons, signs, revelations, etc.). |
| 006:118 Maulana | : |
Eat, then, of that on which Allah's name has been mentioned, if you are believers in His messages. |
| 006:118 Pickthal | : |
Eat of that over which the name of Allah hath been mentioned, if ye are believers in His revelations. |
| 006:118 Rashad | : |
You shall eat from that upon which GOD's name has been pronounced, if you truly believe in His revelations. |
| 006:118 Sarwar | : |
If you have faith in God's revelations, eat the flesh of the animal which has been slaughtered with a mention of His Name. |
| 006:118 Shakir | : |
Therefore eat of that on which Allah's name has been mentioned if you are believers in His communications. |
| 006:118 Sherali | : |
Eat, then, of that over which the name of ALLAH has been pronounced, if you are believers in HIS Signs. |
| 006:118 Yusufali | : |
So eat of (meats) on which Allah's name hath been pronounced, if ye have faith in His signs. |
Concepts/Themes Covered: أركان الإسلام > الصيام > الطعام والأغذية Pillars of Islam> Fasting> Food and Nourishments
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


|
ESS-NW-CAR
Embedded Self-adaptive Services
|
#include <SPI.h>
Functions | |
| void | setup () |
| This is the setup, this is run once before we enter the loop function which never returns. Any code that should run once on boot before we assume normal behaviour should be put in here. | |
| void | loop () |
| This is the main loop that is continously itterated while the arduino is powered on. Any code that should be run contiously should be put in here. | |
| void | startSPI () |
| Initialises the SPI such that the arduino is configured as a slave serving the BBB master. | |
| ISR (SPI_STC_vect) | |
| SPI interrupt routine, interrupts are generated by the master enabling the arduinos Slave Select (SS) port by setting it to low. This means we can enter this interrupt routine and send the desired data. | |
| void | irInterruptHandler () |
| The IR-sensor interrupt handler. | |
| float | calculateSpeed () |
| Calculates speed using elapsed time and distance traveled. | |


{% extends 'template.server.view.html' %} {% block html %}
Dear {{email}},
Welcome to offtherift web app!
To activate your account, please click the link below:
The {{appName}} Team
If you didn't make this request, you can ignore this email. {% endblock %}


{{ ptitle }}
Fee details |
||
|---|---|---|
| What is your appeal about? |
|
Change |
| Fee | £50 | |
Appeal timeliness |
||
| Have you made an appeal to HMRC? | Yes | Change |
| Is this application late? | Yes | Change |
| Reason(s) for late application | Yes | Change |
Appeal details |
||
| Appellant details |
Terry Example
1 Test Road
Teston TE37 1NG
Tel: 01234 567890
Email<EMAIL_ADDRESS>|
Change |
| Representative details |
ABC Solicitors
7 High Street
Teston TE55 3RS
Tel: 07777 888999
Email<EMAIL_ADDRESS>|
Change |
| Desired outcome | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec ultricies nisi, in cursus nibh. Cras iaculis malesuada consectetur. Mauris ut venenatis massa. Ut imperdiet feugiat tempus. Nunc ac molestie enim, at ullamcorper quam. | Change |
| Is application to close an enquiry? | Yes | Change |
| Grounds for appeal | Morbi condimentum dictum rutrum. Nullam porttitor leo nulla, et maximus turpis commodo eget. Aliquam vitae mattis ipsum. Mauris faucibus, leo vel bibendum tristique, lorem tortor lacinia tellus, vitae porta dui mi posuere odio. | Change |
| Documents submitted |
|
Change |
Declaration and statement of truth
By completing this application and clicking the ‘Submit application and continue’ button, I believe the information I have given in this form is true to the best of my knowledge. If I am found to have been deliberately untruthful or dishonest, criminal proceedings for fraud can be brought against me. I understand that if I have given false information or I do not provide further evidence if requested, my application may be rejected and the full fee will be payable.


{% extends "base.html" %} {% block title %}Add Frame{% endblock %} {% block content %}
Congratulations, your frame has been added. It will start displaying your photos shortly.
Frame ID: {{ frameID }}


NB: to test this wapp, you will need to go to app creator and into 'background data' for each supporting wapp (Weather Covnerter, Twitter Publisher) as well as for this Wapp, Weather Rants. This is because before the wapps are published and installed, they will not run in the background.


FindMyPet
Home
Bulletin Board
Lost Dogs
Found Dogs
Lost Cats
Found Cats
Did you lose a pet?
Click here
Did you find a pet?
Click here


1. In general, how would you describe your overall hygiene?
2.
3. On how many of the last 7 days did you brush and floss your
teeth?
4. On how many of the last 7 days did you engage in moderate to
strenuous exercise(such as a brisk walk)?
5. On those days that you engaged in moderate to strenuous exercise,
how many minutes on average, do you exercise at this level?
6. How much of a priority is exercising?
Over the past seven days
1. How many times did you eat snacks, fast food, or pizza?
2. How many servings of fruits or vegetables did you eat each day?
3. How many sodas and sugar-sweetened beverages did you consume(on
average)each day?
4. How often did you consume a full breakfast?
5. Did you consume any medications?
1. How many hours do you sleep on average each night?
2. During the past month, how woud you rate your sleep quality
overall?
3. Do you go to bed and wake up at the same time every day. Even on
weekends?
4. How likely is it that you would fall asleep during the daytime
without intending to or that you would struggle to stay awake while
you were doing things?
5. How often do you have trouble going to sleep or staying asleep?
6. During the past 2 weeks, for about how many days did you have
loud snoring?
7. During the past 2 weeks, for about how many days did you fall
asleep while using you phone?
Over the past week how many days have these issues bothered you?
1. Feeling nervous, anxious, or on edge?
2. Not being able to stop or control worrying?
3. Worrying too much about different things?
4. Trouble relaxing?
5. Being so restless that it is hard to sit still?
6. Becoming easily annoyed or irritable?
7. Feeling as if you do not have enough time to do what you set out
for yourself?


My favorite things
These are a few of my favorite things.
People
Here are some of my favorite people!
- My brother Sean
- My mom and dad:
- My friend Jackie
- My friend Andy
Flavors of ice cream
These are my three favorites, in order:
- Salted Caramel
- Java Chip
- Cookies and Cream


WATCH: Netflix Release Trailer For Ian Somerhalder's New Vampire Series V Wars
by Tara WalshV Wars
Netflix have just released the first full official trailer for V Wars starring Ian Somerhalder.
The upcoming vampire series drops this December 5th and we cannot wait.
It's giving us some serious The Vampire Diaries flash backs!
The trailer sees a young boy woken up by a loud crashing noise in his home.
Presumably his sibling, appears at his bedroom door and asks, "Did you hear that too?"
They walk downstairs with a flashlight only to find a murderous creature feeding on something.
The scene skips to a clip of three men in a garage.
Their attention turns to a broadcaster on the TV reporting a series of vampire attacks in the country.
We're then shown a clip of Ian Somerhalder's character Dr. Luther Swann emerging from his car.
The authorities ask the doctor for help, "We need you doctor. All the victims have been missing a lot of blood."
Ian's character addresses an audience, "This is modified, a virus causing DNA transformations."
Swann soon discovers that his best friend Michael has been turned into one of these murderous predators.
He promises Michael, "Together we will find a cure for this."
However, the authorities warn him to stay away, "The man you knew is gone."
We're later shown a clip of Michael addressing the country in a live broadcast.
He speaks, "My people and I are not terrorists. And have as much right to live as anyone else."
"Horrible as it will be, this war is also necessary. Blood nation will prevail."
Watch the full trailer below:
V Wars is out on December 5th.


Privacy Policy
|
Your privacy is important to us. To better protect your privacy we provide this notice explaining our online information practices and the choices you can make about the way your information is collected and used. To make this notice easy to find, we make it available on our homepage and at every point where personally identifiable information may be requested.
We do not collect any customer information. Please see our payment processor's Privacy Policy concerning collected information. |


SFTPGo Integration
SFTPGo is an sftp server that exposes APIs and a web interface for administration tasks. We’ve chosen to integrate NCA with SFTPGo in order to simplify the process of creating titles for a publisher that’s uploading newspaper PDFs.
If you choose not to use this integration, publisher uploads will have to be managed entirely by you (as was the case prior to this integration), and NCA will not track SFTP data (which is a change from NCA 3.x and prior).
Opt out
To disable SFTPGo integration, assign “-” to the SFTPGO_API_URL
setting:
SFTPGO_API_URL="-"
This ensures that NCA will not try to connect to a nonexistent server.
SFTPGo Setup
If you do opt to use SFTPGo, you’ll need to use the SFTPGo documentation to set it up however it makes sense for your system. Once that’s done, you have to then make NCA aware of it.
Our configuration files can be found in the NCA project’s root under the
sftpgo
directory. It’s obviously somewhat specific to our bare-metal RHEL
system, but they should help get you up and running.
We use nginx to proxy the SFTPGo web interface. This isn’t necessary – SFTPGo can be exposed directly. We prefer the granular control nginx gives us (e.g., being able to lock down certain paths by IP).
For the sftp daemon itself, we just expose that directly.
Install nginx, configure it (again, see our configuration if necessary), and then install SFTPGo as a service. See the “Running SFTPGo as a service” page in the official SFTPGo documentation.
SFTPGo configuration: unless you’re a masochist, don’t try to adapt the huge
sftpgo.json
file to your needs only to wonder “what did we change again?” the
next time SFTPGo is updated. Use an environment file (/etc/sftpgo.env
) and
set only those configuration options you need to change. On Linux, SFTPGo’s
systemd unit file automatically loads those environment variables on startup.
Make sure you understand how the environment overrides work (see “Environment
variables” on the “Configuring SFTPGo” page) if you need to add your own
settings.
Don’t try to skimp on the proxy settings. If you are using nginx and you don’t
use all four proxy settings we put in our sftpgo.env
file, you’ll drown
in weird form token errors when you try to log in.
If you’re using docker, an admin user (login: admin
, password: password
) is
created for you automatically, but is extremely insecure: you must change the
default admin user’s password at a minimum, or better yet use a docker override
to set up an admin that has a unique name and a good password.
If you aren’t using docker, you will need an admin user. The first time you
connect to the SFTPGo web UI, you will be required to create an admin account,
though you can also use the create_default_admin
SFTPGo setting to
automatically create one when sftpgo first runs. See the “Configuration file”
section of the SFTPGo configuration documentation for details.
NCA Setup
Open up your settings file and jump to the SFTPGo section. If you’re upgrading from an older version of NCA, you will have to copy this section from the example settings file into your production settings.
You’ll need to tell NCA how to connect to SFTPGo: set the API URL and choose a default quota for new users.
The API endpoint is simply the SFTPGo host combined with the path /api/v2
.
For our docker setup, the internal service is http://sftpgo:8080
, so our API
configuration looks like this:
SFTPGO_API_URL="http://sftpgo:8080/api/v2"
The default quota is five gigabytes, but you can adjust this as needed. You will likely want something, however: this ensures one publisher can’t blast hundreds of gigs (or even terabytes) of data, taking your server down and preventing all other publishers from uploading anything.
SFTPGo API Key
NCA connects to SFTPGo via an API key for a user with admin privileges. If you
are using Docker with defaults for development, this API key is created and
assigned in your NCA settings
file automatically. For any non-docker use,
one will have to use the Bash scripts in the sftpgo/
directory. You will need
to provide the environment variable SETTINGS_PATH
with a value corresponding
to the path to your NCA settings
file to these Bash scripts.
SETTINGS_PATH=/path/to/settings sftpgo/get_admin_api_key.sh
is the only script
that must be run. It will prompt for admin user credentials, use them to
request an API key for that user, store the key in the NCA settings
file
automatically, and then call the accompanying script test_api_key.sh
to test
that API key.
Normally you only run get_admin_api_key.sh
once, but if you need to reacquire
a key, you must reset your settings
file (set
SFTPGO_ADMIN_API_KEY=!sftpgo_admin_api_key!
) and then re-run this script.
Note that you can instead run get_admin_api_key.sh
with the --force
flag to
overwrite an existing key in your settings
file. This should rarely be
necessary in a production environment, but can be useful on a development or
staging system where the stack may be destroyed and rebuilt regularly.
Other accompanying scripts are provided to list all API keys and delete an API key.
Usage
Once SFTPGo is integrated, any titles created in NCA will be sent to SFTPGo. If you had been doing sftp the traditional way (local accounts using ssh with the login shell disabled), you will find that a big advantage to SFTPGo is that it doesn’t need a local system administrator to manage users, quotas, etc. Provisioning accounts will be automated from NCA, and management can be done using the SFTPGo web API or the REST endpoints.
Bulk loading
If you were already managing SFTP uploads and you don’t want to redo all that
work, NCA can help! On startup, NCA will scan the titles
database table.
Any title that (a) is not SFTPGo-connected, and (b) has values for both the
sftp_user
and sftp_pass
fields will get sent to SFTPGo in the background.
These SFTP accounts will get the default quota applied, which can then be
edited on an individual basis from NCA.
Note: for security reasons, titles' passwords will be removed upon successful integration with SFTPGo. (Storing plaintext passwords was supposed to stop happening a long time ago)
Advanced users can even populate the NCA titles
table manually in order
to bulk-load SFTP users which weren’t being managed by NCA.


angular.injector
ng
Creates an injector function that can be used for retrieving services as well as for dependency injection (see dependency injection).
angular.injector(modules);
| Param | Type | Details |
|---|---|---|
| modules | Array.<string|Function> | A list of module functions or their aliases. See
|
| function() | Injector function. See |
Typical usage
// create an injector var $injector = angular.injector(['ng']); // use the injector to kick off your application // use the type inference to auto inject arguments, or use implicit injection $injector.invoke(function($rootScope, $compile, $document){ $compile($document)($rootScope); $rootScope.$digest(); });
Sometimes you want to get access to the injector of a currently running Angular app
from outside Angular. Perhaps, you want to inject and compile some markup after the
application has been bootstrapped. You can do this using extra injector()
added
to JQuery/jqLite elements. See angular.element
.
This is fairly rare but could be the case if a third party library is injecting the markup.
In the following example a new block of HTML containing a ng-controller
directive is added to the end of the document body by JQuery. We then compile and link
it into the current AngularJS scope.
var $div = $('
{{content.label}}
'); $(document.body).append($div); angular.element(document).injector().invoke(function($compile) { var scope = angular.element($div).scope(); $compile($div)(scope); });


bloq.press is built upon a HTML5 browser based Ethereum wallet that can connect to any network and process any ERC20 tokens and (or) ERC721 assets
import and interact with any smart contract on any network - read public view functions for free or pay to use publicly available write functionality
the dynamic content found throught the various example implementations of bloq.press is powered by an exteniable system of upgradabable smart contracts
bloq.press provides a censorship resistant environment, where all dynamic data is stored within a distributed network - where websites become optional
bloq.press provides an inescapable tamper proof audit trail of every action undertaken by every user of the system that can be independently verified
users are authenticated with internet enabled devices that do not store or transmit usernames, passwords or private keys anywhere at anytime


Two generic class names exist for wrapping content.
wrap
Add a class name of wrap
to create a fixed width element with a width of 940px centered on the page.
fluid-wrap
Add a class name of fluid-wrap
to create a fluid width element with a maximum width of 940px centered on the page.
This is the 940px fixed width grid as seen on www.guardian.co.uk. It is made up of 12 60 pixel wide columns with 20 pixel gutters, and can be split into any configuration, as demonstrated below.
This is created by the use of two class values, row
and col-[n]
. Here's the code that implements the final two rows of the above layouts.

8

4

6

6

The fluid grid is implemented in percentages so that the widths of the columns scale along with the width of the users browser. Combined with media queries and flexible width images this can be used to implement a responsive design, which assumes less about your users browsing environment.
This is created by the use of two class values, fluid-row
and col-[n]
. Here's the code that implements the final two rows of the above layouts.

8

4

6

6


WINSLOW BOY, THE (director: David Mamet; cast: Nigel Hawthorne (Arthur Winslow), Jeremy Northam (Sir Robert Morton), Rebecca Pidgeon (Catherine Winslow), Gemma Jones (Grace Winslow), Guy Edwards (Ronnie Winslow), Sarah Flind (Violet), Matthew Pidgeon (Dickie Winslow), Aden Gillett (John Watherstone), 1999)
This is a story about personal freedom, government intransigence, political bureaucracy, and justice. It is adapted from Terence Rattigan's 1946 play about such a case of family loyalty in 1910 England. It is distinguished by Mamet's sharp dialogue and a cast that is just outstanding. The Edwardian-aged story is chocked full of sensibility and rife with a tautness to it that keeps you fully tuned into its dramatics.The real trial of the 13-year-old English naval student expelled from the Osborne Naval Academy because he stole a five-shilling postal order was a big deal in the London headlines at that time. It was called the trial of the century in England, with the public taking sides with the wrongly accused youngster.
The film version of that event takes liberties with the real story. It begins in 1912, on a rainy London day, in the immaculate sitting room in the capacious early-century house of the Winslow's. We are introduced to the family patriarch, Arthur Winslow (Nigel Hawthorne), his dignified wife Grace (Gemma), the unsuccessful brother Dickie (Matthew Pidgeon), the liberated, cigarette smoking, suffragette Catherine Winslow (Rebecca Pidgeon) and her army officer fiancé John Watherstone (Aden Gillett). Catherine soon discovers her 14-year-old brother, Ronnie (Guy Edwards) standing in the garden, soaken wet and frightened. He shows her the letter of his expulsion from the school, begging her not to tell his banker father, who so much wanted him to attend that prestigious school. But when the father finds out about his dismissal, he asks only one thing of his son: Tell me the truth, Did you do it? When he professes his innocence the entire family backs him, and they decide to take this seemingly trivial matter to court and to parliament. This will prove to be a great burden on the father economically and physically, it will also strain the relationship of Catherine and John, Dickie will have to leave college for a job at the bank, and it will cause Grace to cutback on her social obligations.
Sir Robert Morton (Jeremy Northam,), the country's top attorney, is asked by the family to defend the boy and save the Winslow's name from disgrace. He turns out to be a better and more feeling lawyer than what Catherine expected of him, which adds even more weight to the already intriguing story. He is also a great actor, able to act with a proper Edwardian sophistication as a very specially gifted and contentious lawyer. His motives for taking the case had been suspect. But when he secretly turns down a highly honored post to continue with the case, even though those in-the-know about such things, think he doesn't have much chance of winning, Catherine is convinced that she has found a new love in her life.
The Winslow Boy answers both the legal and moral questions it asks about this case. Its legal theme "Let justice be done" really equates in this particular case to doing the right thing legally, which is acquitting the youngster. So as Arthur states, "Let right be done." While on the moral question, the hurt father, whose pride had been injured, pursues vindication even though he realizes that Ronnie is happy in his new school and what he is doing to his family almost borders on irresponsibility on his part. Yet there is such grace and forthrightness in the father's demeanor, that he stands out as a sympathetic and lovable giant of a person. Nigel Hawthorne was simply brilliant in this role, conveying an urbane wit and a strong backbone for taking on the fight for a cause he believes in with all his heart.
This is just a wonderful and an almost flawless film (the only flaw: the likable family seemed so smug with their upper-class status). David Mamet has done a masterful job in directing someone else's words to its fullest potential. On paper, the outline for this story and its denouement, do not suggest how great a work this film turned out to be. Even its old-fashioned story is more modern than it first appears to be. Don't miss this one. You might have to wait a long time before you find a film with both a family and a lawyer portrayed in such a genuine and likable mold. It was delightfully startling to watch the nuances every character performed, as they held their emotions in check by their keen intellect. Yet what came through even more than their perseverance, was that underneath, in their bellies, there were all sorts of emotions taking place that we could see overtly in their character. We could feel it in the sexual tension between Catherine and Sir Robert, in the father's unspoken love for his family, and in the mother's quiet humanity.
REVIEWED ON 6/22/99 GRADE: A
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
© 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


|
flat
1
A 2D game engine based on SDL2.0
|
#include <EntityContainer.h>
Static Public Attributes | |
| static const int | DEFAULT_LAYER = -1 |
Holds every Entity in the game. Entities registered into the EntityContainer will automatically have their update functions called and have collisionhandling performed on them if they are collidable. Registered Entity objects will be gracefully deleted when the EntityContainer is destroyed when the GameEngine exits. If you unregister an Entity you will have to dispose of it yourself in the game code.
Definition at line 38 of file EntityContainer.h.
|
inlineexplicit |
Definition at line 75 of file EntityContainer.h.
| flat2d::EntityContainer::~EntityContainer | ( | ) |
Definition at line 18 of file EntityContainer.cpp.
| void flat2d::EntityContainer::addLayer | ( | unsigned int | layer | ) |
Add a layer into the EntityContainer. Objects can then be registered to this layer. The order of the layers affects the render order of their objects. Making things render in front of or behind other objects. Layers are identified by integers. Adding the same integer multiple times has no effect.
| layer | An integer acting as an identifier for the layer |
Definition at line 24 of file EntityContainer.cpp.
| Entity * flat2d::EntityContainer::checkAllCollidableObjects | ( | EntityProcessor | func | ) | const |
Check all collidables with the provided EntityProcessor. This will return the first occurence where the EntityProcessor returns true.
| func | The EntityProcessor the processor to use |
Definition at line 493 of file EntityContainer.cpp.
| Entity * flat2d::EntityContainer::checkAllObjects | ( | EntityProcessor | func | ) | const |
Check all Entyties with the provided EntityProcessor. This will return the first occurence where the EntityProcessor returns true.
| func | The EntityProcessor the processor to use |
Definition at line 482 of file EntityContainer.cpp.
| Entity * flat2d::EntityContainer::checkCollidablesFor | ( | const Entity * | source, |
| EntityProcessor | func | ||
| ) |
Check all collidables within the same SpatialPartition as the provided Entity This will return the first occurence where the EntityProcessor returns true.
| source | The Entity* to operate from |
| func | The EntityProcessor the processor to use |
Definition at line 505 of file EntityContainer.cpp.
| size_t flat2d::EntityContainer::getCollidablesCount | ( | ) | const |
Get the number of Collidable Entity objects registerd to the EntityContainer
Definition at line 379 of file EntityContainer.cpp.
| std::vector< int > flat2d::EntityContainer::getLayerKeys | ( | ) | const |
Get the registered layers keys.
Definition at line 35 of file EntityContainer.cpp.
| size_t flat2d::EntityContainer::getObjectCount | ( | ) | const |
Get the total amount of objects held by the EntityContainer
Definition at line 363 of file EntityContainer.cpp.
| size_t flat2d::EntityContainer::getObjectCountFor | ( | Layer | layer | ) |
Get the amount of Entity objects registered to a certain layer
| layer | the Layer you want to get count from |
Definition at line 369 of file EntityContainer.cpp.
| size_t flat2d::EntityContainer::getSpatialPartitionCount | ( | ) | const |
Get the number of SpatialPartitions created
Definition at line 410 of file EntityContainer.cpp.
| void flat2d::EntityContainer::handleObjects | ( | const SDL_Event & | event, |
| const GameData * | gameData | ||
| ) |
Check for input events and notify all registered Entity objects. This is called by the GameEngine and should probably not be used by game code.
Definition at line 282 of file EntityContainer.cpp.
| void flat2d::EntityContainer::initiateEntities | ( | const GameData * | gameData | ) |
Initiate recently added entities before continuing with main game loop. This is called from the engine and should be left untouched in game code
| gameData | The GameData pointer |
Definition at line 269 of file EntityContainer.cpp.
| void flat2d::EntityContainer::iterateAllMovingObjects | ( | EntityIter | func | ) | const |
Iterate all moving Entities in the engine and call the provided callback for each Entity.
| func | The EntityIter callback func to use |
Definition at line 416 of file EntityContainer.cpp.
| void flat2d::EntityContainer::iterateCollidablesFor | ( | const Entity * | source, |
| EntityIter | func | ||
| ) |
Iterate all Entities that share a spatial partition with the provided Entity. Trigger callback for each occurence. This is used by the CollisionDetector and should be avoided in game code.
| source | The Entity to operate on |
| func | The EntityIter callback func to use |
Definition at line 426 of file EntityContainer.cpp.
| void flat2d::EntityContainer::iterateCollidablesIn | ( | Layer | layer, |
| EntityIter | func | ||
| ) |
Iterate all collidables in the engine and call the provided callback for each Entity. This is used by the CollisionDetector and should probably be avoided in game code.
| layer | The layer to iterate |
| func | The EntityIter callback func to use |
Definition at line 524 of file EntityContainer.cpp.
| void flat2d::EntityContainer::moveObjects | ( | const GameData * | data | ) |
Call the move related callbacks on all Entity objects. This is called by the GameEngine and should probably not be used by game code.
Definition at line 317 of file EntityContainer.cpp.
| void flat2d::EntityContainer::registerObject | ( | Entity * | object, |
| Layer | layer = DEFAULT_LAYER |
||
| ) |
Register an Entity to the EntityContainer. If you don't provide a layer the DEFAULT_LAYER will be used. The DEFAULT_LAYER is rendered before all other layers.
| object | The Entity* to register |
| layer | An optional layer to register the Entity to |
Definition at line 45 of file EntityContainer.cpp.
| void flat2d::EntityContainer::removeRenderArea | ( | const std::string & | key | ) |
Remove a rendering area from the EntityContainer
| key | The key identifier for the area to remove |
| void flat2d::EntityContainer::renderObjects | ( | const GameData * | data | ) | const |
Call the render related callbacks on all Entity objects. This is called by the GameEngine and should probably not be used by game code.
Definition at line 298 of file EntityContainer.cpp.
| void flat2d::EntityContainer::repopulateCollidables | ( | ) |
Recheck all registered Entity objects and see if any have become collidable after they were registered.
Definition at line 70 of file EntityContainer.cpp.
| void flat2d::EntityContainer::setSpatialPartitionDimension | ( | unsigned int | i | ) |
Set the dimension for spatial partitions. To optimize performance the EntityContainer organizes all collidable Entity objects into spatial partitions in the game space. This defaults to 100px and can be changed using this method.
| i | The spatial partition dimension to use. |
Definition at line 194 of file EntityContainer.cpp.
| void flat2d::EntityContainer::unregisterAllObjects | ( | ) |
Empty the EntityContainer
Definition at line 232 of file EntityContainer.cpp.
| void flat2d::EntityContainer::unregisterAllObjectsFor | ( | Layer | layer | ) |
Remove all Entity objects registered to a provided layer.
| layer | the Layer you want to clear. |
Definition at line 246 of file EntityContainer.cpp.
| void flat2d::EntityContainer::unregisterObject | ( | Entity * | entity | ) |
Unregister an entity from the EntityContainer
| entity | the Entity* you want to remove |
Definition at line 200 of file EntityContainer.cpp.
|
static |
Definition at line 73 of file EntityContainer.h.


Removes the currently deployed Siddhi Application with the name specified. Path param of **appName** determines name of the Siddhi application.
DELETE http://localhost:9090/siddhi-apps/TestSiddhiApp1
HTTP/1.1 200 OK
curl -k -X DELETE http://localhost:9090/siddhi-apps/TestSiddhiApp1
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
appName required |
The name of the Siddhi Application. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
The Siddhi Application is successfully deleted. |
|
400 |
The Siddhi Application name provided is invalid. |
ApiResponseMessageWithCode |
404 |
The Siddhi Application is not found. |
ApiResponseMessageWithCode |
500 |
An unexpected error occured. |
ApiResponseMessageWithCode |
Retrieves the Siddhi Application with the specified name.
GET http://localhost:9090/siddhi-apps/TestSiddhiApp1
HTTP/1.1 200 OK {"content":"
@App:name('TestSiddhiApp1')
define stream FooStream (symbol string, price float, volume long);
@source(type='inMemory', topic='symbol', @map(type='passThrough'))
Define stream BarStream (symbol string, price float, volume long);
from FooStream
select symbol, price, volume
insert into BarStream;"}
curl -k -X GET http://localhost:9090/siddhi-apps/TestSiddhiApp1
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
appName required |
The name of the Siddhi Application. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
The Siddhi Application is successfully retrieved. |
SiddhiAppContent |
404 |
The Siddhi Application specified is not found. |
ApiResponseMessageWithCode |
Fetches the status of the Siddhi Application.
GET http://localhost:9090/siddhi-apps/TestSiddhiApp1/status
HTTP/1.1 200 OK Content-Type: application/json {"status":"active"}
curl -k -X GET http://localhost:9090/siddhi-apps/TestSiddhiApp1/status
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Path |
appName required |
The name of the Siddhi Application. |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
The state of the Siddhi Application is successfully retrieved. |
SiddhiAppStatus |
404 |
The Siddhi Application specified is not found. |
ApiResponseMessageWithCode |
Provides the name list of Siddhi Applications that exist.
GET http://localhost:9090/siddhi-apps
HTTP/1.1 200 OK Content-Type: application/json ["TestSiddhiApp1","TestExecutionPlan6","TestSiddhiApp"]
curl -k -X GET http://localhost:9090/siddhi-apps
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Query |
isActive optional |
Retrieves only active/inactive Siddhi Applications as specified. |
Boolean |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
The Siddhi Applications are successfully retrieved. |
Saves the Siddhi Application. Request "**siddhiApp** explains the Siddhi Query.
POST http://localhost:9090/siddhi-apps
@App:name('TestSiddhiApp1')
define stream FooStream (symbol string, price float, volume long);
@source(type='inMemory', topic='symbol', @map(type='passThrough'))
Define stream BarStream (symbol string, price float, volume long);
from FooStream
select symbol, price, volume
insert into BarStream;
HTTP/1.1 201 Created Location: http://localhost:9090/siddhi-apps/TestSiddhiApp1 Content-Type: application/json {"type":"success","message":"Siddhi App saved succesfully and will be deployed in next deployment cycle"}
curl -k -H "Content-Type: text/plain" -X POST -d @data.json http://localhost:9090/siddhi-apps
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Body |
body required |
Siddhi Application |
String (string) |
| HTTP Code | Description | Schema |
|---|---|---|
201 |
The Siddhi Application is successfully validated and saved. |
|
400 |
A validation error occured. |
|
409 |
A Siddhi Application with the given name already exists. |
|
500 |
An unexpected error occured. |
Updates the Siddhi Application. Request "**siddhiApp** explains the Siddhi Query.
PUT http://localhost:9090/siddhi-apps
@App:name('TestSiddhiApp1')
define stream FooStream (symbol string, price float, volume long);
@source(type='inMemory', topic='symbol', @map(type='passThrough'))
Define stream BarStream (symbol string, price float, volume long);
from FooStream
select symbol, price, volume
insert into BarStream;
HTTP/1.1 200 OK Content-Type: application/json {"type":"success","message":"Siddhi App updated succesfully and will be deployed in next deployment cycle"}
curl -k -H "Content-Type: text/plain" -X PUT -d @data.json http://localhost:9090/siddhi-apps
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Body |
body required |
Siddhi Application |
String (string) |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
The Siddhi Application is successfully validated and updated. |
|
201 |
The Siddhi Application is successfully validated and saved. |
|
400 |
A validation error occured. |
ApiResponseMessageWithCode |
500 |
An unexpected error occured. |
ApiResponseMessageWithCode |


DataGrip Plugin Development
Introduction
DataGrip is an IntelliJ Platform-based product.
Plugin projects targeting DataGrip can be developed using IntelliJ IDEA with the gradle-intellij-plugin
.
Configuring Plugin Projects Targeting DataGrip
The configuration of DataGrip plugin projects follows the methods described in Configuring Plugin Projects using the IntelliJ IDEA Product Attribute, and Configuring the plugin.xml File.
The table below summarizes the gradle-intellij-plugin
attributes to set in the build.gradle
file:
gradle-intellij-plugin Attribute |
Attribute Value |
|---|---|
intellij.type |
IU for IntelliJ IDEA Ultimate.( IC is incompatible with the required DatabaseTools plugin.) |
intellij.version |
2019.3 Set to the same version as the DataGrip target version, as set by runIde.ideDirectory |
intellij.plugins |
plugins 'DatabaseTools' Dependency on the bundled DatabaseTools plugin. |
runIde.ideDirectory |
Path to locally installed target version of DataGrip. For example, for macOS:/Users/<user name>/Library/Application Support/JetBrains/Toolbox/apps/datagrip/ch-0/193.5233.139/DataGrip.app/Contents |
runIde.jvmArgs |
jvmArgs '-Didea.platform.prefix=DataGrip' Only required for gradle-intellij-plugin 0.4.16 or earlier. |
The additional attribute runIde.jvmArgs
is required for versions of the gradle-intellij-plugin
0.4.16 and earlier.
This attribute declares that Gradle should use the DataGrip platform to run/debug plugins in a development instance.
It is not required for building plugins and manually installing them in DataGrip.
Benign, but redundant attribute if used for later versions of the gradle-intellj-plugin
.
The dependency on the DataGrip APIs must be declared in the plugin.xml
file.
As described in Modules Specific to Functionality table, the <depends>
tags must declare com.intellij.database
.
Note that DataGrip plugins must also declare a dependency on com.intellij.modules.platform
because com.intellij.database
is not recognized as a module.
Consequently, without the com.intellij.modules.platform
declaration the plugin is assumed to be a legacy plugin and will not load in DataGrip.
Available DataGrip APIs
Use the Exploring APIs as a Consumer process to identify the libraries in DatabaseTools
.
Test your plugin with any version of DataGrip you wish to support.


If you choose to type your report, you should use a serif font of at least 12 point size. In addition to the Times New Roman fonrt that is the default font in Microsoft Word, other serif fonts include Garamond, Bookman Old Style and Century School book. The text should be double spaced and printed on only one side of the paper.
Although you may prepare tables using a computer, graphs should be drawn by hand. Most of the applications for preparing graphs that come with computers are not suitable for preparing graphs for scientific purposes. The ones that can be used require skills that take a long time to acquire. You are expected to write up your reports following the conventional format that is outlined below.
All scientific reports are organised into a sequence of non-overlapping sections, each with its own heading. The format , with minor variations, is the one used by most scientific journals and you will need to become familiar with the styled and somewhat artificial method of writing. Typically a publication in a journal would include an abstract just before the introduction but you will not be writing abstracts for your reports and any acknowledgements will be optional.Abstract* Introduction Materials and methods Acknowledgements*


GREETINGS WARHAMMER FANS, WELCOME TO MY WARHAMMER-ASSISTANT.
THIS TOOL IS DESIGNED TO ASSIST IN THE CREATION OF WARHAMMER ARMIES AND COLOUR SCHEMES
AFTER CREATING YOUR ARMY AND ORGANISING PAINT SETS, WHY NOT HEAD TO THE SHOPPING LIST PAGE? PRESENTED IN A SIMPLE MANNER, YOU WILL BE ABLE TO TAKE A LIST INTO YOUR LOCAL STORE
This tool was created as a hobby project according to criteria set by the company.


I have a simple question.
Is it possible to see wich plugins a server has installed?
If so could it also be possible to make with that info a plugin for the filter in Battlelog?
ORFK
Global Moderator
i dont know about this possibility.
but i think it could work if you filter out the server ip OR server-ID (that you can, i know) and check it back on these different plugin/script websites (that will be the different part)
Topicstarter
ObeyThePeanut
So this would probably take an age to load if it is possible I'm guessing.
GameFreakBoy
I don't know about the rest of in that list, but you can see if it has Punkbuster by looking between its ranked and preset status. If the "PB" is light colored than it has it enabled. By going to the top of the list you can click the PB icon and it will sort the server based on Punkbuster.
ORFK
Global Moderator
ObeyThePeanut wrote:
So this would probably take an age to load if it is possible I'm guessing.
well if you want to check ALL servers in the server list at the same time than yes.
but if you build a feature which will show these informations in the sidebar by detailed server information and/or on the server page than it would be a simple request which shoulnd take too much time.
Causality85
This would be really great...! ;)
By side, it would be great to see other Stream-Hosters, like PBScreens, and other big streamers, that approve a more fair gameplay!
Also it would be nice, to know which Servers are hosted by Procon-Layers or Rcon-Webtools... especially Rcon-Webadmins have a big problem with cheaters, because the PlugIns for Procon are fresher and especially the PB-Hack-Logger and the CheatDetector-Plugin for Procon really keep the Cheaters better out, than the RCon tools, i've seen so far (I tried some and my server is cleaner since full ProCon-Hosting).
Maybe the Web-Admin-based have server list with the IP-Adress and Name of the servers; in that case it should be easy to implement some features marking RCon-hosted servers!
But especially the big Anti-Cheat-streamers (GGC,...) and "sub-streamers"(???) (PBScreens) are very important!
It also helps Server Admins, that try really hard, to make a server as "clean" (in the way of clean of cheaters) as possible to fill the servers... and I really hope, that everyone, who is signing in into BBlog-Community, would prefer well secured servers ;)
Post edited 1 x times, last by
GameFreakBoy
GameFreakBoy
Do you know of any procon enabled servers that don't have procon in their server name but still runs procon, and a server that doesn't run procon?
Post edited 2 x times, last by
ObeyThePeanut
Topicstarter
ObeyThePeanut
I found this, but it's for greasemonkey in firefox:
function stupidDateFormat(){
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();
function iJackedThisPostFunct (postvars) {
var myForm = document.createElement("form");
myForm.method = "post";
myForm.action = "http://www.ggc-stream.com/search/server/wwo#B";
for (var k in postvars) {
var myInput = document.createElement("input");
myInput.setAttribute("name", k);
myInput.setAttribute("value", postvars[k]);
myForm.appendChild(myInput);
}
var myInput = document.createElement("submit");
myInput.setAttribute("name", "submit");
myInput.setAttribute("value", "Send");
myForm.appendChild(myInput);
function stupidDateFormat(){
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();


class: center, middle ### W4995 Applied Machine Learning # Support Vector Machines 02/14/18 Andreas C. Müller ??? Today we're going to talk about support vector machines, both linear support vector machines, and kernel support vector machines. FIXME: more stuff on margin, normal vectors etc less bullet points revisit linear svc in more detail? explain approximation better? too much back and forth? on rbf heatmap: show overfitting more clearly! --- class: spacious # Motivation - Go from linear models to more powerful nonlinear ones. - Keep convexity (ease of optimization). - Generalize the concept of feature engineering. ??? The main motivation for kernel support vector machines is that we want to go from linear models to nonlinear models but we also want to have the same simple kernel optimization to solve. So basically, the optimization problem we have to solve from a kernel SVM is about as hard as a linear SVM. So it's sort of very simple problem to solve. It’s much easier than learning in neural networks for example. But we get nonlinear decision boundaries. The idea behind this is to generalize the concept of feature engineering. We'll see in a little bit how, for example, kernels SVM with polynomial kernels relate to using polynomials explicitly in your feature engineering. Before we talk about kernels, I want to talk a little bit more about linear support vector machines, which we already discussed last week. --- class: spacious # Reminder on Linear SVM `$$ \min_{w \in \mathbb{R}^p} C \sum_{i=1}^n \max(0, 1 - y_i w^T\mathbf{x}) + ||w||^2_2 $$` $$ \hat{y} = \text{sign}(w^T \mathbf{x}) $$ ??? The idea behind the linear support vector machine is it's a linear classifier, the minimization problem is up a hinge loss, which is basically linear in the decision function w^x. Basically, as long as you have a distance on the right side of the hyper plane, that’s bigger than one, your data point does not contribute to the loss. So you want all of the points outside of this margin of one around the separating hyper plane. --- #Max-Margin and Support Vectors .center[ ![:scale 75%](images/max_margin.png) ] ??? A point is within the margin if 〖y_i w〗^T x is smaller than one. That means if you have a smaller w, you basically have a smaller margin given that you're on the correct side. If you're on the wrong side, you'll have always have a loss. If you're in the correct side, if you're w^x is small, then you also have a loss. --- class: center #Max-Margin and Support Vectors `$$ \min_{w \in \mathbb{R}^p} C \sum_{i=1}^n \max(0, 1 - y_i w^T\mathbf{x}) + ||w||^2_2 $$` $$\text{Within margin} \Leftrightarrow y_iw^T x < 1$$ Smaller $w \Rightarrow$ larger margin --- class: center #Max-Margin and Support Vectors .left-column[ ![:scale 80%](images/max_margin_C_0.1.png) ] .right-column[ ![:scale 80%](images/max_margin_C_1.png) ] ??? Here are two examples on the same dataset. Where I learned linear support vector machine with c-0.1, and c=1. With c=0.1, you have a wider margin. There are points inside the margin and all the points inside the margin are support vectors which contribute to the solution. Points that are outside of the margin and on the correct side doesn't contribute to the solution. These points are sort of classified correctly, not when they’re ignored. The normal vector is w and basically, the size of the margin is the inverse of the length of w. C=0.1 means I have less emphasis on the data fitting and more emphasis on the shrinking w. This will lead to a smaller w. If I have larger C that means less regularization, which will lead to a larger W, larger W means a smaller margin. So there are fewer points here, they are inside the margin and therefore, fewer support vectors. More regularization usually means a larger margin but more points inside the margin. Also, more support vectors mean there are more data points that actually influence the solution. --- # Reformulate Linear Models .smaller[ - Optimization Theory $$ w = \sum_{i=1}^n \alpha_i \mathbf{x}_i $$ (alpha are dual coefficients. Non-zero for support vectors only) $$ \hat{y} = \text{sign}(w^T \mathbf{x}) \Longrightarrow \hat{y} = \text{sign}\left(\sum_i^{n}\alpha_i (\mathbf{x}_i^T \mathbf{x})\right) $$ $$ \alpha_i <= C$$ ] ??? Now I want to go from this linear model and extended to a nonlinear model. The idea here is that with some improvisation theory, you can find out that the W at the optimum can be expressed as a linear combination of the data points which is relatively straightforward to C. Expressing W as a linear combination, these alphas are called dual coefficients. Basically, you’re expressing the linear weights as a linear combination of the data points with this two coefficients alpha and you can show that these alpha are only non-zero for the points that contribute to this solution. So you can always write W as a linear combination of the support vectors with some alphas. If you want you can do this optimization problem either in trying to find W or you can rewrite the optimization problem and you can try to find these alphas. If you do this in terms of alphas, the decision function can be rewritten like this. Instead of looking at you w^T x, we just replace W transposed by the sum over all the training data points x_i and then basically we move the sum out of the inner products and we can see that it's the sum over all the alpha i in the inner product of the training data points x_i was a test data point x. Optimization theory also tells us that if I find the alpha w to minimize this problem, then all the alpha i (s) will be smaller than c. This is another way to say what I said last time that basically c limits the influence of each data point. So, if you have a smaller c the alpha i belong to each training data point can only be as big as this c, and so each of the data points has only limited influence. --- class: spacious # Introducing Kernels $$\hat{y} = \text{sign}\left(\sum_i^{n}\alpha_i (\mathbf{x}_i^T \mathbf{x})\right) \longrightarrow \hat{y} = \text{sign}\left(\sum_i^{n}\alpha_i (\phi(\mathbf{x}_i)^T \phi(\mathbf{x}))\right) $$ $$ \phi(\mathbf{x}_i)^T \phi( \mathbf{x}_j) \longrightarrow k(\mathbf{x}_i, \mathbf{x}_j) $$ k positive definite, symmetric $\Rightarrow$ there exists a $\phi$! (possilby $\infty$-dim) ??? The idea of this rewrite is that now I observed that the optimization problem and the prediction problem can be written only in terms of these inner products. Let's say I want to use the feature function ∅, like doing a polynomial expansion with the polynomial feature transformation and while if I use ∅x_i as these inputs then they just replace the x and then I just need the inner products between these feature vectors, but the only thing I really ever need is these inner products. Instead of trying to come up with some feature functions that are good to separate the data points, I can try it to come up with inner products. I can try to engineer this thing here instead of trying to engineer the features. If you write down any positive definite quadratic form that is symmetric, there's always a ∅. So whenever I write down any function that is positive definite and symmetric into vectors, there's always a feature function ∅ so that this is the inner product in this feature space, which is kind of interesting. The feature space might be infinite dimensional though. So the idea that it might be much easier to come up with these kinds of inner products than trying to find ∅. So we're now trying to design the k, which makes this whole thing a good nonlinear classifier. So in this case, obviously, the kernel. --- # Examples of Kernels $$k_\text{linear}(\mathbf{x}, \mathbf{x}') = \mathbf{x}^T\mathbf{x}'$$ $$k_\text{poly}(\mathbf{x}, \mathbf{x}') = (\mathbf{x}^T\mathbf{x}' + c) ^ d$$ $$k_\text{rbf}(\mathbf{x}, \mathbf{x}') = \exp(\gamma||\mathbf{x} -\mathbf{x}'||^2)$$ $$k_\text{sigmoid}(\mathbf{x}, \mathbf{x}') = \tanh\left(\gamma \mathbf{x}^T\mathbf{x}' + r\right)$$ `$$k_\cap(\mathbf{x}, \mathbf{x}')= \sum_{i=1}^p \min(x_i, x'_i)$$` - If $k$ and $k'$ are kernels, so are `$k + k', kk', ck', ...$` ??? There's a couple of kernels that are commonly used. So the linear kernel just means I just use the inner product in the original space. That is just the original linear SVM. Other kernels that are commonly used are like the polynomial kernel, in which I take the inner products, I add some constant c and I raise it to power d. There's the RVF kernel, which is probably the most commonly used kernel, which is just a Gaussian function above the curve around the distance of the two data points. There's a sigmoid kernel. There's the intersection kernel, which computes the minimum. And if you have any kernel, you can create a new kernel by adding two kernels together or multiplying them or multiplying them by constant. The only requirement we have is that they're positive, indefinite and symmetric. What does this look like in practice? So, for example, let's look at this polynomial kernel. It's not very commonly used, but I think it's one of the ones that are relatively easy to understand. So the idea of the polynomial kernel is it does the same thing as computing polynomials. But if you compute polynomials of a very high degree, your feature vector becomes very long. Whereas here, I always just need to compute this inner product and raise them to this power. --- # Polynomial Kernel vs Features $$ k_\text{poly}(\mathbf{x}, \mathbf{x}') = (\mathbf{x}^T\mathbf{x}' + c) ^ d $$ Primal vs Dual Optimization
Explicit polynomials $\rightarrow$ compute on `n_samples * n_features ** d` Kernel trick $\rightarrow$ compute on kernel matrix of shape `n_samples * n_samples`
For a single feature: $$ (x^2, \sqrt{2}x, 1)^T (x'^2, \sqrt{2}x', 1) = x^2x'^2 + 2xx' + 1 = (xx' + 1)^2 $$ ??? So if I compute explicit polynomials, if I end features and then I do all the interactions, my data set becomes number of samples times number of features to the power D. So if I have 1000 features, and I take D to be 5, this will be enormous. If I'm using the kernel trick, which is replacing this inner product in the feature space by the kernel, then I only need to compute the inner product on the training data. So I only need to compute on this inner product matrix which is number of samples times number of samples. So this is much smaller if number of features to the D is smaller than number of samples then I can compute, essentially the same result on something that’s a different representation of the data. You can see that they're not entirely equivalent. So doing the polynomial expansion is not entirely equivalent to the polynomial features but it's about the same. You can see this quite easily for a single feature. If I do this for many features, adding extra features would make a very long feature vector, but the thing on the right-hand side always stays the same. --- # Poly kernels with sklearn .smaller[ ```python poly = PolynomialFeatures(include_bias=False) X_poly = poly.fit_transform(X) print(X.shape, X_poly.shape) print(poly.get_feature_names()) ``` ``` ((100, 2), (100, 5)) ['x0', 'x1', 'x0^2', 'x0 x1', 'x1^2'] ``` ] .center[ ![:scale 70%](images/poly_kernel_features.png) ] ??? You can see that they're very similar, by just applying them scikit-learn, either the Kernel SVM or the explicit polynomial features. Here I have this dataset consisting of classes orange and blue. These are not linearly separable. So if I use a linear SVM, it wouldn't work. But I can do a polynomial transformation to go from two features to five features. In here I just added degree two features. And then I can learn linear SVM on top of these expanded features space. I get a very similar result if I instead of expanding the features, I use the original dataset. But now instead of learning linear SVM, I use a SVM with the polynomial kernel of degree 2, they're not exactly the same because there was this factor of squared of two that I mentioned, but they're pretty much the same. Question is if we increase the capacity of the model and we overfit and we'll talk about this in a little bit, but so, for now, we want to increase the capacity of a model making more flexible I mean, we definitely don't want to increase it infinitely. But we really making out model more flexible. So here for the polynomial kernel, you could get the same result just by expanding. If you have a very high degree polynomial it would be a large expansion. If you use one of the other kernels, for example, the RVF kernel doing this expansion would actually be resolved in infinite dimensional vector, so you couldn't actually do this with a feature vector. Now I'm looking at this model here on the right-hand side where I'm using the polynomial features. --- class: smaller # Understanding Dual Coefficiants ```python linear_svm.coef_ #array([[0.139, 0.06, -0.201, 0.048, 0.019]]) ``` $$ y = \text{sign}(0.139 x_0 + 0.06 x_1 - 0.201 x_0^2 + 0.048 x_0 x_1 + 0.019 x_1^2) $$ ```python linear_svm.dual_coef_ #array([[-0.03, -0.003, 0.003, 0.03]]) linear_svm.support_ #array([1,26,42,62], dtype=int32) ``` `$$ y = \text{sign}(-0.03 \phi(\mathbf{x}_0)^T \phi(x) - 0.003 \phi(\mathbf{x}_{26})^T \phi(\mathbf{x}) +0.003 \phi(\mathbf{x}_{42})^T \phi(\mathbf{x}) + 0.03 \phi(\mathbf{x}_{63})^T \phi(\mathbf{x})) $$` ??? And so if I look at the linear SVM and I have five coefficients corresponding to the five features. And so if I make a prediction, its first coefficient times the first feature, second coefficient times the second feature and so on, and I look at the sine of it. This is just a linear prediction if I want to look what this looks like in terms of dual coefficients, I can look at the dual coefficients of linear SVM and the support. Out of these many data points, there's four, they were selected as support vectors by the optimization. These are the ones that have these black circles around them. And so the solution can be expressed as a linear combination of these four support vectors where the coefficients are dual coefficients. If I want to express this in terms of dual coefficients, I can say its dual coefficient -0.03 times the inner product of the first data point and my test data point in feature space. I do the same thing for the train each point 26 and 42 and 63 with their respective weights. Now I can look at how does this look like for kernel. --- # With Kernel `$$y = \text{sign}\left(\sum_i^{n}\alpha_i k(\mathbf{x}_i, \mathbf{x})\right) $$` ```python poly_svm.dual_coef_ # array([[-0.057, -0. , -0.012, 0.008, 0.062]]) poly_svm.support_ # array([1,26,41,42,62], dtype=int32) ``` `$$ y = \text{sign}(-0.057 (\mathbf{x}_1^T\mathbf{x} + 1)^2 -0.012 (\mathbf{x}_{41}^T \mathbf{x} + 1)^2 \\ +0.008 (\mathbf{x}_{42}^T \mathbf{x} + 1)^2 + 0.062 * (\mathbf{x}_{63}, \mathbf{x} + 1)^2 $$` ??? So for kernel, the prediction is this. For kernel SVM there are no coefficients in the original space, there's only dual coefficients. For each of support vectors, I compute the kernel of support vector with the test point for which I want to make a prediction. This is basically the prediction function of the kernel support vector machine. And you can see it's very similar to this only that I’ve replaced these inner products by the kernels. The original idea behind this kernel trick was to make computation faster. In some cases, it might be faster. $$ y = sign(-0.03 * np.inner(poly(X[1]), poly(x)) – 0.003 * np.inner(poly(X[26]), poly(x)) +0.003 * np.inner(poly(X[42]), poly(x)) + 0.03 * np.inner(poly(X[63]), poly(x)) $$ --- # Runtime Considerations .center[ ![:scale 85%](images/img_2.png) ] ??? So how does it look like in terms of runtime, here I have the same plot in linear space and log-log space. This is for a fixed number of features, more features make the kernel better. But if I fix the number of features, you can see which of the two is faster. Log-log space is better for this. So you can see that if I have a very small number of samples, then linear kernel and doing explicit polynomials is slower than doing the kernel because of the matrix that's number of samples times the number of samples is very small. But if I have a lot of features, then doing the explicit expansion is faster since the number of samples is large. In the case where we can do explicit feature expansion if we have a lot of samples, maybe that's faster. --- class:spacious # Kernels in Practice - Dual coefficients less interpretable - Long runtime for “large” datasets (100k samples) - Real power in infinite-dimensional spaces: rbf! - Rbf is “universal kernel” - can learn (aka overfit) anything. ??? So what does this mean for us in practice? One issue is that the dual coefficients are usually less interpretable because they give you like weightings of inner products with the training data points which is maybe less intuitive than looking at like five times x squared and if you have large data sets they can become very slow. The real power of kernels is when the feature space would actually be infinite-dimensional. The RBF kernel is called the universal kernel, which means you can learn any possible concept or you can overfit any possible concept. Same is true for like neural networks and trees and nearest neighbors, for example, they can learn anything but linear models and even polynomial models of a fixed degree cannot learn everything. --- class:spacious #Preprocessing - Kernel use inner products or distances. - StandardScaler or MinMaxScaler ftw - Gamma parameter in RBF directly relates to scaling of data – default only works with zero-mean, unit variance. ??? Nearly all of these kernels use the distance in the original space. These inner products are distances and so scaling is really important. People use a center scale or min-max scalar. For the RBF kernel or for any of the kernels really the default parameters work well for scale data. If you don't scale your data default parameters will not work at all. If you multiply that by five then the default parameters will give you terrible results. --- # Parameters for RBF Kernels - Regularization parameter C is limit on alphas (for any kernel) - Gamma is bandwidth: $k_\text{rbf}(\mathbf{x}, \mathbf{x}') = \exp(\gamma||\mathbf{x} -\mathbf{x}'||^2)$ .center[ ![:scale 85%](images/img_3.png) ] ??? Support vector machine with RBF kernel has these two parameters you need to tune. These both control complexity in some way. We already said that the C parameter limits the influence of each individual data point and the other one is to kernel bandwidth gamma. A smaller gamma means a wider kernel. So wider kernel means a simpler model because the decision boundary will be smoother. Whereas a larger gamma means a much narrower kernel and that means each data point will have much more local influence, which means it's more like the nearest neighbor algorithm and has more complexity. Usually, you should tune both of these parameters to get a good tradeoff between fitting and generalization. --- .center[ ![:scale 85%](images/img_4.png) ] ??? This plot tries to illustrate these two parameters in the RBF SVM kernel. On the vertical is C and on the horizontal is gamma and support vectors are marked with circles. So the simplest model is basically the one with the smallest gamma and smallest C. Basically, all data points are support vectors, everything gets averaged and have a very broad kernel. Now, if I increase C, I overfit the data more, each data point can have more influence. And so only the data points that are really close to the boundary have influence now. If you increase gamma, the area of influence of each data point sort of shrinks. So here from it being basically linear or having this very little curvature if you increase gamma, it gets more and more curvature. And in the end, if you make gamma very large, each data point basically has a small sort of isolated island of its class around it giving a very complicated decision boundary. So here, for example, these clearly overfit the training data and so this is probably too large gamma. There's sort of a tradeoff between the two. Usually, they're multiple combinations of C and gamma that will give you similarly good results. --- ```python from sklearn.datasets import load_digits digits = load_digits() ``` .center[ ![:scale 65%](images/img_5.png) ] ??? Looking at the digit dataset. Let's say we want to learn kernel support vector machine on this dataset. So set the two important parameters to tune is C and gamma. --- # Scaling and Default Params .smaller[ ``` gamma : float, optional (default = "auto") Kernel coefficient for 'rbf', 'poly' and 'sigmoid'. If gamma is 'auto' then 1/n_features will be used ``` ```python scaled_svc = make_pipeline(StandardScaler(), SVC()) print(np.mean(cross_val_score(SVC(), X_train, y_train, cv=10))) print(np.mean(cross_val_score(scaled_svc, X_train, y_train, cv=10))) ``` ``` 0.578 0.978 ``` ```python gamma = (1. / (X_train.shape[1] * X_train.std())) print(np.mean(cross_val_score(SVC(gamma=gamma), X_train, y_train, cv=10))) ``` ``` 0.987 ``` ] ??? Gamma by default in scikit-learn is one over the number of features. This really makes sense only if you scale the data to have a standard deviation of one, then this is a pretty good default. Here if I compare cross-validation, kernel SVM with default parameters on this dataset versus kernel SVM with the scaled data, the performance is either 57% or 97%. There's a giant jump between the scaled data and the upscale data. Actually here in this data set, all the pixels are on the same scale more or less, so they all are between 0 and 16. So if we change the gamma to be to take into account the standard deviation of the data set, I actually get pretty good results. This is actually just a very peculiar dataset because I basically I know the scale should be from zero to one when it's from 0 to 16. So scaling by the overall standard deviation gives me good results here. But in principle day, I want to convey is that gamma scales with the standard deviation of the features. Usually, each of the features has a different standard deviation or a different scale and so you want to use a centered scale to estimate the scale for each feature and bring it to one. And then the default gamma, which is one over number of features will be sort of reasonable. --- # Grid-Searching Parameters ```python param_grid = {'svc__C': np.logspace(-3, 2, 6), 'svc__gamma': np.logspace(-3, 2, 6) / X_train.shape[0]} param_grid ``` {'svc_C': array([ 0.001, 0.01 , 0.1 , 1. , 10. , 100. ]), 'svc_gamma': array([ 0.000001, 0.000007, 0.000074, 0.000742, 0.007424, 0.074239])} ```python grid = GridSearchCV(scaled_svc, param_grid=param_grid, cv=10) grid.fit(X_train, y_train) ``` ??? To tune them, I use the scaled SVM and both C and gamma usually learn auto log space, so here I have a log space for C and gamma. I actually divide this by the number of features, I could also just change the range, but as I said, this is sort of something that scales with the number of features and standard deviation. Then I can just do my standard grid searchCV with the two-dimensional parameter grid. --- # Grid-Searching Parameters .center[ ![:scale 95%](images/img_6.png) ] ??? Usually, there's a strong interaction between these two parameters. And the SVM is pretty sensitive to the setting of these two parameters. So you can see here if you look at the scales, balance 10 classification dataset. So chance performance is 10% accuracy. And so if I set the parameters wrong, I get chance accuracy. If I set them right, I get the high 90s. So that's the difference between setting gamma to 0.007 and 0.000007 or between setting c to 1 and c to 0.0001. So usually they're some correlation between the C and gamma values which are good. So you can decrease or increase C if you decrease gamma and the other way around. So usually I like to look at grid search results as a 2d heat map for this and if your optimum is somewhere on the boundary, you want to extend your search space. For example, you can see that I wouldn't need to search this very small Cs, they don't work at all, but maybe something better might be over here. A C of 100 is already like a very big C so if I want to use even less regularization, learning the model will be even slower. --- # Support Vector Regression .center[ ![:scale 80%](images/img_9.png) ] ??? There's also a variant of support vector machines that work for regression. This another way to do robust regression. So robust to outliers in a sense, and it uses this weird loss, which basically says, “I want all my data to be in a tube of size εaround my regression line.” So this is inverse of the margin. You can do this with linear or you can do this with a kernel. Again, only a couple of the data points, support vectors will contribute to the solution either way. You have now an additional parameter, parameter C. It trades off the simplicity of the model versus accuracy on the training data set but there's also the parameter ε, which basically says how wide the tube that you want is. And usually, people sort of set the ε based on domain knowledge. So they say, I want my prediction to be this good and then they tune the parameter C and whatever the parameters of the kernel are. So if you use Support Vector regression with an RBF kernel, you probably set your ε to some reasonable value for your application and then you're going to tune C and gamma again. --- # Using SVR - Fix epsilon based on application /outliers - Linear kernel → robust linear regression - Ploy / rbf kernel → robust non-linear regression .center[ ![:scale 60%](images/img_10.png) ] ??? With linear kernel, there's a sort of robust linear regression. Only the outliers contribute to the solution. For this dataset, orange is the data and I fit both the polynomial model and SVR with both the polynomial kernel and RBF kernel and the support vectors for these two models and you can see the points that are outliers are always support vectors. You always pay the most amount of attention to the points that are hardest to predict. The reason why I say this is robust is because you're looking at the absolute value of the error. Basically, you're looking at the distance from the tube but the absolute value and so the absolute value is more robust than looking at the squared error. SVR is linear basically for all our errors. In Huber loss, you had a quadratic part around the target and then you had the linear part for the outliers. In the SVR, you have this tube in which you had to get no error at all. And then for the outliers, you have a linear part. This is quite related to Huber. Kernelizing this gives nonlinear regression that is also robust to outliers, which is nice. The reason why kernelizing both of these methods works well is that they only depend on a couple of the data points. You could do the same trick with dualization and do dual coefficients for logistic regression. But if you did it for logistic regression, all data points would contribute to the solution. --- class: middle, center ## Undoing the Kernel-Trick ??? Alright, so let's undo the kernel trick. --- # Why undo the kernel trick? .center[ ![:scale 50%](images/img_11.png) ] ??? You need to compute a kernel between all data points and so if you have a million data points, large-scale models basically don't work. There are some strategies to make the work but in general, it's a bad idea to work with an object that's square in the size of the number of samples, if number of samples grows very large. --- class:spacious # RKHS vs RKS ### (Reproducing Kernel Hilbert-Spaces vs Random Kitchen Sinks) - Idea: ditch kernel, approximate (infinite-dimensional) feature map $$\phi(x)^T \phi(x') = k(x, x') \approx \hat{\phi}(x)^T \hat{\phi}(x')$$ - For rbf-kernel random projection followed by sin/cos , higher n_features is better https://www.microsoft.com/en-us/research/video/random-kitchen-sinks-replacing-optimization-withrandomization-in-learning/ ??? The original idea was we can create features like polynomial features and we can expand our feature space, then this gives us more powerful models. Then we had the kernel trick which said instead of designing features, we're just going to design inner products or kernels which will give us even more powerful models and it's going to be cheaper. In input space, if we have a lot of samples actually completing these kernels is too much work and so we're going to use feature expansions that approximate the kernel. The RBF kernel is very popular, and so we want to use the RBF kernel but if we want to have the explicit expansion that would be like an infinite-dimensional series and so we're we don't want to do that. Instead, we're going to construct some finite dimensional approximate feature map that basically says data product in this feature space is about the same as the RBF kernel. If we do that we are again in the regime having an object that's number of samples times number of features and we can do a sort of our standard learning strategies which are much faster in terms of number of samples because we don't need to compute these specs for the kernel. One that's popular is called random kitchen sinks. Kernel is often called RKHS (Reproducing kernel Hilbert-Spaces).  --- # Kernel Approximation in sklearn ```python from sklearn.kernel_approximation import RBFSampler gamma = 1. / (X_train.shape[1] * X_train.std()) approx_rbf = RBFSampler(gamma=gamma, n_components=5000) print(X_train.shape) X_train_rbf = approx_rbf.fit_transform(X_train) print(X_train_rbf.shape) # (1347, 64) # (1347, 5000) np.mean(cross_val_score(LinearSVC(), X_train, y_train, cv=10)) # 0.946 np.mean(cross_val_score(SVC(gamma=gamma), X_train, y_train, cv=10)) # 0.987 np.mean(cross_val_score(LinearSVC(), X_train_rbf, y_train, cv=10)) # 0.984 ``` ??? I want to apply this I have to specify the gamma for the RBF kernel that I want to approximate and I also have to specify how many features I want. More features give me a better approximation but they’re also slower to compute. Using the digit dataset again which is 64 dimensional. I go from the 64-dimensional initial input space to a transformation using an RBF sampler to a 5000-dimensional space in which the inner products are about the same as the RBF kernel. So now I can compare what happens if I use the linear model on the input space with kernel model and with the linear model on the approximated space. In this way, no matter how many data points I have, I can always apply an RBF kernel SVM by explicitly transforming the data into some randomized space and then use a linear model. --- # Nyström Approximation - Use low-rank approximation of kernel matrix - Select some samples, compute kernel with only those, embed all the points. - Using all points = full rank = exact - For same number of components more expensive than RBFSampler, but needs less! ```pythom from sklearn.kernel_approximation import Nystroem nystroem = Nystroem(gamma=gamma, n_components=200) X_train_ny = nystroem.fit_transform(X_train) print(X_train_ny.shape) # (1347, 200) np.mean(cross_val_score(LinearSVC(), X_train_ny, y_train, cv=10)) # 0.974 ``` ??? There's another strategy in scikit-learn called Nystrom. This RBF sampler only works for RBF kernel while Nystrom works for all possible kernels. Basically, you subsample a couple of the training data points and you compute kernel only on these couple of train data points. This way it doesn't grow quadratically in the size of the data points. So for example here, I choose randomly 200 data points and only compute the kernel on these 200 data points. That gives me a projection again. So here I do a projection in this 200-dimensional space that’s created by evaluating the kernel on 200 data points from a training set. In this example, for RBF kernel I get the same result as I did before. Doing this is like slightly more expensive. To do this, you need to compute an SVD of size number of samples times 200. So that’s why this is a little bit slower to compute whereas for RBF sampler you just need to sample some Gaussian noise. If you do n_components = n_samples this will actually be exact and so you'll get exactly the same model. So you get a transformation in the kernel space that is exact, then you can use any linear model you want. For example, you could use logistic regression. If you want probabilities but you also want to use kernels, you can use Nystrom. This will transform your data and then you can use logistic regression in kernel space easily, or PCA or K means or any other model. It becomes kernelized by explicitly transforming the data. --- class: spacious # Fast Food etc - Many newer / faster algorithms out there - Not in sklearn so far - FastFood one of the most prominent ones - Current research on selecting good points for Nystroem. ??? There are a couple newer, better models in scikit-learn. For example, one is called fast foods. There's like smart strategies on how to pick the points in Nystrom. There's one obvious question you can ask yourself now, which is why again that we want to approximate the kernel. So the idea was all we want to create features to help us to classify and we came up with these kernels instead of the features and then we came up with features that approximate the kernels. But we only use these kernels because they were kind of convenient. So what we are really interested in is creating features that help us classify. So we can also just create some random features that help us classify, we don't really need to relate them to a kernel. --- # Relation to Random Neural Nets - Why approximate kernels? - Just go random ! ```python rng = np.random.RandomState(0) w = rng.normal(size=(X_train.shape[1], 100)) X_train_wat = np.tanh(scale(np.dot(X_train, w))) print(X_train_wat.shape) ``` (1347, 100) ```python np.mean(cross_val_score(LinearSVC(), X_train_wat, y_train, cv=10)) ``` 0.966 ??? For example, I can you use a random neural network which is so here again, I just create random normal data that's number of features times 100. So just like a 64 times hundred random matrix, multiply this with the training data set and do a 10 H, which is a thing you're doing in the neural network. So this is just like a random projection followed by non-linearity and then I train the linear model on it and it's like nearly as good as the kernel SVM. This shows that maybe it doesn't matter as much what kind of transformation you do, as long as it's nonlinear and high dimensional enough, you basically blow up your feature space and then you can learn more complex models. It seems to work quite easily in practice. You can think of this as I initialize the neural network, but I only train the output layer, I don't train the hidden layer at all. I just make it random and so it works. --- class: spacious # Extreme Learning Machine Hoax - AKA random neural networks - Same result published in the 90s - Bogus math ??? There have been a couple papers that call these extreme learning machines and I hope no one ever uses the word extreme learning machines for two reasons. One, they plagiarize work that it was like 20 years older. Secondly, their math makes no sense at all. --- class: spacious # Kernel Approximation in Practice - SVM: only when 100000 >> n_samples, but works for n_features large - RBFSampler, Nystroem can allow making anything kernelized! - Some kernels (like chi2 and intersection) have really fast approximation. ??? Some final remarks on when you might want to use this. If you have less than 100,000 samples, you can just train SVM and particular SVM really don’t care that much about how many features you have. They care more about how many samples you have. So RBF sampler or Nystrom can make anything kernelized if you want, which is kind of nice. And also they can allow you to make kernelized algorithms reasonably fast on really big data sets. There are some kernels that are really fast and have nice approximations that are also implemented in scikit-learn. For example, chi2 kernel and intersection kernel. If you do computer vision, these are really cool and they have like, really good fast approximations and that just makes things much better. --- class: spacious # Summary - Kernels are cool! - Kernels work best for “small” n_samples - Approximate kernels or random features for many samples - Could do even SGD / streaming with kernel approximations! - Could use Logistic Regression (hurray probabilities) ??? One of the other things that you can do with the kernel is you can do Stochastic Gradient Descent. So usually, for an SVM to work, you would at least need to store all the support vectors in your memory. Maybe you need to store your whole data set into memory. If you have a very large data set that might not be possible. But with kernel approximations, the RBF sampler doesn't depend on the data at all, it's a transformer, but it doesn't learn anything from data. It just does random transformations. So you can use it together with Stochastic Gradient Descent and learn basically, on infinitely large data. You can just do it on streaming data. You can update your model as things come in, and you can do this in a nonlinear way. --- class: center, middle # Questions ?


As you call out words of restoration, up to six creatures of your choice that you can see within range regain hit points equal to 1d4 + your spellcasting ability modifier.
This spell has no effect on undead or constructs.
At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, the healing increases by 1d4 for each slot level above 3rd.


The scale is one square of four dots equals one square unit. The grid consists of nine rows and eleven columns of dots. The following is placed on the grid:
(Note: add additional content (data tables, nested lists, etc.)
Two equal length lines are drawn, one above the other. The top line is labeled Number of Dolls and the bottom line is labeled percent.
The line plot title is Volunteer Time. The axis title is Number of Hours. The number line ranges from zero to eight in increments of one. X's are distributed across the increment tick marks as described in the table below:
| Increment Tick Mark | Number of X's |
|---|---|
| 0 | 1 |
| 1 | 2 |
| 2 | 3 |
| 3 | 5 |
| 4 | 1 |
| 5 | 1 |
| 6 | 3 |
| 7 | 2 |
| 8 | 2 |


Not at all
Several days
More than half the days
Nearly every day
1. Little interest or pleasure in doing things
0
1
2
3
2. Feeling down, depressed, or hopeless
0
1
2
3
3. Trouble falling or staying asleep, or sleeping too much
0
1
2
3
4. Feeling tired or having little energy
0
1
2
3
5. Poor appetite or overeating
0
1
2
3
6.  Trouble concentrating on things, such as reading the newspaper or watching television
0
1
2
3
8. Moving or speaking so slowly that other people could have noticed. Or the opposite - being so figety or restless that you have been moving around a lot more than usual
0
1
2
3
9. Feeling nervous, anxious or on edge
0
1
2
3
10. Not being able to stop or control worrying
0
1
2
3
11. Worrying too much about different things
0
1
2
3
12. Trouble relaxing
0
1
2
3
13. Being so restless that it is hard to sit still
0
1
2
3
14. Becoming easily annoyed or irritable
0
1
2
3
15. Feeling afraid as if something awful might happen
0
1
2
3
16. Thoughts that you would be better off dead or of hurting yourself in some way
0
1
2
3


PureBasic - Http
Overview
Http is the name of the protocol used by web browsers to access remote information, such as a web page. Each item has an unique address in order to access it from anywhere, this is its: URL (Uniform Resource Locator). The functions within this library are designed to provide easy manipulation of URLs and the capability to retrieve remote files.
The Http commands are based on the network library, so InitNetwork() must be called successfully before using them.
Command Index
AbortHTTP
FinishHTTP
GetHTTPHeader
GetURLPart
HTTPProgress
ReceiveHTTPFile
ReceiveHTTPMemory
SetURLPart
URLDecoder
URLEncoder
Example
Http.pb
Supported OS
All


About
Welcome! We're glad you made it to our SimCity BUILDITTM calculator.
On this site you'll find interactive tables that allow you to see how long it'll take to make the things you need.
For those technical users out there the source code of this site is available on GitHub for viewing. This site is written in Angular, hosted on Heroku, and deployed via CircleCI.


---
layout: default
title: What's new
---
November 2018
New content
- Guidelines for progress indicators
- Confirmation patterns
October 2017
New content
- Added description and examples of the timestamp control.
September 2017
New content
- Updated examples for dialogs.
- Added guidelines and examples of notifications.
- Added content toolbars page to describe usage of separators.
Significant updates
- Included table of contents to pages for easier navigation.
August 2017
New content
- Examples and guidance for using Links.
- Updated page for Tips to provide better examples and guidance on usage.
- Updated Text blocks page to include example and XAML code snippet.
- Documented guidelines and examples for Toggle groups (previously called Segmented control).
Significant updates
- Renamed Segmented control to Toggle group.
July 2017
New content
- Pretty much all of it. We're just getting started.
Significant updates
- Changed from non-existence to existence.


Class: ActiveRecord::Encryption::Key
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | activerecord/lib/active_record/encryption/key.rb |
Overview
A key is a container for a given #secret
Optionally, it can include #public_tags. These tags are meant to be stored in clean (public) and can be used, for example, to include information that references the key for a future retrieval operation.
Class Method Summary
- .derive_from(password)
- .new(secret) ⇒ Key constructor
Instance Attribute Summary
- #public_tags readonly
- #secret readonly
Instance Method Summary
Constructor Details
.new(secret) ⇒ Key
# File 'activerecord/lib/active_record/encryption/key.rb', line 13
def initialize(secret) @secret = secret @public_tags = Properties.new end
Class Method Details
.derive_from(password)
[ GitHub ]# File 'activerecord/lib/active_record/encryption/key.rb', line 18
def self.derive_from(password) secret = ActiveRecord::Encryption.key_generator.derive_key_from(password) ActiveRecord::Encryption::Key.new(secret) end
Instance Attribute Details
#public_tags (readonly)
[ GitHub ]# File 'activerecord/lib/active_record/encryption/key.rb', line 11
attr_reader :secret, :
#secret (readonly)
[ GitHub ]# File 'activerecord/lib/active_record/encryption/key.rb', line 11
attr_reader :secret, :


Here's a list of links of certain Projects I have completed over the week.
My names are Rashid Amuda im currently in Moringa school,Moringa school official site.I was recently in 43Air Aviation School for 1year and i currently have 72 hours under my belt.I am looking forwad to improve on my coding skills inorder to help me in the future whereby ill be able to free lance and gain money as i continue to earn the right amount of hours to be employed in aviation.
I was recently curious about coding in the previous month after i learned that coding has a lot of job opportunities as compared to others and it really looked interesting to learn.
I am also very intrested in motorsport especially Formula 1as i find it very thrilling to watch.


from talk_utils import *
questions = ["what", "where", "why"]
questions.append("who")
questions.append("How to")
while time_left():
if demo_time():
include_in_slide_title("demo")
else:
include_in_slide_title(choice(questions))
Python hobbyist trying since 2004 to help other people learn Python through various projects:
I assume that most of you have experience and/or interest in helping beginners learn Python.
friendly
?A tool that enhances Python tracebacks to make them easier to understand.
It used to be called friendly-traceback.
>>> import this
...
Explicit is better than implicit.
...
friendly-traceback is more explicit than friendly.
Why the name change?
import turtle as t
for i in range(4):
t.forward(100)
t.left(90)
> python turtle.py
Traceback (most recent call last):
File "turtle.py", line 3, in <module>
import turtle as t
File "...\turtle.py", line 6, in <module>
t.forward(100)
AttributeError: partially initialized module 'turtle'
has no attribute 'forward'
(most likely due to a circular import)
friendly
python -im friendly turtle.py
hint()
what()
why()
where()
www()
what()
in Frenchwhat(...)
from friendly[.X] import start_console
start_console(...)
from friendly[.X] import *
install(...)
or, in some cases, the following is enough
from friendly[.X] import *
from friendly[.X] import run
run("my_program.py", ...)
NameError
NameError
NameError
NameError
Traceback (most recent call last):
File "test.py", line 2, in <module>
x['a']['b']['c']['d'] = 1
^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
from friendly import ...
from friendly.idle import ...
from friendly.mu import ...
from friendly.ipython import ...
from friendly.jupyter import ...
# are better than
from friendly_traceback.idle import ...
Besides, traceback is not exactly a beginner-friendly term and, in the future, friendly might do more than simply helping with tracebacks ...
import *
?Friendly.why() == why(), etc
friendly
?where("is the code?")
> python -m pip install friendly
> python -m friendly
Friendly Console version ... [Python version: ...]
>>> www()
if time_left():
live_demo()


--- layout: default permalink: /404.html --- 404 Not Found We can't find the page your looking for, try again.
We can't find the page your looking for, try again.


An Object-Oriented Database V. 0.1 Mail to: ODB for Win 95 / NT |
| ODB Feature | Benefit from using OFB | Advantage to other technologies
| Object Oriented Data Model
| Supports OO modelling of data which means that complex
data can be modelled using the powerful tools that OO provides
| The relational model, e.g., MS SQL Server, Oracle...
databases do not offer a true OO database.
Hence, any of these products will not prform well with
complex data (i.e., a number of n-n relations with a substantial
number of data items
| Main Memory Database
| All data in main memory. As main memory is becomming increasingly
cheaper main memory databases are becomming a reality. Benchmarking of ODB has shown that
even on an 8 Mb machine running OS/2 50000 objects of average
size is posible. ODB is optimized towards main memory utilisation
where a vast number of measusers has been taken to optimise
the main memory utilisation of ODB
| Standard databases, e.g., MS SQL Server, Oracle etc...
are diskbased where data is cached in and out of main memory
hence, a main memory database will outperform any diskbased
database for any type of operation
| Light Weight
| In std databases logging and locking is a central part
of the database. In ODB these features may be disabeled for
greater performance. With loggin and locking disabeled
ODB is a light weight database engine. Some
of the application ODB is tailored towards will benefit
from using ODB in light weight mode, See
ODB Applications
| MS SQL Server, or Oracle cannot be run in light weight mode.
Other OO databases eg., ObjectStore can tailor their locking
granule etc., to get database behaviour tailored towards
the application
| Data Independece
| The model of the data is independet of your application model.
Hence, Your application (C++,VB, java program) do not need to be touched
if you change the way the data is modelled.
| Using standard OO databases like ObjectStore the datamodel of you r
application is closely linked to your data model since your
data model is pre processed into C++ and comiled, linked
with your application.
| Application Address Space
| Your application runs in the same address space as ODB, hence
the ODB objects (your data) is directly accessible
in your application without any data conversions or other
tideous and resource consuming operations
| Using MS SQL Server or any other relation database server
the problem of Impedance Mismatch, i.e., discrepancies
is supported data types, is a major problem that causes
significant overhead at runtime. ODB has completely
eliminated this overhead without sacrificing data independence
| Stand Alone or Client - Server
| You can use ODB as the stand alone data manager for your
client or in a Client - Server setup. In both cases the processing
is done at the client, in the client server setup all updates
need to be commited to the server.
| MS SQL Server or any other traditional RDBMS do not provide this
flexibility, also they adhere to the outdated client server
model where the server must be a high end machine since it does all
the processing. Using ODB the load is distributed
over the network instaed of concentrated to the server.
| Use ODB in light weight mode at client as data
manager
| Increased Productivity
| Using MFC's or STL in application development a lot of
effort will be put in to develop the data management at the
client. Using ODB as the data manager at the client
this effort is substantially reduced, hence your project will be
both more robust and also faster through the development phase
| The ODB data file is selfcontained and be shared
between and correlated
ODB sites
| Information Sharing and cross database correlation
| ODB kernels can open any number of databases and
correlate the data between the databases. Using MS SQL server
or other similar products sharing data and data models are not
simple.
| |
| Mail to ODB for Win 95 / NT |


 Your work and guidance cultivate new ideas and learning in them. Become apart of the network to reach out to students who are just as passionate as you!
SIGN UP NOW


Nor'easter to grind at U.S. East Coast this weekend
by Accuweather.comHigh winds, heavy surf and drenching rain will pound part of the southern Atlantic coast this weekend, but some impact from the storm will expand to the coastal Northeast later this weekend to early next week.
Then, a second storm is forecast to take aim farther north and focus on the Northeast next week.
After spreading rain eastward across the Deep South into Friday, the first storm will strengthen along the Carolina coast while pivoting northeastward on Saturday, Sunday and Monday.
|
|
The difference in pressure between the strengthening storm and high pressure over the interior Northeast will create strong winds from the northeast and north.
Most severe impacts
The strongest winds are likely from the Outer Banks of North Carolina to the capes of Virginia, near the mouth of the Chesapeake Bay. In this area, winds are expected to average 25-50 mph with maximum gusts of 65 mph.
|
|
Winds of this strength can break tree limbs and cause sporadic power outages.
The persistent strong winds will push ocean, bay and sound water to levels that are likely to cause coastal flooding.
Large waves that build from the persistent winds will be a threat to small craft and lead to beach erosion and may damage roads on the barrier islands, including North Carolina Route 12. which was damaged during Hurricane Dorian.
"The heaviest rain from the storm will fall along the coasts of North and South Carolina, where rainfall is anticipated to average 2-3 inches," with a maximum of 5 inches, AccuWeather meteorologist Clay Chaney said.
|
|
"While the rain will be beneficial in most areas of the Deep South and along the coast, too much can fall in coastal areas too fast and lead to urban style flooding," Chaney said.
The combination of wind and rain along the Carolina and Virginia coastline will create temperatures that feel like the upper 30s to upper 40s.
In contrast, much of the weekend will be dry and sunny across the interior South, including around Birmingham, Ala.; Atlanta; Charlotte, N.C.; and Roanoke, Va.
Less severe impact
Enough wind, waves and above-normal tides are in store to cause significant chill, minor coastal flooding and some beach erosion from Maryland and Delaware to New Jersey, southeastern New York state and eastern Massachusetts from the storm.
|
|
Strong winds are forecast to create temperatures that feel like the 20s and 30s along the coast much of the time.
Conditions including the risk of some rain will peak from late Saturday to Sunday night over the Delmarva Peninsula and New Jersey and from Sunday to Monday from southeastern New York state to Massachusetts.
|
|
Some areas of eastern Massachusetts, including Boston, could be thoroughly soaked by the storm on Monday before it moves away.
The storm would have to track a couple of hundred miles closer to the upper mid-Atlantic coast for rain and snow to fall over the central Appalachians and northern New England. Instead, these areas are likely to have a sunny, but crisp and cold late autumn weekend.
Midweek storm
A second storm will follow the weekend nor'easter and has the potential to track much farther north and could be almost as strong.
Provided the storm tracks a few hundred miles farther north than its predecessor, strong winds, heavy rain and the risk of urban flooding will spread northward over the mid-Atlantic during Tuesday night and New England on Wednesday.
Marginal temperatures may allow wet snow or a mixture of snow, sleet and rain to fall over the central and northern Appalachians.
While impact from the weekend storm may have minimal effects on flights in the Northeast, the midweek storm that follows could trigger numerous airline delay and flight cancellations.
On Wednesday, there is the potential for slow commutes on the roads, especially from Philadelphia to New York City and Boston, depending on the exact track of the storm.
Should the second storm remain weak and track offshore, little wind and only spotty precipitation would occur at midweek in the Northeast.


--- layout: docs title: "Ionic Framework - Device Compatibility" header_sub_title: "What Devices Does Ionic Support?" ---
Ionic is a new framework, and as such we only support a subset of the available devices on the market. We are constantly looking to expand our device compatibility. To help, read the Contributor guide, and join us on our GitHub repo.
| Platform | Versions Tested | Devices Tested | Grade |
|---|---|---|---|
| iOS | iOS 6, 7 | iPhone 4,4S,5, iPad 3 | A+ (best support) |
| Android | 4.1 | Nexus 4,7 Galaxy S3 | C (usable, on roadmap) |
| Windows Phone | none | none | Unknown (help out) |
| Blackberry | none | none | Unknown (help out) |
| FirefoxOS | none | none | Unknown (help out) |


Album example website
This is an example of a website home page. It is only shown after the user has logged in.
Credit: Eric Salard
Credit: Jeffrey
Credit: Toshiyuki Imai
Credit: Don O'Brien
Credit: Rich Bowen
Credit: Lee Bristol
Credit: Andrew Wilkinson
Credit: Goultard
Credit: Rick