LifeHarbour Limanu is located in the Mangalia estuary, 3 NM west from the entrance to Mangalia Harbour.
Before entering the harbour you must keep clear of the SE pier where the water is very shallow. Follow the left channel marked with red and green buoys, as the right one leads into Marina Mangalia.You need to go past the Daewoo Shipyard which will be on your left, then you will pass under a bridge with a 20m clearance.
LifeHarbour Marina (photo from Ioan Cobzarenco)
Before entering the LifeHarbour marina you need to clear in with Marina Mangalia. To do this, contact the Harbour Master, VHF Channel 16, 67 or by telephone at +40 241 751088 or +40 382 416237 and they will guide you.
LifeHarbour is a private marina, with 70 berths for boats up to 24m.
Water and electricity is provided at each berth.
In terms of amenities, there is a hotel and a restaurant in the marina but no fuel station or place to buy groceries or other supplies.
Photo from Ioan Cobzarenco
You will have to ask the staff for a taxi in order to visit Mangalia for supply.
In the marina there is a small chandlery and limited repairs are possible.
At weekends there may be a party with loud music until early in the morning.
Last updated September 2015.


I just entered for a chance to win $1000 with @MSFTImagine #HelloCloudSweepstakes by leveraging the power of #Azure! https://t.co/MGM3gF0W1Z— Mehedi Hasan Masum (@mehamasum) October 24, 2016
I just entered for a chance to win $1000 with @MSFTImagine #HelloCloudSweepstakes by leveraging the power of #Azure! https://t.co/MGM3gF0W1Z


Pinterest quarterly revenue, forecast disappoint; shares plunge
Pinterest Inc on Thursday fell short of Wall Street estimates for third-quarter revenue, sending its shares down 20per cent in extended trading.
REUTERS: Pinterest Inc fell short of Wall Street estimates for quarterly revenue on lower-than-expected average revenue per user and its revised full-year sales forecast came marginally below expectations, sending its shares tumbling 19per cent.
Thursday's after-market plunge is expected to wipe out a majority of the gains since the online scrapbook company's blockbuster initial public offering in April, leaving the stock just about 6per cent from its IPO price.
Pinterest on average posted revenue of 90 cents per user globally in the third quarter, falling just short of analysts expectation of 91 cents, according to research firm FactSet.
The company's net loss widened to US$124.7 million from US$18.9 million a year earlier, as total costs and expenses nearly doubled to US$413.4 million.
Pinterest has been investing in areas such as advertiser diversification which would "bear fruit over the coming several quarters and years," Chief Financial Officer Todd Morgenfeld said on a post earnings call with analysts.
"We're still in the early days of that, and it will unfold over a period of time."
Pinterest, which calls its users "Pinners", said monthly active users jumped 28per cent to 322 million. Analysts had expected about 307 million users.
Interactive graphic on Pinterest users: https://tmsnrt.rs/2pwCD7X
Total revenue rose about 47per cent to US$279.7 million in the quarter ended Sept. 30, but fell short of analysts' estimates of US$280.6 million, according to IBES data from Refinitiv.
The company generates revenue by placing advertisements among pins or posts, basically ideas for clothes, décor and recipe, uploaded on the site by users.
Excluding certain items, the company earned a cent per share. Analysts were expecting a loss of 4 cents.
Pinterest expects 2019 total revenue to be between US$1.10 billion and US$1.115 billion, compared to its prior forecast of US$1.095 billion and US$1.115 billion. Analysts were expecting US$1.12 billion, according to IBES data from Refinitiv.
Pinterest was one of the most high-profile social media companies to list in the United States since Snap Inc in 2017.
(Reporting by Akanksha Rana in Bengaluru; Editing by Shailesh Kuber)


--- title: Mashed Potato Waffles and Creamy Avocado Basil Sauce | Healthy Nibbles & Bits layout: post date: '2015-09-17 17:58:02 -0400' type: post parent_id: 0 published: true image: assets/images/post-img/Mashed-Potato-Waffles-Recipe-6-681x1024.jpg status: publish categories: - Recipes meta: _thumbnail_id: 215 _edit_last: 1 _posts_by_tag_page_fields: a:2:{s:12:"widget_title";s:0:"";s:11:"widget_tags";s:0:"";} _wpghs_github_path: _posts/2015-09-17-mashed-potato-waffles-and-creamy-avocado-basil-sauce-healthy-nibbles-bits.md _sha: e635489e9e51fba2d86c3f328af6673a3127ab82 author: login: mkelley email<EMAIL_ADDRESS>display_name: Mike first_name: Mike last_name: Kelley ---
These flavor-packed paleo mashed potato waffles are the perfect make-ahead breakfast!
Source: Mashed Potato Waffles and Creamy Avocado Basil Sauce | Healthy Nibbles & Bits


Public-facing web applications should be protected by a web application firewall or be reviewed periodically. This checklist item refers to using a web application firewall.
A web application firewall may prevent an attacker from successfully exploiting a vulnerability in a public-facing web application.
Refer to the network documentation and interview the staff to identify if and how a web application firewall is installed. Examine the web application firewall and its administration interface to make sure its configuration matches the documentation. Review the web application firewall configuration to make sure that it is installed in front of a public-facing web application, and that it detects and prevents web-based attacks.
Choose whether to conduct regular reviews of the web application or to install a web application firewall. If you choose to install a web application firewall, choose a web application firewall that is compatible with your environment. Please refer to the vendor's documentation for detailed instructions on how to install and configure your web application firewall of choice.
For a list of Web Application Firewall vendors, please see the OWASP "Web Application Firewall" page at http://www.owasp.org/index.php/Web_Application_Firewall.


;
Course: {{course.name}}
Learn more about the course below.
Read more
;
Category: {{ course.category }}
For a brief explanation of the category read more below.
Read more
;
Difficulty: {{ course.difficulty }}
Prefer more challenging difficulties? Read more below.
Read more


We're logging you in.
This info might be helpful in work out what's wrong (or not):
{{ errorMessage | json }}


Spirit
Posted: Mon Jan 26, 2009 11:06 pm
So i've been grinding on spirits...and grinding.. I get like 1 drop every 4-5 kills and never anything better then leather. Could the drop chances be off on them?
Game Development and More
http://unseenstudios.com/community/
http://unseenstudios.com/community/viewtopic.php?f=25&t=1287


|
|---|
| But I determined this with myself, that I would not come again to you in heaviness.
|
|---|
| ᎠᏎᏃ ᎯᎠ ᏄᏍᏛᎩ ᎠᏋᏒ ᎨᏒ ᏓᏊᎪᏔᏅᎩ, ᎾᏍᎩ ᏔᎵᏁ ᏫᏨᎷᏤᏗᏱ ᏂᎨᏒᎾ ᎤᏲ ᎬᏆᏓᏅᏘ.
|
|---|
A-se-no hi-a nu-s-dv-gi a-quv-sv ge-sv da-quu-go-ta-nv-gi, na-s-gi ta-li-ne wi-tsv-lu-tse-di-yi ni-ge-sv-na u-yo gv-qua-da-nv-ti.
|
|---|
|
|---|
| For if I make you sorry, who is he then that maketh me glad, but the same which is made sorry by me?
|
|---|
| ᎢᏳᏰᏃ ᎤᏲ ᏱᏨᏯᏓᏅᏓᏗᏍᏔᏅ, ᎦᎪ ᎣᏍᏛ ᏯᏆᏓᏅᏓᏗᏍᏓ, ᎾᏍᎩᏉ Ꮎ ᎤᏩᏒ ᎤᏲ ᏥᏯᏓᏅᏓᏗᏍᏔᏅᎯ?
|
|---|
I-yu-ye-no u-yo yi-tsv-ya-da-nv-da-di-s-ta-nv, ga-go o-s-dv ya-qua-da-nv-da-di-s-da, na-s-gi-quo na u-wa-sv u-yo tsi-ya-da-nv-da-di-s-ta-nv-hi?
|
|---|
|
|---|
| And I wrote this same unto you, lest, when I came, I should have sorrow from them of whom I ought to rejoice; having confidence in you all, that my joy is the joy of you all.
|
|---|
| ᎠᎴ ᎾᏍᎩ ᏥᏄᏍᏛ ᏥᏫᏨᏲᏪᎳᏁᎸᎩ, ᏞᏍᏗᏉ ᎾᎿᎭᏫᏥᎷᏨᎭ, ᎤᏲ ᏱᎬᏆᏓᏅᏓᏗᏍᏔᏁᏍᏗ ᎾᏍᎩ Ꮎ ᎤᎵᎮᎵᏍᏗ ᎬᏆᏓᏅᏓᏗᏍᏙᏗ ᏥᎩ, ᎠᏇᎵᏒᎩ; ᏂᏥᎥᏉ ᎢᏨᏲᎢᏳᎭ ᎾᏍᎩ ᏄᏍᏛ ᎠᏆᎵᎮᎵᏍᏗᏍᎬ ᎾᏍᏉ ᎾᏍᎩ ᏂᎯ ᏂᏥᎥ ᎢᏣᎵᎮᎵᏍᏗᏍᎬᎢ.
|
|---|
A-le na-s-gi tsi-nu-s-dv tsi-wi-tsv-yo-we-la-ne-lv-gi, tle-s-di-quo na-hna wi-tsi-lu-tsv-ha, u-yo yi-gv-qua-da-nv-da-di-s-ta-ne-s-di na-s-gi na u-li-he-li-s-di gv-qua-da-nv-da-di-s-do-di tsi-gi, a-que-li-sv-gi; ni-tsi-v-quo i-tsv-yo-i-yu-ha na-s-gi nu-s-dv a-qua-li-he-li-s-di-s-gv na-s-quo na-s-gi ni-hi ni-tsi-v i-tsa-li-he-li-s-di-s-gv-i.
|
|---|
|
|---|
| For out of much affliction and anguish of heart I wrote unto you with many tears; not that ye should be grieved, but that ye might know the love which I have more abundantly unto you.
|
|---|
| ᎤᏣᏘᏰᏃ ᎠᎩᎵᏯ ᎨᏒ, ᎠᎴ ᎡᎯᏍᏗ ᎠᏆᏓᏅᏔᏩᏕᎬ ᏫᏨᏲᏪᎳᏁᎸᎩ ᎤᏣᏘ ᏗᎦᏥᎦᏌᏬᎢᎯ ᎨᏒᎢ; ᎥᏝ ᎠᏗᎾ ᎤᏲ ᎤᎾᏓᏅᏓᏗᏍᏙᏗ ᎨᏎᏍᏗ ᏯᏇᎵᏎᎢ, ᎢᏥᎦᏙᎥᎯᏍᏗᏱᏉᏍᎩᏂ ᎾᏍᎩ ᎤᏣᏔᏅᎯ ᎢᏨᎨᏳᎢᏳ ᎨᏒᎢ.
|
|---|
U-tsa-ti-ye-no a-gi-li-ya ge-sv, a-le e-hi-s-di a-qua-da-nv-ta-wa-de-gv wi-tsv-yo-we-la-ne-lv-gi u-tsa-ti di-ga-tsi-ga-sa-wo-i-hi ge-sv-i; v-tla a-di-na u-yo u-na-da-nv-da-di-s-do-di ge-se-s-di ya-que-li-se-i, i-tsi-ga-do-v-hi-s-di-yi-quo-s-gi-ni na-s-gi u-tsa-ta-nv-hi i-tsv-ge-yu-i-yu ge-sv-i.
|
|---|
|
|---|
| But if any have caused grief, he hath not grieved me, but in part: that I may not overcharge you all.
|
|---|
| ᎢᏳᏍᎩᏂᏃᏅ ᎩᎶ ᎡᎯᏍᏗ ᏧᏓᏅᏓᏗᏍᏔᏅᎯ ᎨᏎᏍᏗ, ᎥᏝ ᎠᏴᏉ ᎡᎯᏍᏗ ᏯᏆᏓᏅᏓᏗᏍᏔᏅ; ᏂᎯᏍᎩᏂ ᏂᏥᎥ ᏰᎵ ᎡᎯᏍᏗ ᎢᏣᏓᏅᏓᏗᏍᏔᏅ; ᎾᏍᎩ ᏥᎶᏒᏍᏓᏁᏗᏱ ᏂᎨᏒᎾ ᏥᎳᏫᏎᎲᎢ.
|
|---|
I-yu-s-gi-ni-no-nv gi-lo e-hi-s-di tsu-da-nv-da-di-s-ta-nv-hi ge-se-s-di, v-tla a-yv-quo e-hi-s-di ya-qua-da-nv-da-di-s-ta-nv; ni-hi-s-gi-ni ni-tsi-v ye-li e-hi-s-di i-tsa-da-nv-da-di-s-ta-nv; na-s-gi tsi-lo-sv-s-da-ne-di-yi ni-ge-sv-na tsi-la-wi-se-hv-i.
|
|---|
|
|---|
| Sufficient to such a man is this punishment, which was inflicted of many.
|
|---|
| ᎠᎵᏉ ᎾᏍᎩ ᎢᏳᏍᏗ [ᎠᏍᎦᏯ] ᏅᏍᏛᏛᎢ ᎾᏍᎩ ᎤᏂᏣᏘ ᏥᎬᏩᏍᏛᏗᏍᏔᏅ.
|
|---|
A-li-quo na-s-gi i-yu-s-di [a-s-ga-ya] nv-s-dv-dv-i na-s-gi u-ni-tsa-ti tsi-gv-wa-s-dv-di-s-ta-nv.
|
|---|
|
|---|
| So that contrariwise ye ought rather to forgive him, and comfort him, lest perhaps such a one should be swallowed up with overmuch sorrow.
|
|---|
| ᎾᏍᎩᏃ ᎪᎯ ᎨᏒ ᏰᏥᏙᎵᏨᏉ, ᎠᎴ ᏰᏥᎦᎵᏍᏓᏛ, ᏱᏅᏎᎦᎩ ᎾᏍᎩ ᎤᏣᏘ ᎤᏲ ᎤᏰᎸᏒ ᏳᏃᏴᏘᏍᏓ.
|
|---|
Na-s-gi-no go-hi ge-sv ye-tsi-do-li-tsv-quo, a-le ye-tsi-ga-li-s-da-dv, yi-nv-se-ga-gi na-s-gi u-tsa-ti u-yo u-ye-lv-sv yu-no-yv-ti-s-da.
|
|---|
|
|---|
| Wherefore I beseech you that ye would confirm your love toward him.
|
|---|
| ᎾᏍᎩ ᎢᏳᏍᏗ ᎢᏨᏔᏲᏎᎭ ᎡᏥᏍᏓᏱᏕᏗᏱ ᎡᏥᎨᏳᎢᏳ ᎨᏒᎢ.
|
|---|
Na-s-gi i-yu-s-di i-tsv-ta-yo-se-ha e-tsi-s-da-yi-de-di-yi e-tsi-ge-yu-i-yu ge-sv-i.
|
|---|
|
|---|
| For to this end also did I write, that I might know the proof of you, whether ye be obedient in all things.
|
|---|
| ᎾᏍᎩᏰᏃ ᎯᎠ Ꮀ ᎤᎬᏩᎸᎩ ᏥᏫᏨᏲᏪᎳᏁᎸᎩ, ᎾᏍᎩ ᎢᏨᎪᎵᏰᏍᎬᎩ, ᎾᏍᎩ ᏂᎦᎥ ᏧᏓᎴᏅᏛ ᏂᏨᏪᏎᎲ ᏂᏣᏛᏁᎲ ᎠᎴ ᏂᏣᏛᏁᎲᎾ ᎨᏒᎢ.
|
|---|
Na-s-gi-ye-no hi-a ho u-gv-wa-lv-gi tsi-wi-tsv-yo-we-la-ne-lv-gi, na-s-gi i-tsv-go-li-ye-s-gv-gi, na-s-gi ni-ga-v tsu-da-le-nv-dv ni-tsv-we-se-hv ni-tsa-dv-ne-hv a-le ni-tsa-dv-ne-hv-na ge-sv-i.
|
|---|
|
|---|
| To whom ye forgive any thing, I forgive also: for if I forgave any thing, to whom I forgave it, for your sakes forgave I it in the person of Christ;
|
|---|
| ᎩᎶ ᏰᏥᎥᎡᎸ ᎪᎱᏍᏗ ᎤᏍᎦᏅᏨ, ᎠᏴ ᎾᏍᏉ ᏥᎥᎡᎭ; ᎢᏳᏰᏃ ᎠᏴ ᎪᎱᏍᏗ ᎠᏍᎦᏅᏨᎢ ᏱᏥᎥᏍᎦ, ᎾᏍᎩ ᏥᎥᎡᎸᎯ ᏂᎯ ᎨᏒ ᏅᏓᏳᎵᏍᏙᏔᏅᎩ ᏥᎥᎡᎸᎩ ᎦᎶᏁᏛ ᎠᎦᏔᎲᎢ;
|
|---|
Gi-lo ye-tsi-v-e-lv go-hu-s-di u-s-ga-nv-tsv, a-yv na-s-quo tsi-v-e-ha; i-yu-ye-no a-yv go-hu-s-di a-s-ga-nv-tsv-i yi-tsi-v-s-ga, na-s-gi tsi-v-e-lv-hi ni-hi ge-sv nv-da-yu-li-s-do-ta-nv-gi tsi-v-e-lv-gi Ga-lo-ne-dv a-ga-ta-hv-i;
|
|---|
|
|---|
| Lest Satan should get an advantage of us: for we are not ignorant of his devices.
|
|---|
| ᎾᏍᎩ ᎠᏍᎩᎾ ᎢᎩᎶᏄᎮᏗᏱ ᏂᎨᏒᎾ; ᎥᏝᏰᏃ ᏱᎩᎪᏁᎸ ᎾᏍᎩ ᎠᏓᏅᏖᎵᏙᎲᎢ.
|
|---|
Na-s-gi A-s-gi-na i-gi-lo-nu-he-di-yi ni-ge-sv-na; v-tla-ye-no yi-gi-go-ne-lv na-s-gi a-da-nv-te-li-do-hv-i.
|
|---|
|
|---|
| Furthermore, when I came to Troas to preach Christ's gospel, and a door was opened unto me of the Lord,
|
|---|
| ᎠᎴᏬ ᏠᎠᏏ ᏗᎩᎷᏨ ᎣᏍᏛ ᎧᏃᎮᏛ ᎦᎶᏁᏛ ᎤᏤᎵ ᎠᏆᎵᏥᏙᏂᎸ, ᎠᎴ ᎦᎶᎯᏍᏗᏱ ᎠᎩᏍᏚᎩᎡᎸ ᎤᎬᏫᏳᎯ,
|
|---|
A-le-wo Tlo-a-si di-gi-lu-tsv o-s-dv ka-no-he-dv Ga-lo-ne-dv u-tse-li a-qua-li-tsi-do-ni-lv, a-le ga-lo-hi-s-di-yi a-gi-s-du-gi-e-lv U-gv-wi-yu-hi,
|
|---|
|
|---|
| I had no rest in my spirit, because I found not Titus my brother: but taking my leave of them, I went from thence into Macedonia.
|
|---|
| ᎥᏝ ᏙᎯ ᎬᏆᏓᏅᏓᏗᏍᏗ ᏱᎨᏎ ᏗᏆᏓᏅᏛᎢ, ᏅᏓᎦᎵᏍᏙᏗᏍᎬᎩ ᏓᏓᏏ ᎥᎩᏅᏟ ᏂᏥᏩᏛᎲᎾ ᎨᏒᎢ; ᎥᎦᏥᏴᏕᏨᎩᏃ ᎾᎿᎭᎠᏆᏂᎩᏒᎩ ᎹᏏᏙᏂ ᏩᎩᎷᏨᎩ.
|
|---|
V-tla do-hi gv-qua-da-nv-da-di-s-di yi-ge-se di-qua-da-nv-dv-i, nv-da-ga-li-s-do-di-s-gv-gi Da-da-si v-gi-nv-tli ni-tsi-wa-dv-hv-na ge-sv-i; v-ga-tsi-yv-de-tsv-gi-no na-hna A-qua-ni-gi-sv-gi Ma-si-do-ni wa-gi-lu-tsv-gi.
|
|---|
|
|---|
| Now thanks be unto God, which always causeth us to triumph in Christ, and maketh manifest the savour of his knowledge by us in every place.
|
|---|
| ᎾᏍᎩᏃ ᎠᎵᎮᎵᏤᏗ ᎨᏎᏍᏗ ᎤᏁᎳᏅᎯ ᎾᏍᎩ ᏂᎪᎯᎸ ᎢᎦᎵᎮᎵᏍᏗᏱ ᏥᏂᎬᏁᎭ ᎢᎦᏓᎵᏁᎯᏛ ᎤᎬᏩᎵ ᎦᎶᏁᏛ ᎡᏓᎵᏍᎦᏍᏙᏛᎢ, ᎠᎴ ᎬᏂᎨᏒ ᏥᏂᎬᏁᎭ ᎦᏩᏒᎬ ᎤᏩᏒ ᎠᏥᎦᏙᎥᎯᏍᏗ ᎨᏒ ᎠᏴ ᎢᎬᏗᏍᎬ ᏂᎦᎥ ᏕᎨᏌᏗᏒᎢ.
|
|---|
Na-s-gi-no a-li-he-li-tse-di ge-se-s-di U-ne-la-nv-hi na-s-gi ni-go-hi-lv i-ga-li-he-li-s-di-yi tsi-ni-gv-ne-ha i-ga-da-li-ne-hi-dv u-gv-wa-li Ga-lo-ne-dv e-da-li-s-ga-s-do-dv-i, a-le gv-ni-ge-sv tsi-ni-gv-ne-ha ga-wa-sv-gv u-wa-sv a-tsi-ga-do-v-hi-s-di ge-sv a-yv i-gv-di-s-gv ni-ga-v de-ge-sa-di-sv-i.
|
|---|
|
|---|
| For we are unto God a sweet savour of Christ, in them that are saved, and in them that perish:
|
|---|
| ᎠᏴᏰᏃ ᎤᎦᎾᏍᏛ ᎦᏩᏒᎩ ᎤᏁᎳᏅᎯ ᎤᏪᏩᏒᎢᏍᏗ ᏃᏣᎵᏍᏗᎭ ᎦᎶᏁᏛ ᎤᏤᎵᎦ, ᎾᏍᎩ ᎨᏥᏍᏕᎸᏗ ᏥᎩ, ᎠᎴ ᎾᏍᎩ ᏧᏂᏲᎱᎯᏍᏗ ᏥᎩ.
|
|---|
A-yv-ye-no u-ga-na-s-dv ga-wa-sv-gi U-ne-la-nv-hi u-we-wa-sv-i-s-di no-tsa-li-s-di-ha Ga-lo-ne-dv u-tse-li-ga, na-s-gi ge-tsi-s-de-lv-di tsi-gi, a-le na-s-gi tsu-ni-yo-hu-hi-s-di tsi-gi.
|
|---|
|
|---|
| To the one we are the savour of death unto death; and to the other the savour of life unto life. And who is sufficient for these things?
|
|---|
| ᎾᏍᎩ ᏑᎾᏓᎴᎩ ᎨᏒ ᎠᏓᎯᎯ ᎦᏩᏒᎩ ᎾᏍᎩ ᎤᏂᎯᎯ ᏂᏙᏣᎵᏍᏓᏁᎭ; ᎠᏂᏐᎢᏃ ᎠᏓᏛᏂᏗᏍᎩ ᎦᏩᏒᎩ ᎾᏍᎩ ᎤᏅᏂᏗᏍᎩ ᏂᏙᏣᎵᏍᏓᏁᎭ. ᎦᎪᏃ ᏰᎵ ᎦᏰᎦᎨᏅᏗᏍᏗ ᎯᎠ ᎾᏍᎩ ᏗᎦᎸᏫᏍᏓᏁᏗ ᎨᏒᎢ.
|
|---|
Na-s-gi su-na-da-le-gi ge-sv a-da-hi-hi ga-wa-sv-gi na-s-gi u-ni-hi-hi ni-do-tsa-li-s-da-ne-ha; a-ni-so-i-no a-da-dv-ni-di-s-gi ga-wa-sv-gi na-s-gi u-nv-ni-di-s-gi ni-do-tsa-li-s-da-ne-ha. Ga-go-no ye-li ga-ye-ga-ge-nv-di-s-di hi-a na-s-gi di-ga-lv-wi-s-da-ne-di ge-sv-i.
|
|---|
|
|---|
| For we are not as many, which corrupt the word of God: but as of sincerity, but as of God, in the sight of God speak we in Christ.
|
|---|
| ᎥᏣᏰᏃ ᏧᏂᏣᏔᏉ ᏥᏄᎾᏍᏗ ᏱᏃᎦᏍᏗ, ᎾᏍᎩ ᎠᏂᏲᏍᏗᏍᎩ ᎧᏃᎮᏛ ᎤᏁᎳᏅᎯ ᎤᏤᎵᎦ; ᏃᎦᏠᎾᏍᏛᎾᏍᎩᏂ ᎨᏒ ᏦᏨᏗᏍᎪᎢ, ᎤᏁᎳᏅᎯᏍᎩᏂ ᏥᏂᎬᏂᏏᏍᎪ ᎾᏍᎩᏯᎢ, ᎤᏁᎳᏅᎯ ᎠᎦᏔᎲ ᎣᏥᏁᎢᏍᏗ ᎦᎶᏁᏛ.
|
|---|
V-tsa-ye-no tsu-ni-tsa-ta-quo tsi-nu-na-s-di yi-no-ga-s-di, na-s-gi a-ni-yo-s-di-s-gi ka-no-he-dv U-ne-la-nv-hi u-tse-li-ga; no-ga-tlo-na-s-dv-na-s-gi-ni ge-sv tso-tsv-di-s-go-i, U-ne-la-nv-hi-s-gi-ni tsi-ni-gv-ni-si-s-go na-s-gi-ya-i, U-ne-la-nv-hi a-ga-ta-hv o-tsi-ne-i-s-di Ga-lo-ne-dv.
|
|---|


| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| BatchedRequest.js | 23.08% | 6/26 | 0% | 0/4 | 16.67% | 1/6 | 23.08% | 6/26 | |
| DigestCache.js | 60.87% | 28/46 | 16.67% | 1/6 | 55.56% | 5/9 | 60.87% | 28/46 | |
| ODataVersion.js | 81.82% | 18/22 | 50% | 4/8 | 100% | 5/5 | 81.82% | 18/22 | |
| SPHttpClient.js | 71.29% | 72/101 | 45.61% | 26/57 | 41.18% | 7/17 | 71.43% | 70/98 | |
| SPHttpClientBatch.js | 17.21% | 21/122 | 0% | 0/36 | 6.25% | 1/16 | 17.21% | 21/122 | |
| SPHttpClientBatchConfiguration.js | 86.11% | 31/36 | 65.71% | 23/35 | 80% | 8/10 | 93.33% | 28/30 | |
| SPHttpClientCommonConfiguration.js | 87.5% | 35/40 | 68.57% | 24/35 | 83.33% | 10/12 | 94.12% | 32/34 | |
| SPHttpClientConfiguration.js | 89.13% | 41/46 | 65.71% | 23/35 | 84.62% | 11/13 | 95% | 38/40 | |
| SPHttpClientHelper.js | 65.96% | 31/47 | 47.37% | 18/38 | 83.33% | 10/12 | 68.18% | 30/44 | |
| SPHttpClientResponse.js | 81.82% | 27/33 | 68.57% | 24/35 | 66.67% | 6/9 | 88.89% | 24/27 |


WITNESS LIST Redistricting Committee April 5, 2001 - 4:00P Redistricting ON: Alexander, George President (San Angelo Development Corporation), San Angelo, TX Barton, Joe U.S. Congressman (Self), Washington, DC Beckham, Rob City Councilman (City of Abilene), Abilene, TX Besteiro, Jr., Raul A. (Browsville Navigation District), Brownsville, TX Bledsoe, Gary President (Texas National Association for Advancement of Colored People), Austin, TX Burnham, Perry Former Mayor (City of Castle Hills), Castle Hills, TX Calvert, Tommy T.C. President (Neighborhood First Alliance), San Antonio, TX Carrillo, Victor City Councilman (City of Abilene), Abilene, TX DeLay, Tom U.S. Congressman (Self), Washington, DC Flores, Henry Dr. (William C. Velasquez Institute), San Antonio, TX Garcia, Hector F. Mayor of the City of Watauga (City of Watauga, City of Richland Hills, City of Haltom, City of Hurst, and City of Keller), Watauga, TX Garcia, Ross Omar (Self), San Antonio, TX Gee, Terry C. President (Chinese Seniors Association of Houston, Inc.), Houston, TX Gutierrez, Judith County Commissioner (County of Webb), Laredo, TX Harris, Vivian President/Ex Director (South Houston Concerned Citizens Coalition and Harris County Democrat Chair, Precinct 319), Houston, TX Harrison, Cecile Dr. (Self), Houston, TX Hebert, J. Gerald General Counsel (IMPAC 2000), Washington, DC Hernandez, Andy Reverend (William C. Velasquez Institute), San Antonio, TX Hernandez, Victor City Councilman (City of Lubbock), Lubbock, TX Hightower-Pierson, Paula (Self), Arlington, TX Hofeller, Thomas Redistricting Director (Republican National Committee), Alexandria, VA Jackson, Teri City Councilwoman (City of Grand Prarie), Grand Prarie, TX Jefferson, Howard President of Houston Branch (National Association for Advancement of Colored People), Houston, TX Jonett, Maureen J. Mayor (City of Killeen), Killeen, TX Lichtman, Allan J. Dr. (IMPAC 2000), Washington, DC Longoria, John A. Texas State Representative (Self), San Antonio, TX Maldonado, Juan J. Board Chairman (William C. Velasquez Institute), San Antonio, TX Messbarger, Dick (Self), Kingsville, TX Miller, Geraldine Texas State Board of Education Member (Self), Dallas, TX Nunez, Anna (Self), Houston, TX Oldham, Dale Redistricting Counsel (Republican National Committee), Washington, DC Owens, Bill (Self), San Antonio, TX Pate, A.J. (Self), Houston, TX Poindexter, John (Self), Houston, TX Ramirez, Ventura (Self), Houston, TX Rodriguez, Jose County Attorney (County of El Paso), El Paso, TX Ryan, Vince (Self), Houston, TX Sonnen, Connie (Self), San Antonio, TX Statler, Chuck County Commissioner (County of Taylor), Abilene, TX Registering, but not testifying: On: Howard, Donna Board Member (Common Cause of Texas), Austin, TX Kastrin, Deborah (Self), El Paso, TX Masset, Royal (Self), Austin, TX Providing written testimony: On: Escobar, Felicia Policy Analyst (National Council of La Raza), San Antonio, TX Haughey, Tom Executive Director (Self and Texas Republican County Chairmen's Association), San Juan, TX Montgomery, Dan Texas State Board of Education Member (Self), Fredericksburg, TX Ramos, Vincent Dr. (Mexican American Legal Defense and Education Fund), Austin, TX


THE REPLACEMENTS A film review by Steve Rhodes Copyright 2000 Steve Rhodes RATING (0 TO ****): ***
"I know five million [dollars a year] sounds like a lot of money," whines one of the NFL players with a zillion-dollar ego who has just gone out on strike against the equally wealthy owners. THE REPLACEMENTS, a surprisingly funny comedy, is inspired by the 1987 professional football players strike.
Director Howard Deutch, who has directed films from PRETTY IN PINK to THE ODD COUPLE II, and writer Vince McKewin (FLY AWAY HOME) are perhaps an odd choice for a sports comedy, but they have come up with a thoroughly enjoyable piece of entertainment. A good-spirited and energetic film, it flies by with few pretentious moments. Only in the occasional serious interludes and in the throw-away romance does its momentum ever sag.
O'Neil (Jack Warden), the owner of the Washington Sentinels, lets Coach McGinty (Gene Hackman) hire whomever he wants as replacement players until the "real" players return. McGinty puts together a rag-tag collection of people who he thinks may have the right skill set regardless of their background or current place of "employment." Recruiting a prisoner, two body guards, a convenience store clerk, a gung-ho cop and a sumo wrestler with a monstrous beer belly (actually a boiled-egg belly) , the coach has a fearsome team that suffers from its lack of coordination and cooperation. "I've seen monkeys at the zoo that were more organized that this," says O'Neil, while shaking his head during the disastrous start of the replacements' first game.
As his quarterback, the coach taps a known loser, Shane Falco, played as a likeable and vulnerable everyman by Keanu Reeves (THE MATRIX). "Hey, Falco," the team's normal quarterback, Martel (Brett Cullen), taunts him, "you're not even a has-been.  The coach tries his homespun wisdom on Falco, but he is a pragmatic who isn't impressed. "You know what separates the winners from the losers, kid?" McGinty asks. "The score!" Falco retorts.
With characters that are walking clichés, the director doesn't apologize for them and lets us laugh with them and at them. Since they are only going to be there a few weeks, the athletes don't take themselves too seriously. They don't expect to be offered multimillion dollar product endorsements. They just want to play ball.
Ignoring the axiom of the day that only crudeness sells at the theaters, Warner Brothers offers a PG-13 movie that, even if it has a few raunchy moments, can respectably display the PG-13 label. Parents will not be embarrassed that they let their kids see it, which isn't the case with so many of the recent PG-13 releases that once would have been considered a definite R.
The film's sexual humor comes from its parody of professional cheerleaders. Annabelle (Brooke Langton) has the task of replacing the cheerleaders. The auditions are funny but nothing like the game sequences which are hilarious due to the background of most of the new recruits, whose normal jobs includes skills such as lap dancing. They are so "good" that they prove an effective distraction to lure the opposing players' eyes away at a few crucial moments.
NOTTING HILL's quintessentially unsexy Rhys Ifans is perfectly cast as a Welsh soccer player named Gruff. The out-of-shape, chain-smoking Gruff is a great place-kicker willing to try 65-yard goals. Like the other members of the team, he's also quite funny. Using the classic lines from BABE, he tells the sumo wrestler, Fumiko (Ace Yonamine), when he overachieves during practice, "That'll do, pig. That'll do."
Unlike so many other recent sports movie, Oliver Stone's confusingly-edited ANY GIVEN SUNDAY, for example, the editing in THE REPLACEMENTS is lucid, and it is easy to follow the action and get involved in the details of the game.
Among the film's many delights include a dance number led by Orlando Jones. As the team languishes in jail, he leads them in a rousing routine of Gloria Gaynor's "I Will Survive."  The replacement players are having a blast with their brief moment on the stage, and we are vicariously enjoying it with them.
THE REPLACEMENTS runs 1:54 but seems much shorter. It is rated PG-13 for some crude sexual humor and language and would be acceptable for kids around 10 and up.
My son Jeffrey, age 11, had a great time watching it. Giving it ****, he said it was hilarious. He thought the plot was cool and the football was great. He laughed loudly and cheered frequently.
Email<EMAIL_ADDRESS>Web: http://www.InternetReviews.com
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


Generally, I love traveling which is definitely influence by my dad's love of traveling. These are all the photographs I have taken on my trips as well. I should also mention my interest in photography is also influenced by my dad. I also added pictures of my family and younger siblings because I love them very much. We would get into antics with each other no matter our age.


Contents
The mango.tests module provides the mechanism for running all mango unit-tests (see the python unittest module for unit-testing related information). All unit-tests can be executed using:
python -m mango.tests
The tests can be executed using multi-process MPI-parallelism as:
mpirun -np 4 python -m mango.tests
An individual unit-test method can be run as:
python -m mango.tests mango.coreTest._DdsTest.DdsTest.testDdsCreate
One can see the list of command line options for the unit-test runner by executing:
python -m mango.tests --help


FasterCapital is a virtual incubator based in Dubai Internet City. We help IT startups through our acceleration and incubation programs. FasterCapital was established in 2010 and our model has been publicly available since 2014. Fastercapital has 20 graduated startups that are fully functional now, around 26 startups in incubation program, 286+ startups in the acceleration program, 744+ represetatives/regional partners and 368 offices worldwide. FasterCapital has multiple rounds of funding per year during each of which we will be selecting startups that can be accelerated or incubated.
We are the regional partner and representative of FasterCapital. Apply using the link below to get recommendation from us. Application open!Hi, thank you for expressing interest in this project! This project is in collaboration with Google, Women TechMakers, and Tour Creators. We will be glad to have you. The project involves the use of VR and AR technology. You don't have to be an expert in the field, we're here to guide you. Click on the link below to register and be a part of this amazing project!
Registration open!Hi everyone, I would like to invite you all for the Clinton Global Initiative University (CGI U) Event that will be held at Metta Hub this year, 2018. Exact date will be communicated here for open registration. The event will provide information about the program, opportunities, and scholarships available for students who are entreprenuers.
Register to Attend!We have meet ups that are held once every two months to discuss present opportunities for students and startups entreprenuers.
Register Here!


My past time the last few hours has been switching through the various live webcam feeds on http://www.alertwildfire.org and checking if I can catch a glimpse of smoke or the various fires that are burning up in California right now.
The above video was taken two days ago by one of the webcams located south of Boulder Creek, California. You can see the CZU Ligtning Complex fire creeping up and eventually destroy it.
Here are few interesting feeds:
I have also been staring at this which I belive uses satellite to detect the boundaries of the fires. As you can see, a lot of Norther California is burning. The closest fire at the moment is the SCU fire, about 10 miles south of my current location. Good news for people north of the fires like me is the wind is blowing south west. Bad news for everyone south of the fire.
Thank you to The University of Nevada, Reno (UNR), University of California San Diego (UCSD), and the University of Oregon (UO) which run ALERTWildfire and the various sponors of the webcams.


Access Java Programming Resources for CSC 120 via this link.
Lab8StarterFiles.zipUnzip and Extract All of the files, and copy ALL FOUR of the files you unzipped into the src folder of your project.
RoundHead
objects.
Run the new project to make sure that things are working
before
proceeding.RoundHead
objects "firstOne", "secondOne", etc.RoundHead
objects, and in their place, declare an array of RoundHead
s
called rhArray
.
private RoundHead[] rhArray;In the
MUPanel
constructor method, replace the
instantiations of the separate RoundHead
objects, and
instead instantiate rhArray
so that it contains
19
elements. Then, write a loop that will be repeated once for
each
element in the array.
rhArray = new RoundHead[???]; for (Integer index = 0; index < rhArray.length; index++) { Boolean isHappy; Color hatColor; Integer over, down, vertStep, horizStep, size; isHappy = true; hatColor = Color.RED; over = /* replace with a formula as described below */; down = /* replace with a formula as described below */; vertStep = 15; horizStep = 10; size = 25; rhArray[index] = new RoundHead( isHappy, hatColor, over, down, vertStep, horizStep, size, "Sammy" ); } // end of for loopThe code as written above won't work because you need to replace the right-hand sides of the assignment statements for over and down with a formula, as follows:
MUPanel
class
that ask RoundHeads to
move, change their mood, and draw themselves. In each of
these methods
in the MUPanel
class, add a for
loop
to call the appropriate method for each RoundHead
object
in the rhArray
array. Run this program and
observe the
results. The output should show 19 roundheads in a diagonal
line, and
they should move, change moods and bounce off walls
correctly.MUPanel
constructor method where we store a value in isHappy
, we
need an if/else statement because sometimes we want isHappy
to be true
and other times we want it to be false.
If
the
loop control variable is an EVEN NUMBER, store the value true
in isHappy
; else, store false in isHappy
.
Recompile
and
run
the program. Did it work? index
by 2 with the expression index % 2
. If that expression is equal to zero, index
is EVEN; if not, then index
is ODD.hatColor
based on the value of index
. Star
class into the src folder of
your
project.In your browser right click on:
and choose Save Target As... and save the file in the src folder of your project. Rename the file you copied in NetBeans so that it has a .java extension.
Star
objects at the top
of
the MUPanel
class in the MUPanel.java
file. Star
objects in the
constructor method of the MUPanel
class so
that the
array contains 100 elements. Star
objects. The body
of the loop
should:
Integer
variables called x
and y
x
to the following value: (int) (Math.random()*590)
y
to the following value: (int) (Math.random()*390)
x
and y
as the two
parameters that
are passed into the Star
constructor method. Math.random()
is a method that returns a random decimal value between 0 and 1. It can be used to introduce unpredictability
in our Java programs
In the paintComponent
method of the MUPanel.java
file, write code that uses a loop to call the draw
method
of each Star
object in the array. Place the
loop that draws
the stars
BEFORE you draw the RoundHeads in the paintComponent
method.
 Change the MUPanel.java file so that the background of the output window is set to Color.BLACK, and run the program.
Lab08 Grading Rubric
paintComponent
method.
Add two new methods to MUPanel.java, as follows. The first method is named "moveFred", and it is a void
method that accepts no parameters. In the moveFred
method, call the moveVertically
method and
also the moveHorizontally
method for the fred object. The second method is named "changeFredsMood", and
it also is a void method that accepts no parameters. The changeFredsMood
method should call the
changeMood
method for the fred object.
Switch to MUFrame.java in the editor, and change to "Design" mode. Add two new buttons to the interface, one labeled "Move Fred" and the other named "Change Fred's Mood". The actionPerformed methods for these two buttons should call the appropriate methods of the muPanel object that you wrote in the previous instruction, and then ask muPanel to repaint(). Test the program now, and the new buttons should cause Fred to move or change mood while the other RoundHeads remain stationary.
Now let's modify MUPanel so that the RoundHeads in the array move on the screen even if we aren't clicking the Move Roundheads button. To do this, copy the following code and paste it into MUPanel.java right above the comment that says, "Don't change anything below here":
private volatile Thread animator; private Integer animationDelay = 200; public void start() { if (animator == null) { animator = new Thread(this); animator.start(); } // end if } // end of start() public void stop() { animator = null; } // end of stop() public void run() { Thread thisThread = Thread.currentThread(); while (animator == thisThread) { moveObjects(); repaint(); try { Thread.sleep(animationDelay); } catch (InterruptedException e) { } } // end while } // end of run()Next, modify the class heading for the MUPanel class so that it looks like this:
public class MUPanel extends JPanel implements Runnable {Then, switch to MUFrame and add two more buttons to the interface, one named "Start Animation" and the other named "Stop Animation". When the Start Animation button is clicked, you should call
muPanel.start()
; when the Stop Animation button is clicked, you should call
muPanel.stop()
. Run the program, and try out the new buttons.
Can you move Fred around the screen and avoid the marching RoundHeads?
If you would want the animation to start as soon as the program starts, there is a simple way
to do that. In MUFrame.java, scroll to the end of the constructor method, and then right before the
closing brace for the method, call the muPanel.start()
method. The constructor
is executed only once, when the program starts, and so the animation will begin right away instead
of waiting for the user to click the Start Animation button. You should be able to stop
and start the animation with the buttons as before.
The variable named animationDelay
specifies the delay that will be used between
repaintings, and is a number of milliseconds (thousandths of a second). You can make the animation
effects happen faster by using a smaller number for the animation delay, or slow it down with a bigger
number for the delay.
Try changing the value of animationDelay
in MUPanel.java, using 500 (which is a ½ second delay), then
try 100 (a tenth-of-a-second delay), and finally try 25 — that's really fast! Change the delay a final time to
a value that you like.
Add randomness to the instantiation of the RoundHead objects in your program so that the horizontal and vertical movement factors used for each RoundHead in the array is a random integer in the range from -30 to 30. Run the program and watch the RoundHeads break out of their initial positions unpredictably.
ShootingStar
class
definition
based on the Star
class that draws something
that looks
like a shooting star, and then declare, instantiate and draw
an array
of 10 shooting stars. The shooting stars should be
randomly
placed in the output window, in a manner that is similar to
the way the Star
s were placed. You could add a button or two to the interface to increase or decrease the animationDelay
value to speed up or slow down the
animation as it is running. To do that, you would need a setAnimationDelay
method in MUPanel that could
be called from the actionPerformed methods in MUFrame. Or maybe you would like to try a Spinner or a Slider
for changing the animationDelay....


This is the reference manual for the S-SQL component of the postmodern library.
S-SQL provides a lispy syntax for SQL queries, and knows how to convert various lisp types to their textual SQL representation. It takes care to do as much of the work as possible at compile-time, so that at runtime a string concatenation is all that is needed to produce the final SQL query.
Convert the given form (a list starting with a keyword) to an SQL query string at compile time, according to the rules described here.
function
sql-compile (form)
→ string
This is the run-time variant of the sql
macro. It converts the given list
to an SQL query, with the same rules except that symbols in this
list do not have to be quoted to be interpreted as
identifiers.
In cases where you do need to build the query at
run time, yet you do not want to re-compile it all the time, this
function can be used to compile it once and store the result. It
takes an S-SQL form, which may contain $$
placeholder
symbols, and returns a function that takes one argument for every
$$
. When called, this returned function produces an
SQL string in which the placeholders have been replaced by the
values of the arguments.
function enable-s-sql-syntax (&optional (char #\Q))
Modifies the current readtable to add a #Q syntax
that is read as (sql ...)
. The character to use can
be overridden by passing an argument.
function
sql-escape-string (string)
→ string
Escapes a string for inclusion in a PostgreSQL query.
method
sql-escape (value)
→ string
A generalisation of sql-escape-string
.
Looks at the type of the value passed, and properly writes it out
it for inclusion in an SQL query. Symbols will be converted to SQL
names.
variable *standard-sql-strings*
Used to configure whether S-SQL will use standard
SQL strings (just replace #\' with ''), or backslash-style
escaping. Setting this to NIL
is always safe, but
when the server is configured to allow standard strings
(compile-time parameter 'standard_conforming_strings
'
is 'on
', which will become the default in future
versions of PostgreSQL), the noise in queries can be reduced by
setting this to T
.
Determines whether double quotes are added around
column, table, and function names in queries. May be
T
, in which case every name is escaped,
NIL
, in which case none is, or :auto
,
which causes only reserved
words to be escaped.. The default value is :auto
.
Be careful when binding this with let
and such
― since a lot of SQL compilation tends to happen at
compile-time, the result might not be what you expect.
function
sql-type-name (type)
→ string
Create the SQL equivalent of the given Lisp type, if one is known. See types.
function
to-sql-name (name &optional (escape-p *escape-sql-names-p*))
→ string
Convert a symbol or string to a name that can be
used as an SQL identifier by converting all non-alphanumeric
characters to underscores. Also lowercases the name to make
queries look a bit less hideous. When a second argument is given,
this overrides the current value of *escape-sql-names-p*
.
function
from-sql-name (string)
→ keyword
Convert a string that represents an SQL identifier to a keyword by uppercasing it and converting the underscores to dashes.
macro register-sql-operators (arity &rest names)
Define simple SQL operators. Arity is one of
:unary
(like 'not
'),
:unary-postfix
(the operator comes after the
operand), :n-ary
(like '+
': the operator
falls away when there is only one operand), :2+-ary
(like '=
', which is meaningless for one operand), or
:n-or-unary
(like '-
', where the
operator is kept in the unary case). After the arity may follow
any number of operators, either just a keyword, in which case the
downcased symbol name is used as the SQL operator, or a
two-element list containing a keyword and a name string.
S-SQL knows the SQL equivalents to a number of Lisp types, and defines some extra types that can be used to denote other SQL types. The following table shows the correspondence:
| Lisp type | SQL type |
|---|---|
| smallint | smallint |
| integer | integer |
| bigint | bigint |
| (numeric X Y) | numeric(X, Y) |
| float, real | real |
| double-float, double-precision | double-precision |
| string, text | text |
| (string X) | char(X) |
| (varchar X) | varchar(X) |
| boolean | boolean |
| bytea | bytea |
| date | date |
| timestamp | timestamp |
| interval | interval |
This is a type of which only the keyword
:null
is a member. It is used to represent NULL
values from the database.
An S-SQL form is converted to a query through the following rules:
operator(arguments,
...)
to-sql-name
.The following operators are defined:
sql-op :+, :*, :%, :&, :|, :||, :and, :or, :=, :/, :!=, :<, :>, :<=, :>=, :^, :union, :union-all, :intersect, :intersect-all, :except, :except-all (&rest args)
These are expanded as infix operators. When
meaningful, they allow more than two arguments. :-
can also be used as a unary operator to negate a value. Note that
the arguments to :union
, :union-all
,
:intersect
, and :except
should be
queries (:select
forms).
Note that you'll have to escape pipe characters to
enter them as keywords. S-SQL handles the empty keyword symbol
(written :||
) specially, and treats it
like :\|\|
, so that it can be written without
escapes. With :\|
, this doesn't work.
Unary operators for bitwise and logical negation.
sql-op :~, :~*, :!~, :!~* (string pattern)
Regular expression matching operators. The exclamation mark means 'does not match', the asterisk makes the match case-insensitive.
sql-op :like, :ilike (string pattern)
Simple SQL string matching operators
(:ilike
is case-insensitive).
Fast Text Search match operator.
Used to invert the meaning of an operator in an :order-by
clause.
sql-op :nulls-first, :nulls-last (column)
Used to determine where :null
values
appear in an :order-by
clause.
sql-op :as (form name &rest fields)
Assigns a name to a column or table in a :select
form. When fields are
given, they are added after the name, in parentheses. For example,
(:as 'table1 't1 'foo 'bar)
becomes table1 AS
t1(foo, bar)
. When you need to specify types for the
fields, you can do something like (:as 'table2 't2 ('foo
integer))
. Note that names are quoted, types are not (when
using sql-compile
or
sql-template
, you can
leave out the quotes entirely).
The EXISTS operator. Takes a query as an argument, and returns true or false depending on whether that query returns any rows.
Test whether a value is null.
Test whether a value is not null.
Test whether a value is in a set of values.
Inverse of the above.
Denote a set of values. This one has two interfaces. When the elements are known at compile-time, they can be given as multiple arguments to the operator. When they are not, a single argument that evaluates to a list should be used.
sql-op :[] (form start &optional end)
Dereference an array value. If end
is
provided, extract a slice of the array.
Extract
a field from a date/time value. For example, (:extract
:month (:now))
.
A conditional expression. Clauses should take the
form (test value)
. If test is :else
,
an ELSE
clause will be generated.
Test whether a value lies between two other values.
sql-op :between-symmetric (n start end)
Works
like :between
, except that the
start value is not required to be less than the end value.
Can be used to combine multiple names into a name of the form A.B to refer to a column in a table, or a table in a schema. Note that you can also just use a symbol with a dot in it.
Add a type declaration to a value, as in in
"4.3::real". The second argument is not evaluated normally, but
put through sql-type-name
to get a type
identifier.
Insert a string as-is into the query. This can be useful for doing things that the syntax does not support, or to re-use parts of a query across multiple queries:
(let* ((test (sql (:and (:= 'foo 22) (:not-null 'bar)))) (rows (query (:select '* :from 'baz :where (:raw test))))) (query (:delete-from 'baz :where (:raw test))) (do-stuff rows))
Creates a select query. The arguments are split on
the keywords found among them. The group of arguments immediately
after :select
is interpreted as the expressions that
should be selected. After this, an optional :distinct
may follow, which will cause the query to only select distinct
rows, or alternatively :distinct-on
followed by a
group of row names. Next comes the optional keyword
:from
, followed by at least one table name and then
any number of join statements. Join statements start with one of
:left-join
, :right-join
,
:inner-join
, :outer-join
or
:cross-join
, then a table name or subquery, then the
keyword :on
or :using
, if applicable,
and then a form. A join can be preceded by :natural
(leaving off the
:on
clause) to use a natural join. After the joins an
optional :where
followed by a single form may occur.
And finally :group-by
and :having
can
optionally be specified. The first takes any number of arguments,
and the second only one. An example:
(:select (:+ 'field-1 100) 'field-5 :from (:as 'my-table 'x) :left-join 'your-table :on (:= 'x.field-2 'your-table.field-1) :where (:not-null 'a.field-3))
sql-op :limit (query amount &optional offset)
In S-SQL limit is not part of the select operator, but an extra operator that is applied to a query (this works out better when limiting the union or intersection of multiple queries, same for sorting). It limits the number of results to the amount given as the second argument, and optionally offsets the result by the amount given as the third argument.
sql-op :order-by (query &rest exprs)
Order the results of a query by the given
expressions. See :desc
for when
you want to invert an ordering.
sql-op :over (form &rest args)
Over
, partition-by
and window
are so-called window
functions. A window function performs a calculation across a set
of table rows that are somehow related to the current row.
(query (:select 'salary (:over (:sum 'salary)) :from 'empsalary))
sql-op :partition-by (&rest args)
Args
is a list of one or more columns
to partition by, optionally followed by an :order-by
clause.
(query (:select 'depname 'subdepname 'empno 'salary (:over (:avg 'salary) (:partition-by 'depname 'subdepname)) :from 'empsalary))
Note the use of :order-by
without parens:
(query (:select 'depname 'empno 'salary (:over (:rank) (:partition-by 'depname :order-by (:desc 'salary))) :from 'empsalary))
(query (:select (:over (:sum 'salary) 'w) (:over (:avg 'salary) 'w) :from 'empsalary :window (:as 'w (:partition-by 'depname :order-by (:desc 'salary)))))
With provides a way to write auxillary statements for use in a larger query, often referred to as Common Table Expressions or CTEs.
(query (:with (:as 'upd (:parens (:update 'employees :set 'sales-count (:+ 'sales-count 1) :where (:= 'id (:select 'sales-person :from 'accounts :where (:= 'name "Acme Corporation"))) :returning '*))) (:insert-into 'employees-log (:select '* 'current-timestamp :from 'upd))))
sql-op :with-recursive (&rest args)
Recursive modifier to a WITH statement, allowing the query to refer to its own output.
(query (:with-recursive (:as (:t1 'n) (:union-all (:values 1) (:select (:+ 'n 1) :from 't1 :where (:< 'n 100)))) (:select (:sum 'n) :from 't1))) (query (:with-recursive (:as (:included_parts 'sub-part 'part 'quantity) (:union-all (:select 'sub-part 'part 'quantity :from 'parts :where (:= 'part "our-product")) (:select 'p.sub-part 'p.part 'p.quantity :from (:as 'included-parts 'pr) (:as 'parts 'p) :where (:= 'p.part 'pr.sub-part) ))) (:select 'sub-part (:as (:sum 'quantity) 'total-quantity) :from 'included-parts :group-by 'sub-part))) (query (:with-recursive (:as (:search-graph 'id 'link 'data 'depth) (:union-all (:select 'g.id 'g.link 'g.data 1 :from (:as 'graph 'g)) (:select 'g.id 'g.link 'g.data (:+ 'sg.depth 1) :from (:as 'graph 'g) (:as 'search-graph 'sg) :where (:= 'g.id 'sg.link)))) (:select '* :from 'search-graph))) (query (:with-recursive (:as (:search-graph 'id 'link 'data'depth 'path 'cycle) (:union-all (:select 'g.id 'g.link 'g.data 1 (:[] 'g.f1 'g.f2) nil :from (:as 'graph 'g)) (:select 'g.id 'g.link 'g.data (:+ 'sg.depth 1) (:|| 'path (:row 'g.f1 'g.f2)) (:= (:row 'g.f1 'g.f2) (:any* 'path)) :from (:as 'graph 'g) (:as 'search-graph 'sg) :where (:and (:= 'g.id 'sg.link) (:not 'cycle))))) (:select '* :from 'search-graph)))
sql-op :for-update (query &key of nowait)
Locks the selected rows against concurrent updates. This will prevent the rows from being modified or deleted by other transactions until the current transaction ends. The :of keyword should be followed by one or more table names. If provided, PostgreSQL will lock these tables instead of the ones detected in the select statement. The :nowait keyword should be provided by itself (with no argument attached to it), after all the :of arguments . If :nowait is provided, PostgreSQL will throw an error if a table cannot be locked immediately, instead of pausing until it's possible.
(:for-update (:select :* :from 'foo 'bar 'baz) :of 'bar 'baz :nowait)
sql-op :for-share (query &key of nowait)
Similar to :for-update, except it acquires a shared lock on the table, allowing other transactions to perform :for-share selects on the locked tables.
sql-op :function (name (&rest arg-types) return-type stability body)
Create a stored procedure. The argument and return
types are interpreted as type names and not evaluated. Stability
should be one of :immutable
, :stable
, or
:volatile
(see the
PostgreSQL documentation). For example, a function that gets foobars by
id:
(:function 'get-foobar (integer) foobar :stable (:select '* :from 'foobar :where (:= 'id '$1)))
sql-op :insert-into (table &rest rest)
Insert a row into a table. When the second
argument is :set
, the other arguments should be
alternating field names and values, otherwise it should be a :select
form that will produce the
values to be inserted. Example:
(:insert-into 'my-table :set 'field-1 42 'field-2 "foobar")
It is possible to add :returning
,
followed by a list of field names or expressions, at the end of
the :insert-into
form. This will cause the query to
return the values of these expressions as a single row.
sql-op :update (table &rest rest)
Update values in a table. After the table name
there should follow the keyword :set
and any number
of alternating field names and values, like
for :insert-into
. Next comes
the optional keyword :from
, followed by at least one table name
and then any number of join statements, like for
:select
. After the joins,
an optional :where
keyword followed by the condition,
and :returning
keyword followed by a list of field
names or expressions indicating values to be returned as query
result.
sql-op :delete-from (table &rest rest)
Delete rows from the named table. Can be given a
:where
argument followed by a condition, and a
:returning
argument, followed by one or more
expressions that should be returned for every deleted row.
sql-op :create-table (name (&rest columns) &rest options)
Create a new table. After the table name a list of column definitions follows, which are lists that start with a name, followed by one or more of the following keyword arguments:
:type
(or db-null integer)
to specify a
column that may have NULL values.:default
:unique
:primary-key
:check
:references
(target &optional
on-delete on-update)
. When target is a symbol, it names
the table to whose primary key this constraint refers. When it
is a list, its first element is the table, and its second
element the column within that table that the key refers to.
on-delete
and on-update
can be used to
specify the actions that must be taken when the row that this
key refers to is deleted or changed. Allowed values are
:restrict
, :set-null
,
:set-default
, :cascade
, and
:no-action
.After the list of columns, zero or more extra options (table constraints) can be specified. These are lists starting with one of the following keywords:
:check
:primary-key
:unique
:foreign-key
(columns target &optional on-delete on-update)
,
where columns
is a list of columns that are used by
this key, while the rest of the arguments have the same meaning
as they have in the :references
option for
columns.Every list can start with :constraint
name
to create a specifically named constraint.
Note that, unlike most other operators,
:create-table
expects most of its arguments to be
unquoted symbols. The exception to this is the value of
:check
constraints: These must be normal S-SQL
expressions, which means that any column names they contain should
be quoted. When programmatically generating table definitions,
sql-compile
is usually
more practical than the sql
macro.
Here is an example of a :create-table
form:
(:create-table enemy ((name :type string :primary-key t) (age :type integer) (address :type (or db-null string) :references (important-addresses :cascade :cascade)) (fatal-weakness :type text :default "None") (identifying-color :type (string 20) :unique t)) (:foreign-key (identifying-color) (colors name)) (:constraint enemy-age-check :check (:> 'age 12))
sql-op:alter-table (name action &rest args)
Alters named table. Currently changing a column's data
type is not supported. The meaning of args
depends on
action
:
:add-column
args
should be a column in the same form as for
:create-table
.:drop-column
:add-constraint
:drop-constraint
args
should name a constraint to be dropped;
second, optional argument specifies behaviour regarding
objects dependent on the constraint and it may
equal :cascade
or :restrict
.:add
args
should be a constraint in the same
form as for :create-table
.
(This is for backwards-compatibility, you should use named constraints.)Here is an example using the table defined above:
(:alter-table enemy :drop-constraint enemy-age-check) (:alter-table enemy :add-constraint enemy-age-check :check (:> 'age 21))
Drops the named table. You may optionally pass
:if-exists
before the name to suppress the error
message.
sql-op :create-index (name &rest args)
Create an index on a table. After the name of the
index the keyword :on
should follow, with the table
name after it. Then the keyword :fields
, followed by
one or more column names. Optionally, a :where
clause
with a condition can be added at the end to make a partial
index.
sql-op :create-unique-index (name &rest args)
Works like :create-index
, except that
the index created is unique.
Drop an index. Takes an :if-exists
argument like :drop-table
.
sql-op :create-sequence (name &key increment min-value max-value start cache cycle)
Create a sequence with the given name. The rest of the arguments control the way the sequence selects values.
Drop a sequence. You may pass
:if-exists
as an extra first argument.
sql-op :create-view (name query)
Create a view from an S-SQL-style query.
Drop a view. Takes optional
:if-exists
argument.
sql-op :set-constraints (state &rest constraints)
Configure whether deferrable constraints should be
checked when a statement is executed, or when the transaction
containing that statement is completed. The provided state must be
either :immediate
, indicating the former, or
:deferred
, indicating the latter. The constraints
must be either the names of the constraints to be configured, or
unspecified, indicating that all deferrable constraints should be
thus configured.
Tell the server to listen for notification events
on channel channel
, a string, on the current
connection.
Stop listening for events on channel
.
sql-op :notify (channel &optional payload)
Signal a notification event on
channel channel
, a string. The
optional payload
string can be used to send
additional event information to the listeners.


The Cape Cod Commission developed the WatershedMVP application for professionals, municipal officials and community members in order to assist in creating the most cost-effective and efficient solutions to Cape Cod’s wastewater problem. The application is an informational resource intended to provide regional estimates for planning purposes. The user can create and edit scenarios of any scale across Cape Cod using detailed, accurate data.
The Cape Cod Commission has been directed to update the 208 Plan in January of 2013. The Section 208 of the U.S. Clean Water Act was designed to propose implementable solutions for water quality problems from point (direct discharge to surface waters) and non-point (indirect discharge) sources within state-specified geographic regions, including Cape Cod, Massachusetts. This site is the epicenter of information and data the Cape Cod Commission is distributing in this effort.
This resource enables users to become players in an interactive game-like environment to educate about facts, explore issues, contribute views, and provide feedback. This online community charrette is fun to interact with and provides town-meeting like forums that can be accessed online on the user’s schedule.


In this scenario, I was required to write code that passed a set of pre-configured tests that checked to see if correct values were being passed through my functions (JS Kata - Gradebook for my fellow students). In laymens terms, this would be like if I needed my car to pass a warrent of fitness and each part of the car was tested. The test in this particular scenario that I was stuck on, required me to add a score to a student gradebook under the name of 'Susan', with a score of 80. However, I got stuck on this, as despite calling to the function and passing through the correct values, I was not passing the test.
I did a bit of googling to make sure that I wrote up the call to the function correctly, which I had indeed done right. I tried swapping the function around in my code to see if it was an issue of sequencing, that hadn't changed my outcome. I read through the error messages multiple times, but was confused as I was certain that I had done it correctly. I had also attempted to console log (In laymens terms, console logging is like writing down your working process for a math question on a test) the gradebook itself to check the values of it before and after the addScore function was called, and found that the value was being added, despite the fact that I still wasn't passing the test. It wasn't until I read further down the code, in the area where all the tests had been configured, where I discovered that this call to the function had already been written out before hand. The test itself checked to see if the gradebook had an exact number of entries, and because this function had been called to twice, the gradebook had received more than 1 entry. After removing the call to the function that I put in myself, the test passed as expected.
I felt mostly confused throughout the process, as I was absolutely certain that I had written what was required. I was even more stumped when the usual problem solving techniques that I had found reliable within my prior coding experience hadn't lead me to a solution.
The most important takeaway that I had obtained from this experience, was that it is important to read through all of the code you are working with beforehand, especially if the code that you are working with was written by somebody else. A simple oversight on my part, of not checking all of the code, had lead to a half hour stumble of confusion, that I could have easily avoided had I taken the short time before I started working to read through what I was assigned to work on.
Another scenario from the JS Kata section (Super FizzBuzz, this time). This time, we were required to set up 2 functions, 'FizzBuzz' and 'Super FizzBuzz'. The FizzBuzz function takes a number and either returns the number, or, a result if it is a multiple of a specified number. If the number is a multiple of 3, it returns the word 'Fizz', if a multiple of 5, it returns the word 'Buzz', and if a multiple of 15, it returns the word 'FizzBuzz'. An anology to help understand this, could be that of a raffle, where you want every ticket number that is a multiple of 3 to be for a minor prize, 5 for a medium, and 15 for a large.
The Super_FizzBuzz function here, is to return the same results, however, rather than taking in singular numbers, it takes in a array of numbers and checks for the value of each one in the array before returning either the number or a result based on what it is a multiple of. So, compared to the previous raffle scenario, this time, we're calculating multiple tickets at a time. The problem that I needed to resolve here, was to work out how to automate this process, as the testing required the Super_FizzBuzz function to work on arrays of any size.
Initially, I tried to copy and paste the functionality of the original fizz buzz and replicate the checks but with an arrays values, which didn't end up working, as the code within the original function just checks singular numbers without breaking them down in the array. I then typed in some Pseudocode to better get an idea of the sequencing that I would need to implement in order to achieve this, to which, I worked out that the right approach would be to check for how many numbers were in the array, and for each number, pass it through to the original FizzBuzz function and collect each returned number to be put into an array that is then returned from the Super_FizzBuzz function. My next technique was to do some googling around, which lead me to some StackOverflow pages that had similiar examples to what I was trying to achieve, which I could then work off of and implement in my example here.
I felt very cool, calm, and collected throughout the process of working out this issue, as I was able to find a sensical sequential workflow to forge a pathway to success that was time effecient.
My main takeaway from this instance of problem solving, was that planning out what you are trying to achieve with your code, before googling, is a great way of reducing the time load required to find the information that you are seeking. Had I not structured what I was trying to achieve with Pseudocode, it's likely that I could have spent a lot more time researching.
I found pseudocode very helpful in particular with the Super_FizzBuzz scenario described above. It's very similiar to brainstorming on a piece of paper before researching for a report, as it essentially structures the goals and objectives that you are wanting to achieve with a piece of code that you are wanting to write out.
This is almost always my first approach when it comes to problem solving, as it allows me to test the current level of knowledge that I have and to see if I know the solution right off the bat. It's important to not spend too much time just trying for the sake of trying, as it can be easy to go on pure auto pilot without trying other methods as well.
I find that the rubber ducky method has potential in certain circumstances where you are facing a complicated scenario and you yourself are having issues with understanding it. Similiar to Pseudocode, it allows you to lay out what you are wanting to achieve, by breaking everything down metaphorically and making comparisons to different scenarios and circumstances.
Varies from message to message based on the complexity of what is being read back to the developer. Usually, if I don't understand what has been given back to me on the first attempt, I will immediately google it afterwards.
A very helpful asset to have as a developer that I have used many times to break down each step in my code and to identify if certain values are being passed or assigned. One of my most used tools whenever I encounter problems throughout my code for sure.
I would make the argument that being a developer is mostly knowing how to use google. By far my most used technique whenevr I encounter coding problems. If you are able to combine this with other methods in order to break down and refine your search query, then you can filter through your search results to the most relevant and useful ones availible.
A crucial requirement as a developer, is being able to communicate and work within a team based environment. This includes not just the ability to collaberate, but also, the ability to ask for assistance when needed. In my prior experience, working within a development team in a work based environment, it was encouraged that I, as a junior developer, get assistance from the senior developer as soon as I needed it. A development team is very much a machine, and if one of those cogs slows down, it can slow down the entire process.
For similiar reasons above, asking for help from coaches is very important as well. Coaches are there to help, and are always very approachable and willing to help.
Reflecting via taking notes has been a very underrated part of my development experience. This is due to the fact that we as humans can not remember everything purely within our minds, as we are forgetful creatures. This is why I have always ensured to take down notes of whatever I have been doing, as there have been times where I have reffered back to notes taken years way back, as a way for me to recall my thought process from past experiences as a way to help myself in the present.


Demonstrates:
Display a totals row at the end of the grid.
This example uses basic JSON data. It can easily be modified to accommodate a DataView.
View Source:
View the source for this example on Github


2011 → 2013 (3 years)
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP (Federal Institute of Education, Science and Technology of São Paulo)
System Analysis and Development
Mar 2012 → Jul 2012
C Programming Language Tutor at IFSP
Aug 2012 → Jan 2013
Investigation of the performance and functionality of Business Intelligence Platforms with PostgreSQL/PostGIS, Pentaho Mondrian e Spatialytics GeoMondrian (2012).
Feb 2013 → Oct 2015 (2 years 9 months)
Collaborator
FLISOL São Carlos
October 8, 2013
Published in: Computing Conference (CLEI), 2013 XXXIX Latin American
Description: Spatial data warehouses provide a means of carrying out spatial analysis together with agile and flexible multidimensional analytical queries performed by SOLAP tools. However, queries are processed with slow query response times and functionalities of these tools are still insufficient, such as the support for a variety of spatial data warehouse schemas. In this paper, we conduct an experimental evaluation of existing open source software as SOLAP tool and database management system, to analyze its functionalities and query processing performance. Furthermore, we describe and evaluate our novel SOLAP tool called MapQuery that reuses efficient indices to boost query processing performance. Results derived from our performance evaluation indicated that MapQuery shortened the response time of queries from at least 63% up to 92% if compared to existing solutions.
February 2014
Aug 2013 → Feb 2014 (7 months)
Developer with Java EE 6, Glassfish, MySQL and Git.
February 2015
Campus Party 2015
Temporary CRM Collaborator
May 2015
Jul 2014 → Oct 2015 (1 year, 4 months)
Developer with Java EE 7, Wildfly 8.2, JSF 2.2, JMS, Primefaces, Hibernate, MySQL and Git.
DevOps setup of Redmine, Gitolite, Jenkins, Sonar Qube, Sonatype Nexus, ELK (Elasticsearch, Logstash and Kibana) and OpenNMS.
System Administration:
- NFS (Network File System).
- Firewall with Iptables.
Security tools used: SQLMap, Hydra, OWASP ZAP.
Dec 2015 → Jul 2016 (8 months)
General English, Upper Intermediate
12th December 2015
Aware Christmas Run
Phoenix Park, Dublin, Ireland
11th January 2016 → 5th February 2016
The Herald's Newspaper Seller
Dublin, Ireland
13th February 2016 → 9th April 2016
Cleaner at Massimo Dutti Store in Dundrum Town Centre
Dublin, Ireland
26th March 2016
Cadbury Easter Egg Hunt
Merrion Square, Dublin, Ireland
18th June 2016
CoderDojo Coolest Projects Awards
RDS Dublin, Ireland
6th November 2016
This site's code
Started: 5th June 2017
A real estate agency's website using Ruby on Rails / Site para imobiliária em Ruby on Rails
Jun 2017 → Feb 2020 (2 years, 9 months)
Web development with Ruby on Rails, React.js, PostgreSQL, MySQL, Docker and Git.
Dec 2017 (16 hours)
16h of theatrical techniques for spontaneous and impactful oratory! / 16h de técnicas teatrais para uma oratória espontânea e impactante!
Feb 2020 Nov 2020 (10 months)
Development with Ruby on Rails, Sinatra, RabbitMQ, PostgreSQL, OAuth2, Docker, Git and AWS.
Started: May 2020
A website for apply cientific tests of Emotional Intelligence using Ruby on Rails, Docker and PostgreSQL
Um site para aplicações de testes para estudos científicos de Inteligência Emocional em Ruby on Rails, com Docker e PostgreSQL
Nov 2020 → Currently
Development with Ruby on Rails, Elasticsearch, PostgreSQL, Git and Azure.


Info
About
News
Language
Reference
How To...
Examples
Tutorial
Projects
Compiler
Usage
Optimizations
Backend
CPU
6502
Z80
Platform
con6502
Atari
NES
C64
Oric Atmos
6502 Simulator
ZX Spectrum
conZ80
Download
Download
Source Code
Code Repository
Contact
Contact


Employee Management System
Department List
Department Id
Name
Added at
Last updated
#
ID
NAME
DEPARTMENT_ID
DOB
Delete
Remove the errors and resubmit.
Add


An introduction to AC Power
Understanding AC power.
A whole house energy monitor measures the energy used by appliances connected to the house mains. To understand how it does this, it is useful to know something about how appliances interact with the electrical system.
Not all appliances interact with the electricity system in the same way. This article will first discuss resistive loads and how the power they use is calculated. It then goes on to discuss reactive loads, and a bit about non-linear loads. Finally, it will show how we measure the direction of power flow, which is important if energy is generated as well as consumed.
Resistive loads
Incandescent light bulbs, kettles, irons, electric water heaters, electric cookers are all quite straightforward. They use all the energy given to them. They are resistive loads which means their current draw is equal to the voltage divided by their resistance (Ohms Law). A purely resistive load gives a voltage and current waveform output similar to the following:
Diagram 1 – Voltage and current phase relationships in a resistive load
The yellow line is power at a given time (at any given instant it's called instantaneous power) which is equal to the product of the voltage and current at a given time. Notice the power is always positive. In this case, the positive direction is energy flowing to the load.
Partially reactive loads
However things like fridges, washing machines, pillar drills and arc welders are not so straightforward as these appliances take in a certain amount of energy, then release some energy back into the mains supply. These have inductive (e.g. motors) or capacitive (e.g. arc welders) components in addition to the resistive component. A partially inductive load gives a voltage and current waveform output similar to the following:
Diagram 2 – Voltage and current phase relationships in a partially reactive load
Notice the yellow line now goes negative for a period of time, the positive bit is energy flowing to the load and the negative bit is energy flowing back from the load.
The other thing to consider is that the voltage and current waveforms have been shifted apart. Imagine charging a fairly large capacitor with a resistor in series (so that it can't charge instantly): To start with, the capacitor is discharged. The supply voltage rises, and is higher than the voltage on the capacitor, so current flows into the capacitor (the positive direction on the graph), which causes the capacitor voltage to rise. The supply voltage falls. Now, the voltage across the charged capacitor is higher than the supply voltage. Current starts to flow back in the direction of the supply (the negative direction on the graph). This causes the current waveform to appear as if it is shifted, as depicted in the graph. (This is referred to as phase shift).
Real Power, Reactive power and Apparent Power.
Looking at the voltage, current and power graphs above at mains frequency the power draw fluctuates 50/60 times a second. We cant keep up with change at this speed, so we have a more useful value for power: the average of the instantaneous power, which we call real or active power.
Real power is often defined as the power used by a device to produce useful work. Referring to the graph above, the positive bits are power going to the load from the supply, and the negative bits are power going back to the supply, from the load. The power that was actually used by the load, i.e. the power going to, minus the power going back, is the real power.
Reactive or imaginary power, is a measure of the power going back and forth between the load and the supply that does no useful work.
Another useful measure of power is Apparent Power, which is the product of the Root-Mean-Square (RMS) Voltage and the RMS Current. For purely resistive loads, real power is equal to apparent power. But for all other loads, real power is less than apparent power. Apparent power is a measure of the real and reactive power, but it is not a sum of the two, as the sum of the two does not take into account phase differences.
Relationship between real, reactive and apparent power for IDEAL sinusoidal loads:
Real Power = Apparent Power x cosΦ
Reactive Power = Apparent Power x sinΦ
cosΦ is also known as power factor.
However a note about non-linear loads:
This power factor relationship is valid only for linear sinusoidal loads. Most power supplies for DC devices like Laptop computers, present a non-linear load to the mains. Their current draw often looks like this:
We can still calculate power factor from the following equation:
Power Factor = Real Power / Apparent Power
but the relationship
(Apparent Power)2 = (Real Power)2 + (Reactive Power)2
which is true for pure sine waves, is no longer correct. Neither is power factor = cosΦ, since the effects of higher order harmonics in both voltage and current waveforms must be considered.
The power factor value measures how much the mains efficiency is affected by BOTH phase lag φ AND harmonic content of the input current.
Ref: understanding power factor by L Wuidart
Determining the direction of power flow.
Until now, this article has assumed that the load is consuming power. If however, we are generating power, then the direction the current flows is reversed. But because the current is alternating, the direction is reversing anyway, 50 (or 60) times each second. We need a reference to compare the current direction against. Fortunately, we have that in the form of the voltage. In diagram 1, the voltage and current waves both rose and fell together. When the voltage was positive (above the X axis) the current was positive, and when the voltage was negative (below the x axis) the current was negative. Power is equal to the product of the voltage and current, and so the power was always positive - all of the power curve is above the X axis.
If the house is generating power, the direction of the current is reversed compared to our previous example. Now when the voltage is positive, (above the X axis) the current is negative (below the X axis), and when the voltage is negative, the current is positive. The power always negative - all of the power curve is below the X axis.
Diagram 4 – Voltage and current phase relationships when generating energy.
The sign of the power therefore indicates whether power is being consumed or generated.
To sum up
There are many parameters we can measure regarding energy use in AC systems. Each one has its merits.
Next: AC Power Theory - Arduino maths - How real and apparent power, rms voltage and current, and power factor are calculated.
Further reading
https://en.wikipedia.org/wiki/AC_power
Power in resistive and reactive loads: https://www.allaboutcircuits.com/vol_2/chpt_11/1.html
Single phase power systems: https://www.allaboutcircuits.com/vol_2/chpt_10/1.html


Surveys of mosquito larvae were carried out in six areas of Kosrae Island, Kosrae State, the Federated States of Micronesia in December 2009 and June 2012. A total of 962 larvae of six species were collected from 106 natural and artificial habitats. They were identified as Aedes aegypti, Ae. albopictus, Ae. marshallensis, Culex quinquefasciatus, Cx. annulirostris, and Cx. kusaiensis. This is the first report from Kosrae Island for three of these species— Ae. marshallensis, Cx. quinquefasciatus, and Cx. annulirostris. The most abundant species was Ae. albopictus, followed by Ae. marshallensis, and these two species were found in all areas. Relatively large numbers of Cx. quinquefasciatus and Cx. kusaiensis were found in five areas. Fewer Cx. annulirostris were found, and only in three areas. Aedes aegypti larvae were collected from a single habitat at Tafunsak in 2009. To prevent the outbreak of dengue fever, environmental management should focus on the destruction, alteration, disposal and recycling of containers that produce larger numbers of adult Aedes mosquitoes.
Aedes aegypti and Ae. albopictus are major vectors of dengue fever and dengue hemorrhagic fever in urban areas of Southeast Asia and in the Western Pacific Region [ 1]. A dengue fever outbreak in Yap State of the Federated States of Micronesia (FSM) was reported in June and July 1995 [ 2]. Entomological investigations implicated a native mosquito species, Ae. hensilli, as the vector of the dengue virus [ 2, 3]. Another dengue fever outbreak occurred in Yap from May 2004 to January 2005 after Typhoon Sudal [ 4]. Six cases were exported to Japan via a group of visiting schoolchildren, without any known secondary spread [ 4, 5]. Dengue cases have occurred in Yap every year since 2007 [ 6], with a total of 1,108 confirmed cases between September 2011 and January 2012 [ 7]. A strong possibility exists that an outbreak of dengue fever will occur in the other three states of the FSM. However, little information is available on vector mosquito species. This report describes a survey regarding the geographical distribution of mosquito fauna and breeding sites of mosquitoes on Kosrae Island, Kosrae State, the FMS.
The FSM include four states: Kosrae, Pohnpei, Chuuk, and Yap. Kosrae State is the only state in the FSM with no outer islands (Fig. 1). Kosrae Island, the easternmost island of both the FMS and the Caroline Island chain, is roughly triangular, covering an area of 109 km 2. The island interior is composed of rugged mountains and river valleys. A full 70% of the island is mountainous and another 15% is mangrove swamp. Mt. Finkol, the highest peak, rises to a height of 629 m. The average annual temperature on Kosrae is 27°C, the average annual rainfall is 5,500 mm, and rainfall is heaviest in summer (June–August) and along the west coast [ 8].
Surveys regarding larval mosquitos on Kosrae Island were carried out in three areas, Tafunsak, Tofol, and Utwe, in December 2009, and six areas, Tafunsak, Lelu, Tofol, Malem, Utwe, and Walung, in June 2012. Larval collections were primarily carried out at sites near residences, and also on roadsides and in fields. When a habitat was small, all of the larvae were collected. When a habitat was large, fewer than 30 larvae were collected. When larvae were young and could not be identified to species, they were excluded from the number of individuals reported in the results. Larval collections were made in 106 habitats: Tafunsak (30 habitats), Lelu (19 habitats), Tofol (9 habitats), Malem (14 habitats), Utwe (25 habitats), and Walung (9 habitats). The sampled included coconut shells, banana stumps, tins, plastic bottles, noodle containers, ceramic cups, metal containers, plastic containers, paper containers, pots, plastic bags, tree holes, tires, car parts, puddles, fountain puddlse, concrete tanks and boats. Larvae were collected using a pipette and dipper. All of the larvae collected in 2009 were preserved in 70% ethanol, but some of the larvae collected in 2012 were reared to the adult stage. Larvae and adults were identified to species using the keys and descriptions of Bohart [ 9] and Bohart and Ingram [ 10].
In total, 962 larvae belonging to six species were collected at 106 natural and artificial habitats. They were identified as Aedes aegypti, Ae. albopictus, Ae. marshallensis, Culex quinquefasciatus, Cx. annulirostris, and Cx. kusaiensis (Table 1). Aedes albopictus was the predominant species (412 larvae, 59 habitats) followed by Ae. marshallensis (182 larvae, 35 habitats), and these species were distributed in all areas (Table 2). The number of Cx. quinquefasciatus and Cx. kusaiensis was relatively large, and they were collected at 15 and 19 habitats in five areas, respectively. The number of Cx. annulirostris was relatively small, and it was collected at four habitats in three areas. Aedes aegypti larvae were collected in only one habitat (a tire) in Tafunsak in 2009, and it was not collected in 2012.
Six species of mosquito larvae were collected in this survey: Ae. aegypti, Ae. albopictus, Ae. marshallensis, Cx. quinquefasciatus, Cx. annulirostris, and Cx. kusaiensis. The distribution of Ae. aegypti, Ae. marshallensis and Cx. kusaiensis were previously reported for Kosrae Island [ 9]. We present here the first report of Ae. marshallensis, Cx. quinquefasciatus, and Cx. annulirostris on Kosrae Island. The first survey period in December 2009 was very short and the larvae were not reared to adults, making specific identification of Aedes larvae difficult. Therefore, we carried out subsequent larvae surveys on Kosrae Island in June 2012. Some of the larvae collected in 2012 were reared to the adult stage, which permitted identification of the larvae collected in 2009 by comparison with individuals reared in 2012.
Kosrae Island is the easternmost island of the FMS and adjoins the Marshall Islands. An outbreak of dengue fever on the Marshall Islands was confirmed in October 2011, and the government issued an emergency warning to prevent the spread of dengue fever the same month [ 11]. It was feared that dengue virus might be carried into Kosrae State. We conducted the mosquito larval surveys again across the whole area of Kosrae State in June 2012. This revealed that three Aedes mosquitoes and potential vectors of dengue fever, Ae. aegypti, Ae. albopictus, and Ae. marshallensis, were distributed on Kosrae Island. Aedes aegypti larvae were collected in only a single habitat (a tire) at Tafunsak in 2009, and were not collected in 2012. The other two species, Ae. albopictus and Ae. marshallensis, were distributed throughout Kosrae State. Unfortunately, the dengue virus was transmitted to Kosrae State in September 2012 after our entomological survey, and among 230 patients with suspected dengue infections, 85 were confirmed positive between 26 September and 11 November. The infection rate was extremely high within the total population of Kosrae [ 12].
Dengue virus is mainly transmitted in the Pacific region by Ae. aegypti but also other mosquitoes of this genus with varying ranges [ 13]. Aedes hesilli, which transmits dengue virus in Yap State, was not collected in our survey. Aedes aegypti larvae were collected only in one habitat at Tafunsak in 2009, and it was not collected in 2012. A dengue fever outbreak occurred in Hawaii in September 2001, and Ae. albopictus was implicated in this outbreak due to its occurrence on Oahu, Maui, Molokai, and Kauai, as well as the absence of Ae. aegypti [ 14]. Aedes marshallensis has been determined to be a dengue vector on a biological basis [ 13]. Our entomological survey suggests that Ae. albopictus and/or Ae. marshallensis transmitted the dengue virus in Kosrae State.
Aedes species lay eggs in practically all types of artificial containers, and also in some natural containers. In this survey, artificial habitats (e.g., tins, plastic containers, plastic bottles, noodle containers, tires) were seen more frequently than natural habitats (e.g., tree holes, coconut shells, banana stumps, bamboo stumps). In 2007, Zika virus, a relatively mild disease similar to dengue fever and characterized by rash, joint pain, and conjunctives, was reported on Yap Island. This was the first report of Zika virus outside of Africa and Asia [ 15, 16]. Aedes hensilli was the predominant mosquito species identified. Chikungunya virus is also transmitted to humans by virus-carrying Aedes mosquitoes. Chikungunya has been identified in nearly 40 countries of Africa and Asia. Therefore, environmental management programs are necessary to prevent or minimize vector propagation and human contact with the vector-pathogen by destroying, altering, removing or recycling nonessential containers that provide larval habitats [ 17].
We thank the Honorable Lyndon H. Jackson, Governor of Kosrae State, and the Honorable Renster P. Andrew, Deputy Chief of Mission in the Embassy of the Federated States of Micronesia in Japan for their help in conducting research on Kosrae Island. We also thank Mr. Norlin Livaie and Mr. Isaac S. Isaac for arranging our surveys. We could not have conducted such efficient investigations without their warmhearted and persevering help. This work was supported by the Japan Society for the Promotion of Science (Project No. 22510271).
Map of Kosrae Island, the Federated States of Micronesia.
Number of mosquitoes and the habitat types from which they were collected on Kosrae Island, Kosrae State, the Federated States of Micronesia.
| 121December 2009* | 51Tafunsak | 11 Aedes aegypti | center112 | center111 | 11Tire (1) |
| 11 Aedes albopictus | center1176 | center1110 | 11Coconut shell (1), Tins (3), Noodle containers (2), Ceramic cups (2), Car parts (1), Tire (1) | ||
| 11 Aedes marshallensis | center1127 | center111 | 11Coconut shell (1) | ||
| 11 Culex quinquefasciatus | center1115 | center111 | 11Metal container (1) | ||
| 11 Culex kusaiensis | center1131 | center113 | 11Coconut shell (1), Tin (1), Ceramic cup (1) | ||
| 11 | 51 | ||||
| 21Tofol | 11 Aedes albopictus | center1119 | center112 | 11Banana stumps (2) | |
| 11 Aedes marshallensis | center1140 | center115 | 11Coconut shells (2), Banana stump (1), Tree holes (2) | ||
| 11 | 51 | ||||
| 51Utwe | 11 Aedes albopictus | center1129 | center114 | 11Tin (1), Plastic bag (1), Plastic container (1), Tire (1) | |
| 11 Aedes marshallensis | center1146 | center115 | 11Tins (2), Banana stump (1), Plastic container (1), Tire (1) | ||
| 11 Culex quinquefasciatus | center112 | center111 | 11Tin (1) | ||
| 11 Culex annulirostris | center1130 | center111 | 11Puddle of fountain (1) | ||
| 11 Culex kusaiensis | center112 | center111 | 11Tire (1) | ||
| 61 | |||||
| 221June 2012 | 41Tafunsak | 11 Aedes albopictus | center1170 | center1111 | 11Tins (2), Noodle containers (3), Plastic containers (5), Pot (1) |
| 11 Aedes marshallensis | center1116 | center114 | 11Coconut shell (1), Tin (1), Paper container (1), Plastic container (1) | ||
| 11 Culex quinquefasciatus | center1142 | center114 | 11Tin (1), Noodle container (1), Plastic containers (2) | ||
| 11 Culex annulirostris | center115 | center111 | 11Puddle (1) | ||
| 11 | 51 | ||||
| 31Lelu | 11 Aedes albopictus | center11115 | center1115 | 11Coconut shells (2), Tins (4), Noodle container (1), Plastic containers (6), Plastic bottles (2) | |
| 11 Aedes marshallensis | center1128 | center118 | 11Coconut shells (2), Tins (2), Noodle container (1), Plastic containers (2), Plastic bottle (1) | ||
| 11 Culex quinquefasciatus | center1122 | center113 | 11Coconut shell (1), Tin (1), Plastic bottle (1) | ||
| 11 | 51 | ||||
| 21Tofol | 11 Aedes marshallensis | center112 | center111 | 11Tin (1) | |
| 11 Culex kusaiensis | center1115 | center111 | 11Noodle container (1) | ||
| 11 | 51 | ||||
| 51Malem | 11 Aedes albopictus | center1133 | center116 | 11Tins (3), Plastic bottle (1), Pot (1), Tire (1) | |
| 11 Aedes marshallensis | center119 | center113 | 11Coconut shell (1), Pot (1), Tire (1) | ||
| 11 Culex quinquefasciatus | center111 | center111 | 11Pot (1) | ||
| 11 Culex annulirostris | center1149 | center112 | 11Metal container (1), Concrete tank (1) | ||
| 11 Culex kusaiensis | center1134 | center116 | 11Tin (1), Plastic containers (2), Tires (3) | ||
| 11 | 51 | ||||
| 41Utwe | 11 Aedes albopictus | center1164 | center119 | 11Plastic containers (2), Bamboo stumps (3), Tires (3), Boat (1) | |
| 11 Aedes marshallensis | center116 | center114 | 11Tins (2), Tires (2) | ||
| 11 Culex quinquefasciatus | center1150 | center113 | 11Tin (1), Plastic container (1), Boat (1) | ||
| 11 Culex kusaiensis | center1114 | center114 | 11Tin (1), Bamboo stumps (2), Tire (1) | ||
| 11 | 51 | ||||
| 41Walung | 11 Aedes albopictus | center116 | center112 | 11Noodle container (1), Plastic container (1) | |
| 11 Aedes marshallensis | center118 | center114 | 11Coconut shells (2), Plastic container (1), Plastic bottle (1) | ||
| 11 Culex quinquefasciatus | center1122 | center112 | 11Coconut shells (2) | ||
| 11 Culex kusaiensis | center1132 | 114 | 11Coconut shell (1), Noodle container (1), Plastic container (1), Plastic bottle (1) |
* Larval collections were not carried out on three areas, Lelu, Malem and Walung, in 2009.
Distribution of mosquitoes on Kosrae Island, Kosrae State, the Federated States of Micronesia.
| 11 Aedes aegypti | center112 | center111 | center11Η | 11 | 11 | 11 | 11 | 11 |
| 11 Aedes albopictus | center11412 | center1159 | center11Η | center11Η | center11Η | center11Η | center11Η | center11Η |
| 11 Aedes marshallensis | center11182 | center1135 | center11Η | center11Η | center11Η | center11Η | center11Η | center11Η |
| 11 Culex quinquefasciatus | center11154 | center1115 | center11Η | center11Η | 11 | center11Η | center11Η | center11Η |
| 11 Culex annulirostris | center1184 | center114 | center11Η | 11 | 11 | center11Η | center11Η | 11 |
| 11 Culex kusaiensis | center11128 | center1119 | center11Η | 11 | center11Η | center11Η | center11Η | center11Η |


Fogify: A Fog Computing Emulation Framework
Fogify is an emulation Framework easing the modeling, deployment and experimentation of fog testbeds. Fogify provides a toolset to: model complex fog topologies comprised of heterogeneous resources, network capabilities and QoS criteria; deploy the modelled configuration and services using popular containerized infrastructure-as-code descriptions to a cloud or local environment; experiment, measure and evaluate the deployment by injecting faults and adapting the configuration at runtime to test different "what-if" scenarios that reveal the limitations of a service before introduced to the public.
Features
Resources Heterogeneity
Fogify is able to emulate Fog nodes with heterogeneous resources and capabilities.
Network Links Heterogeneity
Controlling the link quality, such as network latency, bandwidth, error rate, etc.,and even reproduce real-world node-to-node and node-to-network connection traces
Controllable Faults and Alterations
Changes on running topology by injecting faults, alter network quality,and inject (varying) workload and compute resources
Any-scale Experimentation
Scalability from topologies with a limited number of nodes, capable to run on a single laptop or PC, tohundreds or thousands nodes, running on a whole cluster.
Monitoring Capabilities
Collect, manage, and process metrics from emulated Fog Nodes, network connections, and application-level information seamlessly
Rapid Application Deployment
Functional prototypes of an applications, written in docker-compose, demand no modifications to its business logic in order run on Fogify.
Who can use the Fogify Framework?
IoT Service Developers
Academic Researchers
Fog Computing Operators
What can you do with Fogify?
Topology Editing
A typical workflow starts with the user editing the docker-compose file of an IoT application, and extend it to encapsulate Fogify’s model. The Fogify model is composed of: (i) Fog Templates, allowing the description of Services, Nodes and Networks; and (ii) the Fog Topology, enabling users to specify Blueprints. A Blueprint represents an emulated device and is a combination of a Node, Service, Networks, replicas and a label. Services are inherited from docker-compose while the x-fogify section provides all Fogify primitives. Thus, users still develop their application using familiar docker constructs with the added functionality of Fogify not affecting portability. This means that a Fogify enhanced description will run in any docker runtime environment without any alterations, however users will lose the functionality offered by Fogify.
Deployment
When the description is ready, the user deploys the application using the FogifySDK through a Jupyter notebook, with the description received by the Fogify Controller. If no error is detected by the Controller, it spawns the emulated devices and creates the overlay mesh networks between them, instantiates the services, and broadcasts (any) network constraints to Fogify Agents. Specifically, the Controller translates the model specification to underlying orchestration primitives and deploys them via the Cluster Orchestrator, ensuring the instantiation of the containerized services on the emulated environment. Located on every cluster node, Fogify Agents expose an API to accept requests from the Controller, apply network QoS primitives, and monitor the emulated devices.
Testing
On a running emulated deployment, Fogify enables developers to apply Actions and “what-if” Scenarios (sequences of timestamped actions) on their IoT services, such as ad-hoc faults and topology changes. Actions and Scenarios are written by following the Fogify Runtime Evaluation Model. When an action or a scenario is submitted, the Fogify Controller coordinates its execution with the Cluster Orchestrator and the respective Fogify Agents. Furthermore, Fogify captures performance and app-level metrics via the Fogify Agent monitoring module. All metrics are stored at the Agent’s local storage and can be retrieved from the FogifySDK.
Analysis
To create an end-to-end interactive analytic tool for emulated deployments, we exploit the FogifySDK capabilities in Jupyter Notebook stack. Specifically, we pre-installed the FogifySDK library on Jupyter thus the user can (un-) deploy a Fog Topology, apply ad-hoc changes and scenarios, and, especially, retrieve runtime performance metrics. For the latter, FogifySDK stores metrics to an in-memory data structure, namely panda’s dataframe, providing exploratory analysis methods that produce plots and summary statistics. Except of out-of-the-box plots, provided by Pandas, we extended FogifySDK with tailored functions that provide a set of plots illustrating and explaining the effects of actions and scenarios in application performance. With the wide range of analytic methods provided by FogifySDK, users extract useful insights about QoS, cost, and predictive analytics. Finally, users may integrate other libraries, like scikit-learn, to endrose their analysis with ML and AI models.
Screenshots and Images
Fogify Overview
Fogify integration with Jupyter
Resources
The Team
The creators of the Fogify are members of the Laboratory for Internet Computing (LInC), University of Cyprus. You can find more information about our research activity visit our publications' page and our on-going projects.
Publications
For more details about Fogify and our scientific contributions, you can read the papers of Fogify and a published Demo. If you would like to use Fogify for your research, you should include at least on of the following BibTeX entries.
Fogify’s paper BibTeX citation:
@inproceedings{Symeonides2020,
author = {Moysis, Symeonides and Zacharias, Georgiou and Demetris, Trihinas and George, Pallis and Marios D., Dikaiakos},
title = {Fogify: A Fog Computing Emulation Framework},
year = {2020},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
booktitle = {Proceedings of the 5th ACM/IEEE Symposium on Edge Computing},
location = {San Jose, CA, USA},
series = {SEC ’20}
}
Fogify’s demo BibTeX citation:
@inproceedings{Symeonides2020,
author = {Moysis, Symeonides and Zacharias, Georgiou and Demetris, Trihinas and George, Pallis and Marios D., Dikaiakos},
title = {Demo: Emulating Geo-Distributed Fog Services},
year = {2020},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
booktitle = {Proceedings of the 5th ACM/IEEE Symposium on Edge Computing},
location = {San Jose, CA, USA},
series = {SEC ’20}
}
Acknowledgements
This work is partially supported by the EU Commission through RAINBOW 871403 (ICT-15-2019-2020) project and by the Cyprus Research and Innovation Foundation through COMPLEMENTARY/0916/0916/0171 project.


--- layout: post title: "Median Earning After 6 years of college entity" subtitle: "Using API to gather data and check feature importance on earning" date: 2018-02-01 10:45:13 -0400 background: '/img/posts/06.jpg' ---
"Go to college, get a better job." People have believed this quote for a long time. Yet, is this still true in today's world? Can we say that going to college would guarantee a better job? Sadly, we all know that that quote would not affect our world. Degrees from college are varied, complex, and often ignored. Although a bachelor's degree is still a big part, where and which field of the degree becomes more important than the degree itself.
First, I must ask one question. "What's a better job?" This can be a very personal question, but in general, we determine this question by future earnings. Salary! In this post, I assemble a dataset for investigating colleges and universities. Fortunately, there is a large collection of higher education data from the government that is accessible through an API. I use Data.gov to get this data.
I want to see median earning after 6 years after college entry. This can mean that how much is starting median earning after college. I use API data of 'College ScoreCard Data' from US Department of Education. The most recent data is 2012 data. Therefore, I scrap 2012 median earning and 2006 college data. For college data, there are two categories; type and majors.
Type is the basic information of the school such as state, size, highest degree, etc.. Major is an academic major that the student commits such as computer, health, etc.
First, I make a plot to see the distribution of median earning of all school after 6 years of graduation.There are some outliers on median earning, most of the median earning belong between $ 15,000 and $ 70,000.
Then, which degree is worth? In this data, there are four types of degrees; certificate, associate, bachelor, and graduate. Even though there are many outliers, graduate degree school has more median earning than other degrees. Surprisingly, median earning differences between certificate, associate, and bachelors are less than $ 20,000.
I use another feature from data, Carnegie Classification of Size and Setting. This feature categorizes each degree into 20 different classes. (More information, its webpage shows details, Carnegieclassifications.)
Carnegie Class 17 and 18 are Four-year, large, highly residential and Exclusively graduate/professional. These two shows better median earning than other classes. Moreover, there are not much of differences in median earning on other classes.
I create a model to understand the relationship between variables. I use Gradient Boosting Regressor to build my model because Gradient Boosting model gives me lowest RMSE, the residual average of $4887.38. From Feature importance, I realize that health major is the most important feature to predict median earning. Moreover, carnegie_undergrad 0.0 and highest degree are similar meanings, which is the graduate degree.
For next step, I want to know more details on meaning of each features. Especially,