{% extends 'base.html' %} {% block meta %} {% endblock %} {% block google_ads %} {% endblock %} {% block style %} #p {color:#9c9c9c;} #button{ width:100%; } {% endblock %} {% block title %}Free Email Address Extractor{% endblock %} {% block email %} active{% endblock %} {% block content %}
Online Tool for Email Extraction in a second
Paste Text Here
{% if emails != 0 %}Extracted Emails : {{emails|length}}
{% else %}Extracted Emails
{% endif %}
What is Email Extractor?
Email Extractor is a simple little tool that will help you find email addresses hidden in a content. Just copy the entire block of text and paste it in the above input box. All you have to do is click on the “Extract Email” button, it will find all the email addresses present in your input text. Any duplicate address will be ignored safely, as a final result, you get a unique list of all emails extracted.
How Does Email Extractor Work?
Email Extractor is designed to automatically extract email addresses from the web and your local files, and compile them to a list eliminating duplicate email addresses. The program features a powerful engine, which makes Email Extractor the fastest email harvester. It utilizes the minimum of your computer’s resources and can run smoothly in the background.
Why do You need Email Extractor?
A powerful Email Extractor is a must-have tool if you are dealing with internet marketing. It is evident that the more people you contact the more potential customers and correspondingly the more sales you’ll have. An email harvester application will help you to double or even triple your contact lists and therefore increase considerably your sales. Just imagine that you can boost your sales up to 30 % with few clicks of your mouse. It is a matter of several minutes. Email Extractor will raise your email marketing campaign to a new level.
Reasons why you should use of email extractors
- Basically, email extractors are programmed to harvest email address from the internet and other offline sources. Many websites and online forums contain email addresses which ordinarily, it will take hours and days to find a couple of them. This software is capable of searching the internet to obtain these websites within minutes and store them for the users to utilise email marketing or any other purpose. Email extractors on the market has differ in strength. There are some that can only find 50 email address within a minute from the internet. But powerful ones can find over 100 email addresses within 60 seconds.
- Apart from email marketer, an employer can also make use of email extractor to find out email address used by employees or subscribers to send them emails. They can also use it to determine email addresses they have sent emails to. A network administrator can also purchase the software for the same purpose.
- Sometimes businesses and individuals may have the need to refer to an email address or email addresses on their local area network. This can be a tedious and time consuming work to do without any software. But one can accomplish this task easily with an email extractor.
- An email extractor is also used to scan not only the internet but also CD-ROM – and other external storage media –, files, hard drives, folders and the likes.
- A good number of email extractor come with feature for verifying the authenticity of email addresses and finding out duplicated email address in a list.
- A business can use an extractor to reach a potential buyer/customer. The user does not put much effort in getting to the potential buyer and this makes this software a time saver as far as email marketing is concerned.


Revealed: Barcelona make Chelsea star a TOP transfer target in major squad revamp
by Magnus EriksenBarcelona are reportedly making a number of plans in the transfer market as club chief Eric Abidal plans a major squad revamp.
The Catalan giants could end up making a raid on Chelsea as a result, with defender Andreas Christensen mentioned as one of their top targets in a report from Football Espana.
MORE: Tottenham rival Chelsea for transfer of Premier League star to cover two positions
It remains to be seen if Chelsea would definitely let Christensen go, though it’s certainly fair to say the Denmark international has struggled to make much of an impression in his time at Stamford Bridge.
Despite previously impressing on loan at Borussia Monchengladbach, Christensen has not really looked good enough for the Blues, though that doesn’t necessarily mean they’ll rush to let him go.
Frank Lampard’s side have been under a transfer ban and are still waiting to find out if that will be lifted in January.
If not, they could do without selling potentially useful squad players until they have the chance to sign replacements.
Christensen has long looked a promising young talent, though, and may well push for a move in order to play more regularly, especially at a big club like Barcelona.


These are basic tests for the layout command For a combo test click HERE
| Grid Layout (no args) |
header
left
center
right
footer
|
| Grid Layout (16 cols) |
header
row 1
row 2
row 1 (I have padding)
row 2
row 1
row 2
row 3
footer
|
| Three Horizontal DIVs (no options) |
one
two
three
|
| Three Vertical DIVs (with align property) |
one
two
three
|
| Vertical Parent, Two Nested Horizontal with width property |
one
two
three
four
five
six
seven
eight
|
| Vertical Parent, Three Rows, Nested Horizontal (2nd row) with valign,align and width properties |
header
one
two
three
footer
|
| DIV with absolute positioned image |
|
| Fixed Center Layout (100px) |
I am fixed center
|
| Border Layout |
east
north
south
west
center
|
| Border Layout with align/valign properties |
north
east
center
west
south
|


I am an artist and programmer who likes video games, graphic novels and Netflix. I have 8 small parakeets who are just the cutest little things!!! I also play 3 instruments: the guitar, violin and piano.
As much as I try, I can't draw humans(yet) so if you make a commission request please keep this in mind.
I will also upload my musical creations to this page. Feel free to check them out.
Valete omnes! (that's latin for "bye everyone!")
Confront:
Excalibur
Welcome to the orchestra:


You ({{currentUser.username}}) are O's
{{grabUserName game.xs}} is X's
{{/if}} {{#if currentUserIsXs}}You ({{currentUser.username}}) are X's
{{grabUserName game.os}} is O's
{{/if}} {{#if bothUsersClickedStart}}| {{game.a}} | {{game.b}} | {{game.c}} |
| {{game.d}} | {{game.e}} | {{game.f}} |
| {{game.g}} | {{game.h}} | {{game.i}} |


HTML5 Hacks
Inline
Canvas
AI
Images
JSONP
Shared
Transfer
HTML5 WebWorkers API
Canvas demo with High Computation Background Processing (Generate a 2D Array)
Select Row Value
choose a value
1000
2000
3000
4000
Select Column Value
choose a value
1000
2000
3000
4000
Output
Process
With Web Worker
Without Web Worker


Is the economy-sharing casino model the next big thing in gambling games?
I was enthusiastically devoted to the EOC dice betting game after the first try in BetDice. Despite the first few wins, I’m not going to lie that I have lost all the gains on top of the capitals eventually, just like the 1000 stories the other gamblers would have told you how they ended up sleeping under the bridge. Except, I’m still able to keep my cosy bed after the loss.
I then found out the DICE tokens that I accumulated during the gaming time now worth something!
Actually, it worths way more than my past gain and lost capital combined!
Here is how the DICE tokens work:
- The smart contract in BetDice gives you 12 DICE tokens for every 1 EOS being bet.
- Staking up DICE token granted the ability to share the payout pool every hour.
Pretty impressive and brilliant business model I would say. Considering the how generous the banker to set up a payout pool from their pocket, Betdice actually did gain more than losing by encouraging users to keep betting.
Bet more to get more DICE -> Stake more DICE to gain more passive payout ->
. According to Newton’s Law stated that
Banker always win.
Gamblers are pouring the EOS to Betdice non-stop in the hope of getting more DICE and winning the actual bets, of course.
I was getting 90k DICE.
Looking at the native exchange system, 1 DICE is now worth 0.0019 EOS. 90,000*0.0019=171
. Dang, my loss was way under 50 EOS and those token that I gained along the process which I thought was shitty now worth way more than everything I had bet with the game? Fantastic!
In no way, I’m encouraging gambling but if you want to have a little fun, feel free to use my referral link to try it out:
Pro tips: Only login amount of EOS that you are willing to lose and stake the remaining EOS up before betting.
Posted from my blog with SteemPress : https://fr3eze.vornix.blog/i-lost-50-eos-in-betdice-but-ended-up-with-170-eos-in-the-account/
This page is synchronized from the post: ‘I lost 50 EOS in BetDice but ended up with 170 EOS in the account’


Wokyo Noodle Bar
Cuisine: Asian
Rating: 3.7/5
It would seem unfair to call Wokyo Noodle Bar the Subway of noodle houses but that’s the first parallel that comes to mind.
Wokyo attempts to keep things fairly authentic on their menu — it’s not a complex menu at that, the main course being noodles or rice, cooked in the sauce you select and the protein of choice. They do carry other appetizers and a couple of salads as well so this is handy if you’re in a larger group. However, their noodle servings are quite satisfactory per person.
In total, Wokyo boasts 8 different sauces — from the Bangkok Coconut Curry to the Tokyo Miso & Sesame. Their ambience feels pretty fresh and mostly friendly. The only caveat in our experience was when I asked the server repeatedly to explain what the sauce ingredients were so I wouldn’t have to look them up off the menu (Seoul is Fiery Sriracha for example), he kept pointing out that the names were next to the sauces already, and I kept trying to explain that I wanted to know what Seoul contained. After a couple of tries, it was just easier to read them off the menu. Wokyo lets you try out the sauces upfront, which is neat.
In an attempt to cover as much of the menu possible, we chose different noodle types (and one steamed rice option) each with a different sauce. I do believe certain combinations would work better than others — the Buckwheat noodles for example may not work that well with something like the Peanut, but an exhaustive list of recommendations would take me too many tries to perfect. Sorry!
We sampled the Fiery Sriracha, the Bangkok Coconut Curry, the Thai Peanut, the Tokyo Miso & Sesame, the light soy. Of these, the one that didn’t work for me was the Thai Peanut — the end result was very dry and a bit tough to enjoy. My guests preferred the Tokyo Miso & Sesame which was delicious, while my personal choice of light soy with buckwheat noodles was also really good. The noodles were all well cooked so we had no complaints there. I personally love buckwheat noodles, but for the traditional noodle eaters, Egg noodles and Udon are both available. One point, if you order the rice option, you would receive the proteins or veggies cooked in sauce, with rice steamed on the side, unlike the noodles which are mixed in.
In addition to a Lavazza coffee bar, Wokyo also has your more traditional Thai Iced Tea and Matcha tea options, hot and cold. I stuck with my tested Matcha Iced Tea latte (soy milk) and that worked well.
Overall, it’s an enjoyable experience, the interiors are fun, just a little quirky and they’ve given the outside area good lighting, which was very appreciated (and resulted in better than average pictures).
Rating breakdown
Ambience: 4
Service: 3.5
Food: 4
Authenticity: 3.5
Value for money: 3.5
Final: 3.7/5
(Ratings are explained here.)
Wokyo Noodle Bar • Zomato
Below Bldg J2, Cluster J, JLT, Dubai
+9714 4551690


Sport Store
Error ({{data.error.status}}). The product data was not loaded.
Click here to try again
SportStore v


Mbalula: Placing Prasa Under Administration Will Get It Back On Track
by NG EditorJOHANNESBURG – Transport Minister Fikile Mbalula said his decision to place Passenger Rail Agency of South Africa (Prasa) under administration with immediate effect will allow for rapid action to get the parastatal back on track.
Mbalula made the surprise announcement at a briefing in Braamfontein on Monday shortly after informing staff about the decision, which includes the sacking of the interim board.
“The administrator will run the affairs of Prasa as a de facto board of control as envisaged in the Prasa founding law and as an accounting authority in terms of the Public Finance Management Act. In his latest report, the Auditor-General found the state company’s irregular expenditure ballooned to more than R27 billion, largely as a result of contracts that failed to comply with the law.”
The Auditor-General’s latest damning assessment on Prasa was the final nail in the administration coffin, which has led to the axing of the interim board.
Mbalula said the state of affairs only regressed under the interim board’s management, but he believes simply replacing it with a new board won’t be enough.
Bongisizwe Mpondo will take up the task as the administrator to run the business for a period of a year.
The aim is to appoint a permanent board after this period when Prasa is stabilised.
Mbalula said he was confident Mpondo had the right skills to turn the state company around in the next year.
The minister said in the coming days, Mpondo would sign a contract outlining the terms of reference for the tough job ahead over the next 12 months.
Mpondo will also be able to appoint teams to execute his turnaround strategy.
Mbalula said part of his responsibilities include improving operational performance and review the state company’s organisational design and business model.
The administrator will also be tasked with implementing the latest recommendations of the Auditor-General.


Hi,
In my previous posts, we saw how we can leverage the Docker playground to install Elastic Search and then creating clusters and also indexing data into Elastic cluster. You can find these links here
- Starting Elastic Search cluster using Docker and Docker Play ground
- Cluster, Nodes and Shards in Elastic Search
- Indexing Documents using Logstash and Python High level client
Now in this post, we will see how to create a schema for an index
Auto Index Creation Setting
There is a property defined in elasticsearch and if it is turned on, we can automatically create indices without predefining any schema for that index(Mapping). By default, it is set to true and if you want to turn it off, you can try this
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "false"
}
}
If we make it false and try to index a document without creating mapping(schema) for that index, it will throw an error. For example
Post testindex1/_doc
{
"field1":"aa"
}
/// Error message that we get
{
"error" : {
"root_cause" : [
{
"type" : "index_not_found_exception",
"reason" : "no such index [testindex1]",
"resource.type" : "index_expression",
"resource.id" : "testindex1",
"index_uuid" : "_na_",
"index" : "testindex1"
}
],
"type" : "index_not_found_exception",
"reason" : "no such index [testindex1]",
"resource.type" : "index_expression",
"resource.id" : "testindex1",
"index_uuid" : "_na_",
"index" : "testindex1"
},
"status" : 404
}
If the value is set to true, then it will automatically create an index for us when trying to insert a document into an index that doesn’t exist previously.
Apart from true and false values, we can also specify wild card entries to allow or disable certain index names
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "twitter,index10,-index1*,+ind*"
}
}
Here we are allowing twitter,index10, and anything that starts with ind and some values next to it. Also, anything that starts with index1 is not allowed.
So why did we go through this Auto index creation before actually getting started with Mapping?
The only reason why we discussed that setting is, we are more interested in auto create index value true.
So, In RDBMS schema is very important and without schema, it is not even possible to insert data into that particular table. But in case of Elastic search, especially when auto_create_index is set to true, we are able to insert data and create an index without specifying schema (Mapping).
So what’s the miracle behind this ?
The answer is very simple, Elastic search is smart enough to predict datatypes based on the document inserted and it will take care of creating mapping(schema) and index creation along with new document insertion.
So let’s try to add a document into an index that doesn’t exist. Make sure that “auto_create_index” is set to true here.
Post testindex1/_doc
{
"field1":"aa",
"field2":23
}
Now lets see mapping for this index.
Get testindex1/_mapping
/////////////////// Result ////////////////////////
{
"testindex1" : {
"mappings" : {
"properties" : {
"field1" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"field2" : {
"type" : "long"
}
}
}
}
}
So in this case, we didn’t create any mapping /index explicit before inserting the document. But Elastic Search itself took care of these steps and added mapping. So if we observe mapping that was created, we can see that field1 is created as a string, and field2 is created as afloat. So to some extent, Elastic search is able to guess datatypes ( I am saying to some extent because My intention for field2 is just an integer but it took long which is ok to some extent)
So can I try to update mapping for an existing field?
The answer is no. As I mentioned in the above case, I wanted to have integer type to field2 but it took longer. So let me try to update that properties mapping and see what the result is.
Put testindex1/_mapping
{
"properties":
{
"field2":
{
"type":"integer"
}
}
}
\\\\\\\\\\\\\\\\\\\\\\\\\\\ Result \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
{
"error" : {
"root_cause" : [
{
"type" : "illegal_argument_exception",
"reason" : "mapper [field2] cannot be changed from type [long] to [integer]"
}
],
"type" : "illegal_argument_exception",
"reason" : "mapper [field2] cannot be changed from type [long] to [integer]"
},
"status" : 400
}
So it is saying that I’ll not be able to change datatype from long to an integer.
So I am not able to update a field mapping but can I add a new field mapping?
Yes it possible to add a new field via Update mapping command and specify datatype we want Int he below example, I am trying to add a new field (field3)
Put testindex1/_mapping
{
"properties":
{
"field3":
{
"type":"integer"
}
}
}
Get testindex1/_mapping
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ Result \\\\\\\\\\\\\\\\\\\\\\\\\
{
"testindex1" : {
"mappings" : {
"properties" : {
"field1" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"field2" : {
"type" : "long"
},
"field3" : {
"type" : "integer"
}
}
}
}
}
We can see field3 is added and its datatype is integer.
That is Cool but still do I need to update this mapping manually whenever I want to add a new column. or Is it possible for Elastic search to guess the type and add it to mapping?
Yes of course Elastic search can guess the datatype and simply add the new property to mapping when we add a new column at the time of document update or document insertion. Let’s see how it does that.
Make sure that the new field you are trying to add is not present in existing mapping by issuing Get mapping command
Get testindex1/_mapping
Ok field5 is not present in mapping. Now lets try to add it to a new document
Post testindex1/_doc
{
"field1":"aa",
"field5":"This is newly added field and Lets see if ES add it to mapping?"
}
Now If we see the mapping, we can see our new field5 is automatically added to mapping without us giving any mapping update command.
Though we see few benefits of automatic mapping there are few cons too:
Yes, that is correct. Even though the feature auto mapping looks fancy, it has problems too. Let’s take a small example, previously I already have a field with the name “field1” but unfortunately, when adding a document, I gave my field name as “Field1” and the only difference there is F capital. Let’s try to index it and see what the mapping looks like.
Post testindex1/_doc
{
"Field1":"aa"
}
And lets observe mapping now
Get testindex1/_mapping
\\\\\\\\\\\\\\\\\\ Result \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
{
"testindex1" : {
"mappings" : {
"properties" : {
"Field1" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"field1" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
}
}
So if we observe we have 2 fields created, field1 and also Field1. Though it is a one time mistake, it is costly over a period of time because people usually get confused on what is the right field.
In the same way, if the dynamic mapping is allowed, over a period of time there are chances of mapping getting polluted.
A solution to the above problem is to have the strict mapping
So strict mapping comes to our rescue for the above problem. Usually, when we have the mapping set to strict, we will not be able to add new fields via an update or insert document.
**How to set mapping as strict **:
So the same update mapping can be used to set mapping as strict
Put testindex1/_mapping
{
"dynamic":"strict"
}
Now lets try to add a new document with a new field
Post testindex1/_doc
{
"field10":"aa"
}
Result after executing this
{
"error" : {
"root_cause" : [
{
"type" : "strict_dynamic_mapping_exception",
"reason" : "mapping set to strict, dynamic introduction of [field10] within [_doc] is not allowed"
}
],
"type" : "strict_dynamic_mapping_exception",
"reason" : "mapping set to strict, dynamic introduction of [field10] within [_doc] is not allowed"
},
"status" : 400
}
It is throwing an error
Options for Dynamic Mapping
Put testindex1/_mapping
{
"dynamic":"strict"
}
With strict, we will not be able to add new fields via an update or insert
Put testindex1/_mapping
{
"dynamic":"true"
}
With dynamic=true, we will be able to add new fields via an update or insert and mapping will be automatically updated and in this case, ES will infer field type unless we specify it using update/insert mapping
Put testindex1/_mapping
{
"dynamic":"false"
}
When we set dynamic=false, we will we able to add fields to document, but they will not be indexed and we will not be able to search documents based on these fields.
Elastic search supported Datatypes
text and keyword
long, integer, short, byte, double, float, half_float, scaled_float
date
boolean
binary
integer_range, float_range, long_range, double_range, date_range, ip_range
object
Nested
These are the datatypes supported by ES and there are few more but lets discuss them in future posts.
Finally, it’s time to create an index by creating mapping
Till now the majority of the time, we saw about the index that was created automatically. Now let’s see how we can create an index by specifying mapping at the time of the creation
Put stackoverflow_top1/
{
"mappings":
{
"properties":
{
"name":{
"type":"text",
"fields":{
"keyword":
{
"type":"keyword"
}
}
},
"age":{
"type":"integer"
},
"address":
{
"properties":
{
"address1":
{
"type":"text"
},
"state_code":
{
"type":"keyword"
},
"country":
{
"type":"keyword"
}
}
}
}
}
}
So my mapping above represent an object of this type
{
"name":"Pavan",
"age":23,
"address":[
{
"address1":"Prasanthi Nagar",
"state_code":"AP",
"country":"India"
}]
}
Here apart from keyword and text , it is pretty straight forward.
When we use Keyword , ES will not analyze field data but with text, it will analyze data. So we will see it in the future. But for now, any field which is declared as keyword can only be searched by exact data that we inserted.
For example, “This is Pavan” and if this is indexed as keyword, we can only search by specifying “This is Pavan”
But If we specify a field as text, I can search the same doc with values like this, is, pavan,This,Is,Pavan,THIS,IS,PAVAN.
For now, this info should be fine related to keyword and text
Thanks,
Pavan Kumar Aryasomayajulu


Shawn Michaels to name NXT Men’s Survivor Series Team during Survivor Series Kickoff
by WWE.comWWE Hall of Famer Shawn Michaels will appear on the Survivor Series Kickoff Sunday to name the NXT Men’s team for the huge Survivor Series Elimination Triple Threat Match.
The black-and-gold brand’s men’s team has remained a mystery, even as Rhea Ripley joined Triple H to name the women’s squad on Saturday following NXT TakeOver: WarGames. But HBK will let the WWE Universe in on the secret just moments before Survivor Series goes on the air.
Don’t miss Shawn Michaels break this news during the Survivor Series Kickoff, streaming live tomorrow starting at 5 ET/2 PT on WWE Network, WWE.com, YouTube, Facebook and Twitter. Then, be sure to stay tuned as the battle for brand supremacy between Raw, SmackDown and NXT kicks off when Survivor Series streams live at 7 ET/4 PT on the award-winning WWE Network.


x
Book Direct. Get Rewarded.
Get 3 Free rewards like:
Starbucks
Free Coffee
United Airlines
Free $25 Credit
Go-Go Wi-Fi
Free Wi-Fi


ALTER DOMAIN
Section: SQL Commands (7)Updated: 2012-08-14
Index Return to Main Contents
NAME
ALTER DOMAIN - change the definition of a domainSYNOPSIS
ALTER DOMAIN name { SET DEFAULT expression | DROP DEFAULT } ALTER DOMAIN name { SET | DROP } NOT NULL ALTER DOMAIN name ADD domain_constraint ALTER DOMAIN name DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ] ALTER DOMAIN name OWNER TO new_owner ALTER DOMAIN name SET SCHEMA new_schema
DESCRIPTION
ALTER DOMAIN changes the definition of an existing domain. There are several sub-forms:
- SET/DROP DEFAULT
- These forms set or remove the default value for a domain. Note that defaults only apply to subsequent INSERT commands; they do not affect rows already in a table using the domain.
- SET/DROP NOT NULL
- These forms change whether a domain is marked to allow NULL values or to reject NULL values. You can only SET NOT NULL when the columns using the domain contain no null values.
- ADD domain_constraint
- This form adds a new constraint to a domain using the same syntax as CREATE DOMAIN [create_domain(7)]. This will only succeed if all columns using the domain satisfy the new constraint.
- DROP CONSTRAINT
- This form drops constraints on a domain.
- OWNER
- This form changes the owner of the domain to the specified user.
- SET SCHEMA
- This form changes the schema of the domain. Any constraints associated with the domain are moved into the new schema as well.
You must own the domain to use ALTER DOMAIN. To change the schema of a domain, you must also have CREATE privilege on the new schema. To alter the owner, you must also be a direct or indirect member of the new owning role, and that role must have CREATE privilege on the domain's schema. (These restrictions enforce that altering the owner doesn't do anything you couldn't do by dropping and recreating the domain. However, a superuser can alter ownership of any domain anyway.)
PARAMETERS
- name
- The name (possibly schema-qualified) of an existing domain to alter.
- domain_constraint
- New domain constraint for the domain.
- constraint_name
- Name of an existing constraint to drop.
- CASCADE
- Automatically drop objects that depend on the constraint.
- RESTRICT
- Refuse to drop the constraint if there are any dependent objects. This is the default behavior.
- new_owner
- The user name of the new owner of the domain.
- new_schema
- The new schema for the domain.
NOTES
Currently, ALTER DOMAIN ADD CONSTRAINT and ALTER DOMAIN SET NOT NULL will fail if the named domain or any derived domain is used within a composite-type column of any table in the database. They should eventually be improved to be able to verify the new constraint for such nested columns.
EXAMPLES
To add a NOT NULL constraint to a domain:
ALTER DOMAIN zipcode SET NOT NULL;To remove a NOT NULL constraint from a domain:
ALTER DOMAIN zipcode DROP NOT NULL;
To add a check constraint to a domain:
ALTER DOMAIN zipcode ADD CONSTRAINT zipchk CHECK (char_length(VALUE) = 5);
To remove a check constraint from a domain:
ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;
To move the domain into a different schema:
ALTER DOMAIN zipcode SET SCHEMA customers;
COMPATIBILITY
ALTER DOMAIN conforms to the SQL standard, except for the OWNER and SET SCHEMA variants, which are PostgreSQL extensions.
SEE ALSO
CREATE DOMAIN [create_domain(7)], DROP DOMAIN [drop_domain(7)]
Index
This document was created by man2html, using the manual pages.
Time: 05:34:14 GMT, December 24, 2015


|
ArUco Unity
1.2.0
OpenCV's ArUco Marker Detection module adapted for Unity 5.
|
Base for detecting and estimating the transform of an ArUco object. More...
Inherited by ArucoUnity.Controllers.ObjectTrackers.ArucoCharucoBoardTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoDiamondTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoGridBoardTracker, and ArucoUnity.Controllers.ObjectTrackers.ArucoMarkerTracker.
Public Member Functions | |
| virtual void | Activate (ArucoTracker arucoTracker) |
| Configure and activate the tracker. More... | |
| virtual void | Deactivate () |
| Deactivate the tracker. More... | |
| virtual void | Detect (int cameraId, Aruco.Dictionary dictionary) |
| Detect the ArUco objects on the current image of a camera. More... | |
| abstract void | Detect (int cameraId, Aruco.Dictionary dictionary, Cv.Mat image) |
| Detect the ArUco objects for a camera on an custom image. More... | |
| abstract void | EstimateTransforms (int cameraId, Aruco.Dictionary dictionary) |
| Estimate the gameObject's transform of each detected ArUco object. More... | |
| virtual void | Draw (int cameraId, Aruco.Dictionary dictionary) |
| Draw the detected ArUco objects on the current image of a camera. More... | |
| abstract void | Draw (int cameraId, Aruco.Dictionary dictionary, Cv.Mat image) |
| Draw the detected ArUco objects for a camera on a custom image. More... | |
| abstract void | Place (int cameraId, Aruco.Dictionary dictionary) |
| Place and orient the detected ArUco objects relative to a camera. More... | |
Protected Member Functions | |
| virtual void | ArucoObjectsController_DictionaryAdded (Aruco.Dictionary dictionary) |
| Update the properties when a new dictionary is added. More... | |
| virtual void | ArucoObjectsController_DictionaryRemoved (Aruco.Dictionary dictionary) |
| Update the properties when a dictionary is removed. More... | |
| void | PlaceArucoObject (ArucoObject arucoObject, Cv.Vec3d rvec, Cv.Vec3d tvec, int cameraId, float positionFactor=1f) |
| Update the gameObject's transform of an ArUco object. More... | |
Protected Attributes | |
| ArucoTracker | arucoTracker |
| CameraParameters | cameraParameters |
Properties | |
| bool | IsActivated [get, protected set] |
| Is the tracker configured and activated? More... | |
Base for detecting and estimating the transform of an ArUco object.
|
inlinevirtual |
Configure and activate the tracker.
Reimplemented in ArucoUnity.Controllers.ObjectTrackers.ArucoMarkerTracker, and ArucoUnity.Controllers.ObjectTrackers.ArucoDiamondTracker.
|
inlineprotectedvirtual |
Update the properties when a new dictionary is added.
| dictionary | The new dictionary. |
Reimplemented in ArucoUnity.Controllers.ObjectTrackers.ArucoMarkerTracker, and ArucoUnity.Controllers.ObjectTrackers.ArucoDiamondTracker.
|
inlineprotectedvirtual |
Update the properties when a dictionary is removed.
| dictionary | The removed dictionary. |
Reimplemented in ArucoUnity.Controllers.ObjectTrackers.ArucoMarkerTracker, and ArucoUnity.Controllers.ObjectTrackers.ArucoDiamondTracker.
|
inlinevirtual |
Deactivate the tracker.
Reimplemented in ArucoUnity.Controllers.ObjectTrackers.ArucoMarkerTracker, and ArucoUnity.Controllers.ObjectTrackers.ArucoDiamondTracker.
|
inlinevirtual |
Detect the ArUco objects on the current image of a camera.
| cameraId | The id of the camera to use. |
| dictionary | The dictionary to use for the detection. |
|
pure virtual |
Detect the ArUco objects for a camera on an custom image.
| cameraId | The id of the camera. |
| dictionary | The dictionary to use for the detection. |
| dictionary | The image to use for the detection. |
Implemented in ArucoUnity.Controllers.ObjectTrackers.ArucoMarkerTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoDiamondTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoCharucoBoardTracker, and ArucoUnity.Controllers.ObjectTrackers.ArucoGridBoardTracker.
|
inlinevirtual |
Draw the detected ArUco objects on the current image of a camera.
| cameraId | The id of the camera to use. |
| dictionary | The dictionary to use. |
|
pure virtual |
Draw the detected ArUco objects for a camera on a custom image.
| cameraId | The id of the camera to use. |
| dictionary | The dictionary to use. |
| image | Draw on this image. |
Implemented in ArucoUnity.Controllers.ObjectTrackers.ArucoMarkerTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoDiamondTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoCharucoBoardTracker, and ArucoUnity.Controllers.ObjectTrackers.ArucoGridBoardTracker.
|
pure virtual |
Estimate the gameObject's transform of each detected ArUco object.
| cameraId | The id of the camera to use. |
| dictionary | The dictionary to use. |
Implemented in ArucoUnity.Controllers.ObjectTrackers.ArucoMarkerTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoDiamondTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoCharucoBoardTracker, and ArucoUnity.Controllers.ObjectTrackers.ArucoGridBoardTracker.
|
pure virtual |
Place and orient the detected ArUco objects relative to a camera.
| cameraId | The id of the camera to use. |
| dictionary | The dictionary to use. |
Implemented in ArucoUnity.Controllers.ObjectTrackers.ArucoMarkerTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoDiamondTracker, ArucoUnity.Controllers.ObjectTrackers.ArucoCharucoBoardTracker, and ArucoUnity.Controllers.ObjectTrackers.ArucoGridBoardTracker.
|
inlineprotected |
Update the gameObject's transform of an ArUco object.
| arucoObject | The ArUco object to place. |
| rvec | The estimated rotation vector of the ArUco object. |
| tvec | The estimated translation vector of the ArUco object. |
| cameraId | The id of the camera to use. The gameObject is placed and oriented relative to this camera. |
| positionFactor | Factor on the position vector. |
|
protected |
|
protected |
|
getprotected set |
Is the tracker configured and activated?


4.9. Regular Expression Functions
All of the regular expression functions use the Java pattern syntax.
- regexp_extract(string, pattern) → varchar
Returns the first substring matched by the regular expression pattern in string.
- regexp_extract(string, pattern, group) → varchar
Finds the first occurrence of the regular expression pattern in string and returns the capturing group number group.
- regexp_like(string, pattern) → boolean
Evaluates the regular expression pattern and determines if it is contained within string.
This function is similar to the LIKE operator, expect that the pattern only needs to be contained within string, rather than needing to match all of string. In other words, this performs a contains operation rather than a match operation. You can match the entire string by anchoring the pattern using ^ and $.
- regexp_replace(string, pattern) → varchar
Removes every instance of the substring matched by the regular expression pattern from string.
- regexp_replace(string, pattern, replacement) → varchar
Replaces every instance of the substring matched by the regular expression pattern in string with replacement. Capturing groups can be referenced in replacement using $g for a numbered group or ${name} for a named group. A dollar sign ($) may be included in the replacement by escaping it with a backslash (\$).


UTC +1, summer time UTC +2 April to September.
Voltage: 230 V
Frequency: 50 Hz
Traditional Spanish hours are 1000-1400 and 1600 to 2000. Large outlets tend to stay open until later and only large retail outlets open on a Sunday. Bars are open all day, there are no alcohol sale time restrictions. Restaurants open for lunch and dinner, the latter normally not before 2030.
Spain's currency is the Euro.
Banks and cash machines are numerous.
Note You are required to carry some form of photo ID with you at all times in Spain and will be asked for it in shops and restaurants etc. when making payment with a credit card.
International dialing code for Spain is +34.
Post: Every town will have a post office. Stamps are sold here and also at outlets called "Estancos" (old tabac dispensing shops).
Mobile Telephones: Many choices exist for mobile phone service in Spain. Spanish mobile phone service operates on a GSM network although roaming charges may apply. Buying and installing a Spanish SIM card in the phone (and therefore obtaining a Spanish mobile phone number) is a less-expensive option. Phones from North America that operate on the CDMA system will not work in Spain.
Internet: Internet cafes, many marinas have internet access and more and more are offering WiFi. Accessing through your mobile can be a problem as the mobile phone providers will demand a Spanish bank from which to Direct Debit. Roaming charges will be high.
The Coastguards in Spain speak English and respond both to telephone and VHF calls. The lifeboats however are contracted from private firms, so rescue will involve a charge, generally calculated as cost per hour. Life rescue is of course free and immediately put in action in case of emergency.
Pan-European emergency - Dial 112
Ambulance Service (Ambulancia) - Dial 061
National Police (Policía Nacional) - Dial 091
Local Police (Policía Municipal) - Dial 092
Fire Service (Bomberos) - Dial 080
Medical emergencies on the Costa Blanca - Dial 085
IMRAY AND ADLARD COLES PILOT BOOKS are available at a discounted price for Noonsite.com users via World Cruising Club
Mediterranean Almanac 2015/16
By Lucinda Heikell with Rod Heikell
Published by Imray (December 2014)
2016 supplement available from Imray
ISBN -<PHONE_NUMBER>986
Price - £29.50
See this Noonsite review.
Mediterranean Spain - Costas del Azahar Dorada and Brava
Cabo de la Nao to the French Border
By RCCPF / John Marchment
Publisher Imray: ISBN<PHONE_NUMBER>149
Edition 6th - 2012
Price: £35.00
The only detailed pilot for the northern part of the Spanish Mediterranean coast running up to the border with France.
Mediterranean Spain - Costas del Sol and Blanca
Strait of Gibraltar to Denia
By RCCPF / Graham Hutt
Publisher Imray: ISBN<PHONE_NUMBER>269
Edition 7th - 2014
Price: £32.50
This new edition of the RCC PF's well known guide to the long Spanish Mediterranean coast between Gibraltar and Denia has been compiled by Graham Hutt who suceeds John Marchment as editor. This is an important pilot for yachts coming to and from Northwest Europe and the Atlantic from the Balearic Islands and more distant parts of the Mediterranean.
Islas Baleares
By RCCPF / Graham Hutt
Publisher Imray - 10th Edition 2015
ISBN<PHONE_NUMBER>457
Price: £32.50
This is the only fully comprehensive pilot guide in English to Spain's Balearic Islands. This tenth edition of Islas Baleares - Ibiza, Formentera, Mallorca, Cabrera and Menorca - has been thoroughly revised for the RCC Pilotage Foundation by Graham Hutt who has visited the islands during 2014.
Islas Baleares Harbour Guides
Published 2008 by author Paul Norkett
Provided free for noonsite users by Paul Norkett, a retired academic living and sailing in Spain. Sailing and racing all his life he put together a series of Med. harbour guides books covering over 500 harbours from Portugal to France.
Atlantic Spain and Portugal
7th Edition published July 2015
Author: Henry Buchanan
Published by Imray
See Noonsite Review
The Adlard Coles Book of Mediterranean Cruising
By Rod Heikell
Publisher: Adlard Coles - 3rd Edition (2012)
ISBN:<PHONE_NUMBER>836
Price: £17.99
Rod Heikell is the acknowledged expert on Mediterranean sailing, and this is the perfect guide for anyone cruising the area.
Cruising Galicia
The Rias and Harbours of North West Spain from Ribadeo to A Guarda
By Carlos Rojas and Robert Bailey
Publisher: Imray - 1st Edition (2008)
ISBN:<PHONE_NUMBER>417
Price: £32.50
The authors have spent several seasons cruising in the area and making use of their local connections have produced a modern guide that provides in-depth information necessary for yachts spending time visiting the rias and ports of Galicia.
Balearics marina/port information and bookings
Ports de les Illes Balears.
Andalusian marina/port information
http://www.eppa.es/en/andalusian-ports
Rod Heikell - Mediterraneo
http://www.mediterraneansailing.info/rodheikell.htm
Information on cruising in Spain, France, Italy, Greece, Turkey and the rest of the Mediterranean.
JimBSail Information for the Mediterranean
www.jimbsail.info/drupal/mediterranean/west-med/south-med-spain
A useful site for sailing information for Mediterranean Spain
Jimbsail information for The Balearics
http://www.kotare.net/
2012: Alex Moreton and his wife are currently on a 3 year voyage around the Med and are putting together a very detailed cruising guide on places visited, free on their website. Their section on the Balearics is very comprehensive.
Official government site (in Spanish).
www.mallorcaonline.com
Useful site with information on bays, anchorages and yacht clubs in Mallorca.
BITA Mooring Swap - http://www.bitamooring.com/
Moorings available Spain-wide to swap or to use for free. Registration necessary.
Noonsite welcomes information and updates especially regarding clearance, customs and immigration procedures from cruisers visiting this country.
Please E-mail noonsite with any new information, updates or corrections. Even just a short email confirming that the current data is accurate would be most helpful.


| | |
- name_for_number(numobj, lang, script=None, region=None)
- Returns a carrier name for the given PhoneNumber object, in the
language provided.
The carrier name is the one the number was originally allocated to,
however if the country supports mobile number portability the number might
not belong to the returned carrier anymore. If no mapping is found an
empty string is returned.
This function explicitly checks the validity of the number passed in
Arguments:
numobj -- The PhoneNumber object for which we want to get a carrier name.
lang -- A 2-letter lowercase ISO 639-1 language code for the language in
which the description should be returned (e.g. "en")
script -- A 4-letter titlecase (first letter uppercase, rest lowercase)
ISO script code as defined in ISO 15924, separated by an
underscore (e.g. "Hant")
region -- A 2-letter uppercase ISO 3166-1 country code (e.g. "GB")
Returns a carrier name in the given language code, for the given phone
number, or an empty string if no description is available.
- name_for_valid_number(numobj, lang, script=None, region=None)
- Returns a carrier name for the given PhoneNumber object, in the
language provided.
The carrier name is the one the number was originally allocated to,
however if the country supports mobile number portability the number might
not belong to the returned carrier anymore. If no mapping is found an
empty string is returned.
This method assumes the validity of the number passed in has already been
checked, and that the number is suitable for carrier lookup. We consider
mobile and pager numbers possible candidates for carrier lookup.
Arguments:
numobj -- The PhoneNumber object for which we want to get a carrier name.
lang -- A 2-letter lowercase ISO 639-1 language code for the language in
which the description should be returned (e.g. "en")
script -- A 4-letter titlecase (first letter uppercase, rest lowercase)
ISO script code as defined in ISO 15924, separated by an
underscore (e.g. "Hant")
region -- A 2-letter uppercase ISO 3166-1 country code (e.g. "GB")
Returns a carrier name in the given language code, for the given phone
number, or an empty string if no description is available.
- safe_display_name(numobj, lang, script=None, region=None)
- Gets the name of the carrier for the given PhoneNumber object only when
it is 'safe' to display to users. A carrier name is onsidered safe if the
number is valid and for a region that doesn't support mobile number
portability (http://en.wikipedia.org/wiki/Mobile_number_portability).
This function explicitly checks the validity of the number passed in
Arguments:
numobj -- The PhoneNumber object for which we want to get a carrier name.
lang -- A 2-letter lowercase ISO 639-1 language code for the language in
which the description should be returned (e.g. "en")
script -- A 4-letter titlecase (first letter uppercase, rest lowercase)
ISO script code as defined in ISO 15924, separated by an
underscore (e.g. "Hant")
region -- A 2-letter uppercase ISO 3166-1 country code (e.g. "GB")
Returns a carrier name that is safe to display to users, or the empty string.
|


--- title: Geo-locate Emails tags: meta: abstract: I would just like to share a trick that has been very useful to me in past few years, especially for superficially scrutinizing cyber-strangers. There is much software out there that will allow you to geo-locate the incoming mails and thereby making this task much easier to perform. For those who want to use this information only casually, the following is the simple procedure. thumbnail: date: 2006-09-26 ---
I would just like to share a trick that has been very useful to me in past few years, especially for superficially scrutinizing cyber-strangers. There is much software out there that will allow you to geo-locate the incoming mails and thereby making this task much easier to perform. For those who want to use this information only casually, the following is the simple procedure.
How it works:
Geo-location is not a very complex process superficially and it consists of two basic steps.
Let's start:
First you need to get the headers of the mail. These headers are usually hidden by almost all the mail reading applications whether it is web-based or a desktop application.
To get the headers:
Here I will be explaining these only for the web-based mail applications like Yahoo and GMail.
All mails have similar headers, except the way that they are shown. Here I would be taking an example of a mail received in GMail account. It shows the original mail in a simple text-only format
Searching the sender’s IP
The following is the header as shown in the text format.
Fig 1 - Image highlighting the headers
The header is highlighted inside a green box. This header has many fields. Even I do not understand all of those. What is important to us is the “Received field”. Basically our first step is to find out the IP address of the sender. Therefore we just need to the see the Headers saying, “Received From”.
As you can see in the image, there are two such “received from” lines. Which one is correct? Actually both are correct. This mail was sent from a Yahoo mail account to a GMail account. It has been received two times. First the sender sent it to the Yahoo Mail Service and then it was sent from the Yahoo Mail service to the GMail service. Well, this is the same as the postal service applying their stamps at different places when the paper mails are routed to the destination.
But we are interested in the originating IP address only. And that is the IP address from where the yahoo service received the mail. Here it is “<IP_ADDRESS>” as underlined in the image.
Note: Take the IP from the last “Received From” header and use that IP for geo-location as explained in steps further. If that IP gives some kind of error while geo-locating use the IP from the second last “Received from” header and so on. But then any IP other than last one may not give completely correct results.
Display of mail headers may differ slightly in different services. A bit of search within the header can lead you to the correct IP address. (This again only if the application allows display of such data).
So we have completed the first step. Now we need to geo-locate the IP to its destination.


Canvas factory
Scrawl-canvas mediates between its system and <canvas> elements in the DOM using Canvas wrapper objects. The wrapper includes a handle to the visible element, but most work is done on a second <canvas> element - the base Cell - which is not part of the DOM, thus excluded from a browser’s Document interface (including events).
The Canvas factory is not used directly; the factory is not exported as part of the scrawl object during Scrawl-canvas initialization. Instead, wrappers can be created for DOM-based <canvas> elements using the following scrawl functions:
scrawl.getCanvas
- locates a <canvas> element in the DOM and creates a wrapper for it.
scrawl.addCanvas
- generates a new <canvas> element, creates a wrapper for it, then adds it to the DOM.
During initialization Scrawl-canvas will search the DOM tree and automatically create Canvas wrappers for all the <canvas> elements it discovers. The first <canvas> element discovered becomes the current canvas; all entitys created without a specified group
attribute will be assigned to that element’s wrapper’s base Cell’s Group object. We can change the current canvas by invoking the scrawl.setCurrentCanvas
function.
A canvas wrapper can include more than one Cell object. It will always include a base Cell object; additional Cells can be treated as cell layers and/or normal artefacts contributing to the final display.
During their creation, Canvas wrappers will directly modify the DOM, adding <div> and <nav> elements to it. These new elements are used as holds where the Canvas will store data and text, mainly to expose <a> links and <p> blocks which expose scene details to assistive technologies (accessibility). These additional elements have zero dimensions and should not affect the layout or painting of the rest of the web page.
Canvas wrapper objects use the base, position, dom and anchor mixins. Thus Canvas wrappers are also artefact objects: if a <canvas> element is a direct child of a Stack wrapper’s element then it can be positioned, dimensioned and rotated like any other artefact.
By default, all Canvas wrappers will track mouse/touch movements across their <canvas> elements, supplying this data to constituent Cell objects and artefacts as-and-when-required.
Canvas wrappers are used by Scrawl-canvas to invoke the Display cycle cascade. As such, they include clear
, compile
, show
and render
functions to manage the Display cycle. These functions are asynchronous, returning Promises.
Canvas wrappers are excluded from the Scrawl-canvas packet system; they cannot be saved or cloned. Killing a Canvas wrapper will remove its <canvas> element from the DOM, alongside the additional elements added to the DOM during Canvas creation.


--- layout: help title: Meld - Help ---
The name of the command to run to open text files in an external editor. This may be just the command (e.g., gedit) in which case the file to be opened will be passed as the last argument. Alternatively, you can add {file} and {line} elements to the command, in which case Meld will substitute the file path and current line number respectively (e.g., gedit {file}:{line}).
When comparing files in folder comparison mode, text filters and other text manipulation options can be applied to the contents of files. If this option is enabled, all currently enabled text filters will be applied, the blank line trimming option will be applied as appropriate, and differences in line endings will be ignored.
Enabling this option means that Meld must fully read all non-binary files into memory during the folder comparison. With large text files, this can be slow and may cause memory issues.
This option only has an effect if "Compare files based only on size and timestamp" is not enabled.


Click the toggle next to the repository to reveal a check mark. This will add the role to Galaxy, making it visible on the Browse Roles page and allowing anyone to download it. Removing the check mark will delete the role from Galaxy. Use settings to enable Travis notifications and control the role name.
If you don't see all of your roles, review and add your authorized organizations.


--- layout: post title: More Lines comments: true ---
I do tend to love doing variations on a theme in Processing.
Click to reset!
Click "Read more" to see the Processing code.
{% highlight java %} int num = 120; aLine[] lines = new aLine[num]; void setup(){ size(500,360); fill(255); for (int i=0; i


Simple Interest Calculator
Amount
Interest Rate 10.25%
No. of Years
Interest Rate 10.25%
No. of Years


The physics simulation notifies observers (as per the observer design pattern) at
each time step, allowing code to potentially be run at every physics step.
Utility class allowing the physics-engine specific representation of a quaternion
generated by the physics engine to be stored at the abstract model level of the
software.
A helper class for physics simulations, containing various utility methods that can
be applied to the PhysicsSimulation object associated with this helper.
Utility class allowing the physics-engine specific representation of a vector
generated by the physics engine to be stored at the abstract model level of the
software.


| Interface | Description |
|---|---|
| ImageTransform |
Transforms an image in some way, either deterministically or randomly.
|
| Class | Description |
|---|---|
| BaseImageTransform<F> |
Implements the ImageTransform interface by providing its subclasses
with a random object to use in the case of random transformations.
|
| BoxImageTransform |
Boxes images to a given width and height without changing their aspect ratios,
or the size of the objects, by either padding or cropping them from the center.
|
| ColorConversionTransform |
Color conversion transform using CVT (cvtcolor):
CVT Color.
|
| CropImageTransform |
Crops images deterministically or randomly.
|
| EqualizeHistTransform |
"Histogram Equalization equalizes the intensity distribution of an image or flattens the intensity distribution curve.
|
| FilterImageTransform |
Filters images using FFmpeg (libavfilter):
FFmpeg Filters Documentation.
|
| FlipImageTransform |
Flips images deterministically or randomly.
|
| ImageTransformProcess |
Created by kepricon on 17. 5. 23.
|
| ImageTransformProcess.Builder |
Builder class for constructing a ImageTransformProcess
|
| LargestBlobCropTransform |
crop images based on it's largest blob.
|
| MultiImageTransform |
Transforms images deterministically or randomly with the help of an array of ImageTransform
|
| PipelineImageTransform |
Allows creation of image transform pipelines, either sequentially or randomly.
|
| PipelineImageTransform.Builder |
Optional builder helper for PipelineImageTransform
|
| RandomCropTransform |
Randomly crops an image to a desired output size.
|
| ResizeImageTransform |
ResizeImageTransform is suited to force the same image size for whole pipeline
and it doesn't use any random factor for width and height.
|
| RotateImageTransform |
Rotates and scales images deterministically or randomly.
|
| ScaleImageTransform |
ScaleImageTransform is aim to scale by a certain random factor,
not the final size of the image.
|
| ShowImageTransform |
Shows images on the screen, does not actually transform them.
|
| WarpImageTransform |
Warps the perspective of images deterministically or randomly.
|
Copyright © 2020. All rights reserved.


This page uses a small (40K) non-visual control which provides access
to a phone book which also might run on a remote computer. This ActiveX
control has been implemented with the DTC Component Pascal compiler.
Enter a name or a phone number and press the corresponding button:


In order to play faster Sudoku you can train the recognition of the missing numbers in a line or in a quadrant.


DATE_CMP Function
DATE_CMP compares two dates. The function returns 0
if the dates are
identical, 1
if date1 is greater, and -1
if
date2 is greater.
Syntax
DATE_CMP(date1, date2)
Arguments
- date1
-
A date column or an expression that implicitly converts to a date.
- date2
-
A date column or an expression that implicitly converts to a date.
Return Type
INTEGER
Example
The following query compares the CALDATE column to the date January 4, 2008 and
returns whether the value in CALDATE is before (-1
), equal to
(0
), or after (1
) January 4, 2008:
select caldate, '2008-01-04', date_cmp(caldate,'2008-01-04') from date order by dateid limit 10; caldate | ?column? | date_cmp -----------+------------+---------- 2008-01-01 | 2008-01-04 | -1 2008-01-02 | 2008-01-04 | -1 2008-01-03 | 2008-01-04 | -1 2008-01-04 | 2008-01-04 | 0 2008-01-05 | 2008-01-04 | 1 2008-01-06 | 2008-01-04 | 1 2008-01-07 | 2008-01-04 | 1 2008-01-08 | 2008-01-04 | 1 2008-01-09 | 2008-01-04 | 1 2008-01-10 | 2008-01-04 | 1 (10 rows)


Thanks for your order!
You will receive an email shortly with your confirmation number and estimated delivery day! Have a happy holiday season!
You will receive an email shortly with your confirmation number and estimated delivery day! Have a happy holiday season!


So a character wants to distinguish himself from the rest of the pack. Catch Phrases are always a good way, since you don't need to see them in order to know who they are. But a single catch phrase is so boring.
The answer: just add a specific prefix/suffix onto words.
In some cases, these characters will create new words with new meanings this way, but more often than not they're just the same word with that prefix/suffix tacked on, and no definition changes. Sometimes, also, other characters may start using these words as well, turning them into, in a manner, Borrowed Catchphrases or Share Phrases.
The ultimate of this trope is, unsurprisingly, McDonald's, who use their 'Mc' prefix on almost everything they sell. In their case, not only have their words made the general vernacular, but also their naming habits, as The Other Wiki has proved.
A subtrope of Catch Phrase. If used often enough, Hyperaffixation may become involuntary, ultimately turning into a Verbal Tic.
See also To The Bat Noun.
Examples:
- In the Big Finish Doctor Who drama Spare Parts, generally regarded as the definitive Cybermen origin story, it's revealed that the name of the Cybermen comes from the Mondasian cultural practice of adding "man" as a suffix to any designation of a person, eg "Doctorman", "Sisterman", etc.
- Campier installments of the Batman franchise tend to prefix "bat" onto anything having to do with Batman. Examples are the phrase "same bat time, same bat channel", and the bat credit card.
- Isaac Asimov and Janet Asimov's Norby and the Court Jester: The planet Izz has the Izzcapital, of Izzcontinent, has nationwide entertainment created at Izzbroadcasting. The royal family has a court of advisors, the Izzcouncil, that meet in the Izzhall. At the end of the novel, the royal family proposes to turn Izzcouncil into an Izzparliament.
- Doctor Who:
- The Cybermen are notorious and sometimes mocked for using "Cyber" as a prefix for absolutely everything they make or use in the style of Space "X", such as arming themselves with Cyberguns and Cyberbombs and travelling in a Cyberfleet.
- In "Utopia", we meet Chantho, an insectoid alien who begins her every sentence with "chan-" and ends it with "-tho". She can choose not to do it, but it's implied that it's her race's equivalent of swearing like a sailor.
- Grey's Anatomy gave some of its doctors nicknames starting with "Mc" (as well as a few parodic ones), most prominently McDreamy and McSteamy.
- Happy Days: Fonzie sometimes uses the suffix "-amundo" for emphasis: correctamundo, exactamundo, etc. When he was a Rogue Juror he even voted "not guiltyamundo."
- Kenan & Kel: Throughout most of the first season, and some of the second, Chris had the habit of adding an extra prefix to his preterites, usually a "be" or "buh" sound, such as:
"Kel, you be-bruised my bananas!"
"How could you buh-lose a lottery ticket?" - Blaine of Project Runway season 5 liked to add "-licious" to words.
- Saturday Night Live: Adam Sandler's Opera Man from the early 1990s would sing his commentary in an exaggerated Italian accent by adding "a" or "o" to the end of many of his words. (An example (from Wikipedia): About the LA Riots - "La Chiefa Policia, no dispatcha gendarme/ morono, no respondo/ no excusa, bagga doucha!")
- Snoop Dogg attaches '-izzle' to a lot of his words, although a fair bit of those words have half of them removed, e.g. "fo' shizzle" for "for sure".
- In Dawn of a New Age: Oldport Blues, posts that take place in Hyeon's car refer to it as the Hyeonmobile, in loving reference to the iconic Batmobile.
- In Dwarf Fortress forums, it's fairly common for players to refer to their dwarves as "Urist Mc(adjective or profession)". As in "Urist McMiner", "Urist McSpeardwarf", or "Urist McCannonfodder".
- Final Fantasy X-2: According to Rikku's brother, Brother, she has a habit of doing this with Spiran words, and even chides her for it. Most notably, her inclusion of "iffic" to the word "disaster"; resulting in "disasteriffic".
- The King of Fighters: Yuri Sakazaki has a habit of ending nearly all of her sentences, and certain words, with "-tchi". It was originally a schtick devised by her voice actress, Kaori Horie, which stuck and has since become a regular part of her character's speech pattern.
- In Captain N: The Game Master, Kid Icarus (who should have been named Pit) tended to tack "-icus" on the end of words.
- Due to the fact that he often speaks with a slight Speech Impediment (like that of a 5-year-old), Mr. Bogus will often use the word "mondo" before adding the letter 'o' at the end of a word used after it in his sentences: "Mondo coolo", "Mondo safe-o", etc.
- The Simpsons has two, by two different characters:
- Homeric ma-infixation is an interesting application of this in that the particle "-ma-" is an infix (it is put in the middle of a word), producing words like saxomaphone and babamabushka. Homer, as you can guess, uses it a lot.
- Ned Flanders also adds "-diddly" to a few of his words.
- Total Drama Season 4: Revenge of the Island had Lightning, whose big thing was words starting with "Sha-" (including Shazam).
- Similar to the Homer Simpson example, Yogi Bear frequently calls picnic baskets "pic-a-nic baskets".
- McDonald's is the Trope Codifier for this, with their menu of 'Mc' foods. Soon everyone started doing it, although it is seldom a compliment (e.g. 'McMansion' for a cheaply-made, soul-crushingly uniform house).
- Moscow on the Hudson character Vladimir does this when he works at McDonald's, to the point of making the parting statement to some customers, "Come back McSoon."
- Apple Computer's habit of putting an "i" in front of every new product is parodied enough to be its own trope.


943_GT2019.py
class Solution:
def minCharacters(self, a: str, b: str) -> int:
countera = [0] * 26
counterb = [0] * 26
for c in a:
countera[ord(c) - ord('a')] += 1
for c in b:
counterb[ord(c) - ord('a')] += 1
suma = len(a)
sumb = len(b)
changes = math.inf
psum_countera = [0] * 26
psum_counterb = [0] * 26
for i in range(1, 26):
# use i as the split of a and b
psum_countera[i] = psum_countera[i-1] + countera[i-1]
psum_counterb[i] = psum_counterb[i-1] + counterb[i-1]
# < i goes to a
changes = min(changes, suma - psum_countera[i] + psum_counterb[i])
# < i goes to b
changes = min(changes, sumb - psum_counterb[i] + psum_countera[i])
# all change to i
changes = min(changes, suma - countera[i] + sumb - counterb[i])
return changes


Hello world!
This is a very simple web app that just prints out "Hello world!" to the browser.
httpd.conf setup:
AddHandler lua-script .lua
index.lua:
function handle(r) r.content_type = "text/html" -- set the output to text/html r:puts("Hello world!") return apache2.OK end
If you are all about speed and don't care much for what httpd gets to do (especially if you don't even need anything in your access log), you can set this script up as a Quick Handler, and bypass everything that httpd does, for maximum speed:
httpd.conf setup:
LuaQuickHandler /var/www/index.lua quick_handler
index.lua:
function quick_handler(r) if r.uri == "/" then r.content_type = "text/html" -- set the output to text/html r:puts("Hello world!") return apache2.DONE -- we're DONE - skip logging and all the rest httpd does, for MAXIMUM SPEEEED end return apache2.DECLINED end


If your headless, or remote, server is visible over the Internet, you should use public key authentication instead of passwords, if at all possible; because SSH keys provide a more secure way of logging in – compared to using a password alone. While a password can eventually be cracked with a brute-force attack, SSH keys are nearly impossible to decipher by brute force, alone. With public key authentication, every computer has (i) a public and (ii) a private “key” (two mathematically-linked algorithms that are effectively impossible to crack).
Today, OpenSSH is the default SSH implementaion on Unix-like systems such as Linux and OS X. Key-based authentication is the most secure of several modes of authentication usable with OpenSSH, such as plain passwords and Kerberos tickets. Other authentication methods are only used in very specific situations. SSH can use either “RSA” (Rivest-Shamir-Adleman) or “DSA” (“Digital Signature Algorithm”) keys. Both of these were considered state-of-the-art algorithms when SSH was invented, but DSA has come to be seen as less secure in recent years. RSA is the only recommended choice for new keys, so this tutorial uses “RSA key” and “SSH key” interchangeably.
When you log in to your DigitalOcean droplet, the SSH server uses the public key to “lock” messages in a way that can only be “unlocked” by your private key – this means that even the most resourceful attacker cannot snoop on, or interfere with, your session. As an extra security measure, some users and most SSH programs store the private key in a passphrase-protected format, to provide a window of time in which you can disable your compromised public key, should your computer be stolen or broken in to. For these reasons, public key authentication is a much better solution than passwords for most people. In fact, by not employing a passphrase on your private key, you will have the ability to automate parts of your configuration management with secure, automatic log-ins – such as incremental, off-site backups; managing your DigitalOcean assets via the DigitalOcean API; and more.
You can save the same public key on as many servers as you’d like, while your private key is saved on a client from which you log in to the server. Then, you can disable the normal username/ password login procedure, which means that only people with a valid private/ public key pair can log in; making your system more secure, because it will be impervious to brute-force attacks.
Another useful purpose that SSH keys can serve is in the creation of DigitalOcean droplets. As you know, when you spin up a droplet, you have to wait for an e-mail with your password. Although this email is very convenient, there is a more secure (and faster) way of gaining access to your new cloud server without the need for email. This can be done by saving your public key in the DigitalOcean Control Panel. To accomplish this,
This tutorial assumes that you are familiar with DigitalOcean’s guide on How to Log Into Your Droplet with PuTTY (for windows users).
While PuTTY is a client program for SSH (in addition to Telnet and Rlogin), it is not a port of or otherwise based on OpenSSH. Consequently, PuTTY does not have native support for reading OpenSSH’s SSH-2 private key files. However, PuTTY does have a companion named PuTTYgen (an RSA and DSA key generation utility), that can convert OpenSSH private key files into PuTTY’s format; allowing you to connect to your cloud server from a Windows machine, with the added security that SSH keys provide.
PuTTYgen is a (free) open-source utility and can be downloaded from the maintainer’s website. PuTTYgen is what you will use to generate your SSH keys for use in PuTTY. To start, all you need to do is download the exectuable files (.exe
) and save them on the computer that you’ll use to connect to your server, e.g. on the desktop. You will not need to “install” PuTTYgen, because it is a standalone application.
To generate a set of RSA keys with PuTTYgen:
.exe
file;Type of key to generate
, select SSH-2 RSA
;Number of bits in a generated key
field, specify either 2048
or 4096
(increasing the bits makes it harder to crack the key by brute-force methods);Generate
button;Key
section, below the progress bar (to generate some randomness) until the progress bar is full;Key comment
field, enter any comment you’d like, to help you identify this key pair, later (e.g. your e-mail address; home; office; etc.) – the key comment is particularly useful in the event you end up creating more than one key pair;Key passphrase
field & re-type the same passphrase in the Confirm passphrase
field (if you would like to use your keys for automated processes, however, you should not create a passphrase);Save public key
button & choose whatever filename you’d like (some users create a folder in their computer named my_keys);Save private key
button & choose whatever filename you’d like (you can save it in the same location as the public key, but it should be a location that only you can access and that you will NOT lose! If you lose your keys and have disabled username/ password logins, you will no longer be able log in!);Public key for pasting into OpenSSH authorized_keys file
and choose Select All
;Copy
.NOTE: PuTTY and OpenSSH use different formats for public SSH keys. If the SSH Key you copied starts with “—- BEGIN SSH2 PUBLIC KEY …”
, it is in the wrong format. Be sure to follow the instructions carefully. Your key should start with
ssh-rsa AAAA ...
Now, you need to paste the copied public key in the file ~/.ssh/authorized_keys
on your server.
If your SSH folder does not yet exist, create it manually:
#### Ubuntu
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
#### CentOS
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
~/.ssh/authorized_keys
file ( see Installing and Using the Vim Text Editor on an Cloud Server | DigitalOcean):
sudo vim ~/.ssh/authorized_keys
i
key on your keyboard & right-click your mouse to paste.To save, tap the following keys on your keyboard (in this order): Esc
, :
, w
, q
, Enter
.
Now you can go ahead and log in to<EMAIL_ADDRESS>and you will not be prompted for a password. However, if you had set a passphrase on your public key, you will be asked to enter the passphrase at that time (and every time you log in, in the future).
Once you have verified that your key-based logins are working, you may elect to disable username/ password logins to achieve better security. To do this, you need to edit your SSH server’s configuration file. On Debian/ Ubuntu systems, this file is located at /etc/ssh/sshd_config
.
sudo vim /etc/ssh/sshd_config
Tap the i
key on your keyboard and edit the lines, referenced below:
[...]
PasswordAuthentication no
[...]
UsePAM no
[...]
To save, tap the following keys on your keyboard (in this order): Esc
, :
, w
, q
, Enter
. Now, reload the SSH server’s configuration:
sudo reload ssh
sudo service sshd restart
As always, if you need help with the steps in this How-to, look to the DigitalOcean Community for assistance by posing your question(s), below.
Article Submitted by: Pablo Carranza • Updated 12/19/2013


This is an extract from the comp.sys.sinclair Sinclair ZX Spectrum FAQ v.2.0
(July 3 1994), which is maintained by Marat Fayzullin (fms@freeflight.com).
This section is based on the text contributed by Gerton Lunter, author
of "Z80" Spectrum emulator. I allowed myself to make some changes which
don't change the content.
Features on Z80 CPU
Most Z80 opcodes are one byte long, not counting a possible byte or
word operand. The four opcodes CB, DD, ED and FD are shift opcodes: they
change the meaning of the opcode following them.
a) CB opcodes:
There are 248 different CB opcodes. The block CB 30 to CB 37 is missing
from the official list. These instructions, usually denoted by the mnemonic
SLL, Shift Left Logical, shift left the operand and make bit 0 always one.
These instructions are quite commonly used. For example, Bounder and Enduro
Racer use them.
b) DD and FD opcodes:
The DD and FD opcodes precede instructions using the IX and IY registers.
If you look at the instructions carefully, you see how they work:
2A nn LD HL,(nn)
DD 2A nn LD IX,(nn)
7E LD A,(HL)
DD 7E d LD A,(IX+d)
A DD opcode simply changes the meaning of HL in the next instruction. If a
memory byte is addressed indirectly via HL, as in the second example, a
displacement byte is added. Otherwise the instruction simply acts on IX
instead of HL (A notational awkwardness, that will only bother assembler
and disassembler writers: JP (HL) is not indirect; it should have been
denoted by JP HL). If a DD opcode precedes an instruction that doesn't use
the HL register pair at all, the instruction is executed as usual. However,
if the instruction uses the H or L register, it will now use the high or
low halves of the IX register! Example:
44 LD B,H
FD 44 LD B,IYh
These types of inofficial instructions are used in very many programs. By the
way, many DD or FD opcodes after each other will effectively be NOPs, doing
nothing except repeatedly setting the flag "treat HL as IX" (or IY) and taking
up 4 T states (But try to let MONS disassemble such a block.).
c) ED opcodes:
There are a number of inofficial ED instructions, but none of them are very
useful. The ED opcodes in the range 00-3F and 80-FF (except for the block
instructions of course) do nothing at all but taking up 8 T states and
incrementing the R register by 2. Most of the unlisted opcodes in the range
40-7F do have an effect, however. The complete list: (* = not official)
ED40 IN B,(C) ED60 IN H,(C)
ED41 OUT (C),B ED61 OUT (C),H
ED42 SBC HL,BC ED62 SBC HL,HL
ED43 LD (nn),BC ED63 LD (nn),HL
ED44 NEG ED64 * NEG
ED45 RETN ED65 * RET
ED46 IM 0 ED66 * IM 0
ED47 LD I,A ED67 RRD
ED48 IN C,(C) ED68 IN L,(C)
ED49 OUT (C),C ED69 OUT (C),L
ED4A ADC HL,BC ED6A ADC HL,HL
ED4B LD BC,(nn) ED6B LD HL,(nn)
ED4C * NEG ED6C * NEG
ED4D RETI ED6D * RET
ED4E * IM 0/1 ED6E * IM 0/1
ED4F LD R,A ED6F RLD
ED50 IN D,(C) ED70 * IN (C)
ED51 OUT (C),D ED71 * OUT (C),0
ED52 SBC HL,DE ED72 SBC HL,SP
ED53 LD (nn),DE ED73 LD (nn),SP
ED54 * NEG ED74 * NEG
ED55 * RET ED75 * RET
ED56 IM 1 ED76 * IM 1
ED57 LD A,I ED77 * NOP
ED58 IN E,(C) ED78 IN A,(C)
ED59 OUT (C),E ED79 OUT (C),A
ED5A ADC HL,DE ED7A ADC HL,SP
ED5B LD DE,(nn) ED7B LD SP,(nn)
ED5C * NEG ED7C * NEG
ED5D * RET ED7D * RET
ED5E IM 2 ED7E * IM 2
ED5F LD A,R ED7F * NOP
The ED70 instruction reads from port (C), just like the other instructions,
but throws away the result. It does change the flags in the same way as the
other IN instructions, however. The ED71 instruction OUTs a byte zero to port
(C), interestingly. These instructions "should", by regularity of the
instruction set, use (HL) as operand, but since from the processor's point of
view accessing memory or accessing I/O devices is almost the same thing, and
since the Z80 cannot access memory twice in one instruction (disregarding
instruction fetch of course) it can't fetch or store the data byte (A hint in
this direction is that, even though the NOP-synonyms LD B,B, LD C,C etcetera
do exist, LD (HL),(HL) is absent and replaced by the HALT instruction.).
The IM 0/1 instruction puts the processor in either IM 0 or 1, I couldn't
figure out which on my own Spectrum.
d) About the R register:
This is not really an undocumented feature, although I have never seen any
thorough description of it anywhere. The R register is a counter that is
updated every instruction, where DD, FD, ED and CB are to be regarded as
separate instructions. So shifted instruction will increase R by two. There's
an interesting exception: doubly-shifted opcodes, the DDCB and FDCB ones,
increase R by two too. LDI increases R by two, LDIR increases it by 2 times
BC, as does LDDR etcetera. The sequence LD R,A/LD A,R increases A by two,
except for the highest bit: this bit of the R register is never changed. This
is because in the old days everyone used 16 Kbit chips. Inside the chip the
bits where grouped in a 128x128 matrix, needing a 7 bit refresh cycle.
Therefore ZiLOG decided to count only the lowest 7 bits. You can easily check
that the R register is really crucial to memory refresh. Assemble this program:
ORG 32768
DI
LD B,0
L1: XOR A
LD R,A
DEC HL
LD A,H
OR L
JR NZ,L1
DJNZ L1
EI
RET
It will take about three minutes to run. Look at the upper 32K of memory,
for instance the UDG graphics. It will have faded. Only the first few bytes
of each 256 byte block will still contain zeros, because they were refreshed
during the execution of the loop. The ULA took care of the refreshing of the
lower 16K (This example won't work on the emulator, of course!).
e) Undocumented flags:
This undocumented "feature" of Z80 has its effect on programs like Sabre
Wulf, Ghosts'n Goblins and Speedlock. Bits 3 and 5 of the F register are not
used. They can contain information, as you can readily figure out by PUSHing
AF onto the stack and then POPping some it into another pair of registers.
Furthermore, sometimes their values change. I found the following empirical
rule:
The values of bits 7, 5 and 3 follow the values of the corresponding
bits of the last 8 bit result of an instruction that changed the usual
flags.
For instance, after an ADD A,B those bits will be identical to the bits of
the A register (Bit 7 of F is the sign flag, and fits the rule exactly). An
exception is the CP x instruction (x=register, (HL) or direct argument). In
this case the bits are copied from the argument.
If the instruction is one that operates on a 16 bit word, the 8 bits of the
rule are the highest 8 bits of the 16 bit result - that was to be expected
since the S flag is extracted from bit 15.
Ghosts'n Goblins use the undocumented flag due to a programming error. The
rhino in Sabre Wulf walks backward or keeps running in little circles in a
corner, if the (in this case undocumented) behaviour of the sign flag in the
BIT instruction isn't right. I quote:
AD86 DD CB 06 7E BIT 7,(IX+6)
AD8A F2 8F AD JP P,#AD8F
An amazing piece of code! Speedlock does so many weird things that all must
be exactly right for it to run. Finally, the '128 ROM uses the AF register to
hold the return address of a subroutine for a while.
f) Interrupt flip-flops IFF1 and IFF2:
There seems to be a little confusion about these. These flip flops are
simultaneously set or reset by the EI and DI instructions. IFF1 determines
whether interrupts are allowed, but its value cannot be read. The value of
IFF2 is copied to the P/V flag by LD A,I and LD A,R. When an NMI occurs, IFF1
is reset, thereby disallowing further [maskable] interrupts, but IFF2 is left
unchanged. This enables the NMI service routine to check whether the
interrupted program had enabled or disabled maskable interrupts. So, Spectrum
snapshot software can only read IFF2, but most emulators will emulate both,
and then the one that matters most is IFF1.


Average premiums in each state could reflect insurance companies’ overall assessment of who is likely to cost them in the future. According to the figures from the National Association of Insurance Commissioners (NAIC) in 2012, high-risk drivers are to be found in New Jersey, where at $1,302, car insurance is the most expensive in the country. By the same logic, Idaho drivers, whose car insurance is on average less than half that, would be considered the best drivers in the country. But does the data corroborate with this logic?
Use the dropdown menu to select any of the driving behaviors as well as the total number of crashes, and see how they relate to the insurance premium across the country. Hover over the datapoints to view the details of the crashes and the premium amount (as well as how much insurance companies paid out on average). Can you find a direct correlation in any of these cases? It is interesting to see that inspite of a low overall number of crashes and relatively well behaved driving population, the premium at $1,274 is super high at District of Columbia, just second to the highest at New Jersey. Can you find the state(s) which have high number of crashes and bad drivers, but are not penalized with a high premium? What conculsion, if any, can you infer from the data?
In reality, there are many other factors which come into play. For example, the model of the car, how much the drivers drive, and other demographic considerations such as where the drivers reside, age and driving experience.


--- layout: post authors: ["Greg Wilson"] title: "Adding a Lesson on Make" date: 2015-06-18 time: "12:45:00" tags: ["Lessons", "Make"] ---
We are very pleased to announce the addition of a lesson on automation and Make, which was created by the SSI's Mike Jackson and Steve Crouch. The repository contains everything you need to teach it, and pull requests are very welcome.


Log in or sign up above to play!
In Donjons and Dragoons, you take on the role of a newly minted Dragoon--a warrior and soldier charged with keeping the kingdom safe. You are stationed in the main keep of a castle--also known as a donjon--that has been laid siege to by the forces of darkness.  Gain levels and loot so that you can defeat ever more powerful enemies! Can you gain enough power to defeat the ultimate evil? Let's find out in...


Segments Timeline Component Example
Segments Timeline with tooltip & progress
Segments Timeline with tooltip
Segments Timeline with progress
Segments Timeline
Segments Timeline disable cursor


Kenyan man who dares to challenge female circumcision
By Lilian Kaivilu @liliankaivilu
Gesaka Chacha stands out in a group of community members assembled at a chief’s camp to discuss issues about female genital mutilation (FGM).
He is the only elderly man in the group comprising mainly women and young men in Maeta village in Kuria East, Migori County.
When he stands to address the villagers who are listening to radio programmes on female genital mutilation, he receives a notably attentive audience. The 74-year-old is articulate and unashamedly talks about a topic deemed taboo in this region.
“Our community is highly cultured and it takes a strong-willed person to change tune on some of our practices such as FGM. I have offered to be that person,” says Chacha.
Since March 2017, community members in Maeta village have engaged in community radio talk shows produced by the Association of Media Women in Kenya with support from the Girl Generation. The programmes seek to sensitize community members on FGM matters while allowing them to discuss the issues openly.
Mr Chacha is the only elderly man in the group. This is after defying calls by his fellow elders to stay firm on the cultural stand on the female cut.
Born in 1943, Mzee Chacha, as popularly known in the village, worked in Nairobi until his retirement; an experience he says exposed him to the benefits of educating the girl-child. He is now a farmer and an ardent campaigner against FGM and early marriages. Although he has educated all his daughters, Chacha often found himself on the wrong side with his fellow elders.
“They thought I am bewitched. The elders wondered how an elderly man like me would talk ill of our traditional practices,” he recalls with a pensive look.
Having lived in Kisumu, Mombasa and Nairobi, Chacha says, he met women who had escaped female circumcision as girls and were now leaders in various offices. This, he says, inspired him to push his own daughters to aim high.
He knew his first assignment was to ensure that his two younger daughters escaped the knife because he was now more informed on women’s rights.
“Mimi na boma yangu tumeamua kuuasi ukeketaji (My family has decided to say no to female circumcision),” he says.
The father of six is now a champion for girls’ rights, particularly calling on the community members to end FGM.
“I have also been calling on the men to have their sons circumcised at a health facility for their own health benefits. But they believe that unless one has been cut by a traditional circumciser through the Kuria traditional practices, the cut is not any meaningful,” he says.
The Kuria community valued circumcision as a crucial process to usher girls into womanhood. According to Chacha, FGM preparations begin in August where young men and women train in songs and dances ahead of the circumcision sessions in December.
Many children lose out on school hours while others drop out in the four months of preparations, he says. This is the same time that Standard Eight and Form Four students are preparing for their Kenya Certificate of Primary Education and Kenya Certificate of Secondary Education national examinations.
“The practice negatively affects the preparedness of the candidates, some of whom have to devote their time to the circumcision ceremony rehearsals hence poor performance in their examinations,” he explains.
Chacha says his age mates are the problem. When he first brought the anti-FGM campaign to them in early 2016, Chacha the 75 year-old became a lone ranger.
The older men and women did not identify with him. They said he had been bewitched.
“But I did not fear. I soldiered on because I believe it starts with one person then the next and before long, the outlawed practices such as FGM will be eradicated,” he affirms.
Chacha knows too well that to eradicate any outlawed cultural practice, the cultural elders, particularly the men, are key. “Unajua wazee hapa ndio wanaleta shida (the men are the problem here),” he says while calling upon the area chief to lead the war against FGM.
In one circumcision season, according to Chacha, more than 100 young girls undergo FGM in the area.
According to the United Nations Children’s Fund over 200 million women globally have undergone FGM.
In his campaign, Chacha visits homes, schools and elders’ gatherings in a quest to create awareness on the dangers of FGM.
“For Maeta, Kedege and Kegongo primary schools I hold brief sessions with the pupils, with permission from the teachers,” he says. Chacha strategically plans his training sessions from July ahead of the annual December circumcision sessions.
He has been sitting with a group of three to eight cultural elders every day since 2016, discussing on ways to end FGM.
“Mine is usually to convince them on the dangers of FGM. I am optimistic that this is going to bear fruit,” he said.


Beta This is a test version of the layout of this page. Take the survey to help us improve it
Guidance
Types of apprenticeships that you can apply for in the learning and development sector.
This apprenticeship is designed for those interested in the training/learning and development/work-based learning industry.
Training and developing others in the workplace is a growing field of employment. At the end of your apprenticeship, you could be working in a stand-alone training organisation, in a corporate training department or as an in house stand-alone trainer.
This is an advanced level apprenticeship.
You could train in roles like:
You can become an apprentice in England if you’re:


components.nf-range-markers Class
A container and manager for nf-range-marker
components.
Used to draw an association between nf-range-marker
components so they
can be laid out in a manner in which they don't collide.
Item Index
Methods
Properties
Methods
_getGraph
()

Initalization method that gets the nf-graph parent and assigns it to graph

registerMarker
-
marker
Adds the passed marker to the markers
list, and sets the prevMarker
and nextMarker
properties on the marker component and it's neighbor.
Parameters:
-
marker
Nf-range-markerthe range marker to register with this container
unregisterMarker
-
marker
Removes the marker from the markers
list. Also updates the nextMarker
and prevMarker
properties of it's neighboring components.
Parameters:
-
marker
Nf-range-markerthe range marker to remove from the
markers
list.
Properties
isRangeMarkerContainer
Boolean
Used by nf-range-marker
to identify the nf-range-markers
container
Default: true
markerMargin
Number
The margin, in pixels, between the markers
Default: 10
markers
Array
The marker components registered with this container
orient
String
Sets the orientation of the range markers.
'bottom'
- Range markers start at the bottom and stack upward'top'
- Range markers start at the top and stack downward
Default: 'bottom'


BOOK CATALOG
Add a new book
Title
Description
File
Close
Edit a book
Description
File
Close
Add New Book