Retail banks wake up to digital
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipis civelit sed quia non qui dolorem
Duis eleifend ullamcorper velit at fermentum. Ut a massa lobortis, gravida metus id, dignissim lorem. Nullam a ex ut tellus consequat pulvinar. Morbi nec nibh at nisi volutpat eleifend. Mauris lobortis, enim eget ornare pharetra, lorem risus sodales lacus, quis faucibus tortor tellus vitae risus. Aenean a justo sit amet erat maximus volutpat non ac nisi. Suspendisse potenti. Curabitur porttitor, libero ut dignissim ultrices, turpis mi aliquet mi, in gravida magna lacus id leo.
What can we do
Lorem ipsum dolor sit amet, sint occaecat cupidatat non proident occaecat cupidatat.
Lorem ipsum dolor sit amet, sint occaecat cupidatat non proident occaecat cupidatat.
Lorem ipsum dolor sit amet, sint occaecat cupidatat non proident occaecat cupidatat.
What can we do
Aliquam ultrices venenatis mauris. Vestibulum ante ipsum primis in industry, logistics, finance, business orci ultrices venenatis mauris.
See MoreAliquam ultrices venenatis mauris. Vestibulum ante ipsum primis in industry, logistics, finance, business orci ultrices venenatis mauris.
See MoreAliquam ultrices venenatis mauris. Vestibulum ante ipsum primis in industry, logistics, finance, business orci ultrices venenatis mauris.
See MoreAliquam ultrices venenatis mauris. Vestibulum ante ipsum primis in industry, logistics, finance, business orci ultrices venenatis mauris.
See MoreAliquam ultrices venenatis mauris. Vestibulum ante ipsum primis in industry, logistics, finance, business orci ultrices venenatis mauris.
See More
Business analytics (BA) is the practice of iterative, methodical exploration of an
organization's data with emphasis on statistical analysis.
Years of
Experiences
Professional
Advisors
new cases
every years
Registered
Cases
Business analytics (BA) is the practice of iterative, methodical exploration of an
organization's data with emphasis on statistical analysis.
Company founder and CEO, Simon St Ledger, demonstrates a genuine passion for health and wellbeing, and this is evidenced by the rapid growth of the company. He has immersed himself in the health and wellness industry for the past two decades. He is well versed in life science, the practice and theory, having been a personal trainer and dietary consultant.
Company founder and CEO, Simon St Ledger, demonstrates a genuine passion for health and wellbeing, and this is evidenced by the rapid growth of the company. He has immersed himself in the health and wellness industry for the past two decades. He is well versed in life science, the practice and theory, having been a personal trainer and dietary consultant.
Company founder and CEO, Simon St Ledger, demonstrates a genuine passion for health and wellbeing, and this is evidenced by the rapid growth of the company. He has immersed himself in the health and wellness industry for the past two decades. He is well versed in life science, the practice and theory, having been a personal trainer and dietary consultant.
Totam rem aperiam, eaque ipsa quae ab illo invent ore veritatis et quasi architecto beatae vitae dict eaque ipsa quae ab.Teritatis et quasi architecto. Sed ut perspi ciatis unde omnis iste natus error sit volu ptatem accusantium dolore mque.
Totam rem aperiam, eaque ipsa quae ab illo invent ore veritatis et quasi architecto beatae vitae dict eaque ipsa quae ab.Teritatis et quasi architecto. Sed ut perspi ciatis unde omnis iste natus error sit volu ptatem accusantium dolore mque.
Lorem ipsum dolor sit amet, consectetur adi pisi cing elit, sed do eiusmod tempor exercitationemut.
For Investment: Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipis civelit sed quia non qui dolorem or phone +11<PHONE_NUMBER> ipsum quia dolor sit amet, consectetur.
Nunc ac sapien lobortis, eleifend orci eu, vulputate mauris. Quisque sed pharetra justo, a dictum eros.


Poems of Emily Brontë
by Emily Brontë
A Daydream
Additional Information
- Year Published: 1846
- Language: English
- Country of Origin: England
- Source: Bronte, A., Bronte, C., and Bronte, E. (1846). Poems by Currer, Ellis, and Acton Bell. London, England: Aylott and Jones.
-
Readability:
- Flesch–Kincaid Level: 8.0
- Word Count: 472
- Genre: Poetry
- ✎ Cite This
Downloads
On a sunny brae alone I lay
One summer afternoon;
It was the marriage-time of May,
With her young lover, June.
From her mother’s heart seemed loath to part
That queen of bridal charms,
But her father smiled on the fairest child
He ever held in his arms.
The trees did wave their plumy crests,
The glad birds carolled clear;
And I, of all the wedding guests,
Was only sullen there!
There was not one, but wished to shun
My aspect void of cheer;
The very gray rocks, looking on,
Asked, “What do you here?”
And I could utter no reply;
In sooth, I did not know
Why I had brought a clouded eye
To greet the general glow.
So, resting on a heathy bank,
I took my heart to me;
And we together sadly sank
Into a reverie.
We thought, “When winter comes again,
Where will these bright things be?
All vanished, like a vision vain,
An unreal mockery!
“The birds that now so blithely sing,
Through deserts, frozen dry,
Poor spectres of the perished spring,
In famished troops will fly.
“And why should we be glad at all?
The leaf is hardly green,
Before a token of its fall
Is on the surface seen!”
Now, whether it were really so,
I never could be sure;
But as in fit of peevish woe,
I stretched me on the moor,
A thousand thousand gleaming fires
Seemed kindling in the air;
A thousand thousand silvery lyres
Resounded far and near:
Methought, the very breath I breathed
Was full of sparks divine,
And all my heather-couch was wreathed
By that celestial shine!
And, while the wide earth echoing rung
To that strange minstrelsy
The little glittering spirits sung,
Or seemed to sing, to me:
"O mortal! mortal! let them die;
Let time and tears destroy,
That we may overflow the sky
With universal joy!
"Let grief distract the sufferer’s breast,
And night obscure his way;
They hasten him to endless rest,
And everlasting day.
“To thee the world is like a tomb,
A desert’s naked shore;
To us, in unimagined bloom,
It brightens more and more!
“And, could we lift the veil, and give
One brief glimpse to thine eye,
Thou wouldst rejoice for those that live,
BECAUSE they live to die.”
The music ceased; the noonday dream,
Like dream of night, withdrew;
But Fancy, still, will sometimes deem
Her fond creation true.


Gaussian Kernel Density Estimation Demonstration
Several examples show how to use the gkdeb function.
Contents
- Distribution with unbounded support
- Distribution with upper and lower bounds: uniform distribution
- Distribution with lower bound only: exponential distribution
- Distribution with lower bound only: log-normal distribution
- Distribution with lower bound only: chi-square distribution
- Distribution with lower bound only: Rayleigh distribution
Distribution with unbounded support
Distribution with two peaks.
x = [0.1*randn(50,1); randn(50,1)+6]; gkdeb(x);
Distribution with upper and lower bounds: uniform distribution
clear x=rand(10000,1); % PDF with bounded support p.lB=0; p.uB=1; fhandle=figure; gkdeb(x,p); % Compare with unbounded PDF estimate p=gkdeb(x); figure(fhandle) subplot(211) hold plot(p.x,p.pdf,'r--','linewidth',2); axis([-0.5 1.5 0 1.1]) legend('Bounded','Unbounded','Location','South') subplot(212) hold plot(p.x,p.cdf,'r--','linewidth',2); axis([-0.5 1.5 0 1.1]) legend('Bounded','Unbounded','Location','SouthEast')
Current plot held Current plot held
Distribution with lower bound only: exponential distribution
clear x=-log(rand(1000,1)); % PDF with bounded support p.lB=0; p.uB=inf; fhandle=figure; gkdeb(x,p); % Compare with unbounded PDF estimate p=gkdeb(x); figure(fhandle) subplot(211) hold plot(p.x,p.pdf,'r--','linewidth',2); axis([-1 10 0 1]) legend('Bounded','Unbounded','Location','East') subplot(212) hold plot(p.x,p.cdf,'r--','linewidth',2); axis([-1 10 0 1]) legend('Bounded','Unbounded','Location','East')
Current plot held Current plot held
Distribution with lower bound only: log-normal distribution
clear x=exp(randn(1000,1)); % PDF with bounded support p.lB=0; p.uB=inf; fhandle=figure; gkdeb(x,p); % Compare with unbounded PDF estimate p=gkdeb(x); figure(fhandle) subplot(211) hold plot(p.x,p.pdf,'r--','linewidth',2); axis([-1 10 0 1]) legend('Bounded','Unbounded','Location','East') subplot(212) hold plot(p.x,p.cdf,'r--','linewidth',2); axis([-1 10 0 1]) legend('Bounded','Unbounded','Location','East')
Current plot held Current plot held
Distribution with lower bound only: chi-square distribution
clear x=randn(1000,1).^2; % PDF with bounded support p.lB=0; p.uB=inf; p.alpha=0.95; fhandle=figure; gkdeb(x,p); % Compare with unbounded PDF estimate p=gkdeb(x); figure(fhandle) subplot(211) hold plot(p.x,p.pdf,'r--','linewidth',2); axis([-1 10 0 1]) legend('Bounded','Unbounded','Location','East') subplot(212) hold plot(p.x,p.cdf,'r--','linewidth',2); axis([-1 10 0 1]) legend('Bounded','Unbounded','Location','East')
Current plot held Current plot held
Distribution with lower bound only: Rayleigh distribution
clear x=sqrt(randn(1,1000).^2 + randn(1,1000).^2); % PDF with bounded support p.lB=0; p.uB=inf; p.alpha=0.95; fhandle=figure; gkdeb(x,p); % Compare with unbounded PDF estimate p=gkdeb(x); figure(fhandle) subplot(211) hold plot(p.x,p.pdf,'r--','linewidth',2); axis([-1 7 0 1]) legend('Bounded','Unbounded','Location','East') subplot(212) hold plot(p.x,p.cdf,'r--','linewidth',2); axis([-1 7 0 1]) legend('Bounded','Unbounded','Location','East')
Current plot held Current plot held


Home
NETWORK DISCOVERY
TOPOLOGY
ICM
SETTINGS
First Time User
How to do Network Discovery
How to setup device credentials
How to create ICM rues
Notifications
<IP_ADDRESS> is conflicting
<IP_ADDRESS> is Not Working
Sign In
JOHN MILLER
Profile Setting
Change Password
Logout


Back during the release of diceroll 2.2, I wanted to learn something new in regards to Python. Even though I use 2.5.4, there is still a lot about it that I have never delved into. Sphinx was something I had not really paid any mind to in the past. It was yet another one of those need to know only things about Python. Some things I'd get around to learning only when I had to, but only if it was part of something else that I had taken an interest in doing.
So somewhere in my discovering of PyMongo, I had been pointed to Sphinx and Jinja. They were both something about document generation. And since I had just learned about Pandas and CSV, I was in a data retrieval mood still.
In a nutshell, Sphinx is an EXE (generated during its install from an egg of .py files, which is still magic to me, and which took a great deal of time for me tracking down all the proper versions of requirements for it to even compile/run in Classic Python 2.5.4) that generates documents. Nothing too fancy. Just simple documents that could be read easily/quickly through any device using any viewer. And when I learned that Sphinx could read Python modules and produce documents from their .__doc__ strings, I knew I just had to spend a couple days learning how all that stuff happens.
So basically, my Python dice rolling module has its own operations manual now. And some rabbit holes are worth their going into.
-Shawn
Microsoft Windows
diceroll has been tested on Windows versions: XP, 7, 8, and 10. It has not been tested on MacOS or Linux.
Classic Python 2.5
diceroll was written using the C implementation of Classic Python version 2.5.4. Also known as CPython. With some doing, this module could of course be re-written for Jython, PyPy, or IronPython.
Older versions of Eclipse/PyDev, PyCharm, NetBeans, and IDLE all work fine for running this module.
colorama 0.2.7
Because CMD may have some colored text messages for debugging. The colorama code can be removed if it is not needed, however.
Your Game
diceroll is not a standalone program. It requires your game to make calls to it.
Otherwise, no dice.
(Update: As of version 2.4, diceroll can be used at the CMD prompt.)
Warning
diceroll 3.1 will not work with Python 2.6+.
Installing diceroll 3.1 is as easy as always. Just copy diceroll.py into the same folder your code happens to be in.
Then add this line at (or near) the top of your code:
from diceroll import roll
If your code setup is different, in that you like to keep your function modules in a folder separate from your main code, you could copy diceroll.py into that folder.
Say you have a folder called game_utils, and assuming you have an __init__.py inside it, just copy diceroll.py into your game_utils folder and add this line near the top of your code:
from game_utils.diceroll import roll
New in version 2.3
Extract diceroll_3.1.0b.zip and start a CMD window at the folder location of the setup.py file. At the CMD prompt you can type:
setup.py install
or:
python setup.py install
depending on if your computer knows how to open .py files or not.
Note
During the installation process, a Python25\Lib\site-packages\game_utils folder will be created. It will contain __init__.py and diceroll.py if your Python doesn't have setuptools installed. Otherwise, an .egg file called diceroll-3.1.0b-py2.5.egg will be created and copied into the Python25\Lib\site-packages folder.


|
Dev Update 136: Some re-organization
Hello contributors,
How's your 2017 going? Since the January newsletter we've been trying to make some organizational improvements. Firstly, we archived the forum at duck.co/forum which included an Instant Answers ideas section. This means that all developer discussion can be fully focused on forum.duckduckhack.com. We also archived the blog at duck.co/blog which contains these developer newsletters — 135 of them! Future developer updates will be posted to forum.duckduckhack.com. One benefit of this is better spam control which was a growing problem, tackled single-handedly by Community Leader x-15a2's non-stop efforts.
By the way, for non-developer discussion we'll continue to use the DuckDuckGo subreddit, and for blog posts we have a new privacy-centric blog: spreadprivacy.com
One more area that is sometimes overlooked is the variety of GitHub repositories we have. Did you know a large number of our web pages, as well as apps and extensions, are open source and hosted on GitHub? If you find something you think could be improved, please feel free to file an issue or even send a pull request.
Of course, the DuckDuckHack community is centered around the Instant Answer "zeroclickinfo" repos, and they're still the best way for people to join the community and contribute code that makes an impact and reaches potentially millions of users. Recently PJHampton has compiled a meta issue of the most high-value tasks, but in the meantime here's a quick summary of some we're looking for help with...
|
|
Quick Tip
A security tip this time, important for anyone who searches for code to use on the command line (all of us?!). Graduate student Suresh Alse has an elegant but scary demo showing how risky copying and pasting commands is. Sure, we already know to fully understand what commands do before pressing Enter, but there's another risk — hidden code.
His clever demo uses CSS to hide code within a simple ls -lat command. It looks innocent but demonstrates that when you select and copy that code from his website, any text hidden with CSS will also be copied and consequently executed. Fortunately his example is harmless but scary nevertheless. Definitely worth trying out:
lifepluslinux.blogspot.jp/2017/01/look-before-you-paste-from-website-to.html
So how do we protect ourselves from such an attack? There are a couple of options:
- Look at the command and then type it out manually
- Copy the command and paste it into a text editor to double-check the contents
It may seem like extra effort but worth it to learn more about the commands you're executing.
|
One more thing
As mentioned last time, we're now publishing this newsletter less frequently, probably about once a month. If there's particular content you'd like to see or tips you want to share, please reply to this email or let us know on Twitter.
That's all for now — stay safe everyone!
- The DuckDuckGo Staff
|
|
|


Are you looking for a reliable, convenient and free online storage solution? CloudDrive is the your choice! CloudDrive is a client software for Adobe Acrobat Storage Service, which offers 5GB free online storage for each account.So, when you use CloudDrive, all your files are stored in Adobe Acrobat Storage Service.
Why we need such a client software? Cann't I use Acrobat storage service directly? Ok, here is the reason: Adobe Acrobat File Storage Service, like most other online storage solutions, such as Google Docs, Microsoft Skydrive, only offers you to upload/download files through their websites. Thinking about uploading a large file or folder, which probably takes hours to finish, in the whole process, you cannot close the webpages or turn off your computer! There is no way to do the lengthy job silently in backgourd. If this is not too bad? Here is the worst thing: All these services do NOT allow you to upload a folder! Want to upload a folder with hundreds of files/subfolders inside of it? Forget it! It would be a nightmare!
With CloudDrive, you can upload/download a folder and all the files/subfolders inside of it with just a drag and drop! CloudDrive will take care of all the uploading/downloading in the background.
With CloudDrive, you do not need to worry anymore about losing your data due to computer hard disk failures or outsider threats. You can be sure your important files will always be there when you need them.
With CloudDrive, you can access to your data from anywhere you are connected to the Internet.
When you start up CloudDrive, it will ask you to input your registered email and password on Adobe Acrobat Storage Service to login.
If you do not have an account on acrobat.com, click the “sign up” link or visit Acrobat.com to sign up for a free account. The sign up page is very simple and friendly. Only your email, password, name and country are required.
After that, your registered mailbox will receive an email from acrobat. You MUST confirm your email by clicking the link in the email.
Now input your registered email and password in the login form and start to experience CloudDrive. When the first time you logged in, probably there are already several files in CloudDrive; All of them are Acrobat’s ads, you can delete them all.
There are 3 ways to upload files or folders:
a) The most convenient way is: Drag the uploading files and folders in windows explorer, and drop them in the CloudDrive window. Done! Is it easy?
b) Copy&Paste: Select the files and folders in windows explorer, right click, select “copy” in the context menu (or Ctrl+C). Go back to CloudDrive window, right click, “Paste” (or Ctrl+V).
c) Click the “upload” button in the toolbar, select files in the popup dialogbox, then click “open” to start uploading. NOTE: you can not upload folders through this way.
Select files and folders in CloudDrive window, right click, select “Download…”, pick up a folder in the popup dialog, click “OK” to start download.
NOTE: Drag files/folders from CloudDrive to windows explorer is not supported yet. This feature will be included in the future version of CloudDrive.
Double Click a file will start to download the file to local computer and open it.
Double Click a folder will get into the folder.
Click the "Parent Folder" button on the toolbar will go back to the upper level folder.
Delete and Rename are supported.
......
1. Is the online storage free?
Yes, Acrobat offers 5GB free storage for each registered account.
2. Is CloudDrive software free?
Yes, this software is completely free.
3. Is it safe to store my files online?
Yes. You can trust Adobe Acrobat more than your hard disk. With CloudDrive, all network traffic are SSL encrypted, so you do not need to worry about data interception.
4. Is there any limitation for the file to be uploaded?
Files larger than 50MB sometime cannot be uploaded successfully, though Acrobat declares there is no problem to upload any file less than 2GB. We will find out the reason and solve the problem in the future version.
Due to the limitation of Acrobat, there are several formats are not supported yet, like MP3 files. Future version of CloudDrive will support any file format.
5. 5GB storage space is not enough for me, can I have a larger space to store my files?
There is a workaround: you can register more than one account on Acrobat.com, each will have a 5GB free storage apace. So the total space you have is : 5GB * the number of your account.
6. Why I can’t download files or folders by drag them from CloudDrive to my Desktop?
Due to some reason,this hasn’t been supported yet. It will be added in Version 1.0.
7. How can I upload a bunch of files and folders?
Drag them from windows explorer and drop them on CloudDrive.
8. Is there a requirement for my computer?
Till now, CloudDrive can only run on windows XP, windows Vista and windows 7. Some mobile platforms will be supported in the future.
9. Is there a support service for CloudDrive?
There is no official support service for CloudDrive, now. However, if you have any suggestion, bug report or problem of using CloudDrive, please email us. We are glad to hear any feedback from our users.
10. Sometime, CloudDrive is not stable, why?
The current version is 0.68, which means there are still bugs in it.
Another reason is Acrobat storage service has some yet unknown limitations for uploading and downloading. It also perform virus scanning for all uploading files which probably block some requests. And, the complexity of the Internet and your network environment can also lead to occasional loss of data.
We will try to fix all the problems in future verion. And we are thankful to hear bug reports from you.
11. How can I get the latest update for CloudDrive?
You can visit CloudDirve's website: www.driveoncloud.com to get the latest version. Automatic upgrade will be supported in the future.
12. Does the CloudDrive program quit when I close the CloudDrive window?
No, when you close the window of CloudDrive, it is minimized to a system tray icon at the bottom-right corner on your desktop and continues to work in background. The only way to quit the program is to right click the system tray icon and select "exit".
13. What features are going to be added to CloudDrive in the future?
We plan to add File Sharing, Data Encryption, PDF Creation, Windows Explorer Integration and other functions in the future version of CloudDrive.
And we will add more based on users' feedback!
CloudDrive use Acrobat.com storage services to upload or download your files. Your use of Acrobat.com services is subject to their terms and conditions.
CLOUDDRIVE SHALL NOT BE LIABLE TO YOU OR ANY OTHER PARTY FOR ANY LOSS OF REVENUE OR PROFIT OR FOR INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR OTHER SIMILAR DAMAGES.


{% trans "What do I have to do to use exercisync?" %}
{% trans "Just connect to all the services you would like to sync between, click "Synchronize now," then forget ever reading this sentence." %}
{% trans "Do I need to re-connect my accounts every time?" %}
{% trans "No! Just connect to any one of the services you have already connected, and you will be signed back into exercisync and ready to start another synchronization." %}
{% trans "Do I need to visit exercisync.com to sync activities?" %}
{% trans "No. Synchronization is fully automatic. You can also manually trigger a synchronization any time you want." %}
{% trans "Which activities get synchronized?" %}
{% trans "All supported activities in your account are synchronized, not just new ones. Manually entered activities are supported, but are not currently being synchronized to TrainingPeaks (still some bugs to work out there)." %}
{% trans "What's the difference from" %} tapiriik.com?
{% trans "It is pretty the same site but with free synchronization and some sport trackers tapiriik doesn't support." %}
{% trans "Will exercisync create duplicate activities?" %}
{% trans "Nope - even if you tracked the same activity on multiple devices, or with multiple apps, exercisync will see that and won't create any duplicate activities." %}
{% trans "What about activities I've marked as private?" %}
{% trans "By default, exercisync will not sync private activities. If you wish, you can opt to have private activities synchronized. exercisync tries to keep private activities private, but not all services support private activities, so you should be cognizant of your privacy settings across all of your accounts." %}
{% trans "What data gets synchronized?" %}
{% trans "As much as possible: in addition to your path, exercisync will also sync distance, speed, heart rate, cadence, power, calories burned and even temperature between all services which support them." %}
{% trans "The activity statistics changed after a sync!" %}
{% trans "Discrepancies in activity statistics, like elevation gained/lost or calories burned, appear when services use different algorithms to calculate the same values. exercisync does not calculate these during synchronization." %}
{% trans "Can I view which activities were synchronized?" %}
{% trans "When logged in, you can visit the " %}{% trans "activities dashboard" %} {% trans "to see which activities were (or were not) synchronized, and to where." %}
{% trans "Can I sync in only one direction?" %}
{% trans "Yes: before triggering a sync, open up the options for the service in question and tweak as desired. These preferences are applied to all activities - even after they've been synchronized to other services." %}
{% trans 'What are "untagged activities" and why do I care?' %}
{% trans 'Who is "exercisync" on Garmin Connect?' %}
{% trans "To enable efficient synchronization, exercisync adds a special user to your Garmin Connect connections. You should never accept a separate connection request from a user like this; the process is fully automatic." %} {% trans "Read more" %}.
{% trans "Does exercisync ever modify or delete my activities?" %}
{% trans "No. Simple as that." %}
{% trans "What data is stored on your servers?" %}
{% trans "As little as is required. Check out the" %} {% trans "privacy page" %} {% trans "for more." %}
{% trans "How do I connect more services?" %}
{% trans "Just sign into any one of the services you already connected, then sign into the new service (or the other way around, it doesn't matter). The new service will be synchronized with all the others." %}
{% trans "Will exercisync support Activity Tracking Site X?" %}
{% trans "Possibly. I've had very little time to add additional services while at the same time maintaining those already available." %}
{% trans "Can exercisync and CopyMySports be used together?" %}
{% trans "I wouldn't recommend it - CopyMySports will often create duplicates of activities exercisync has already synchronized." %}


| # | Sta | Rlx | Name | Row Text |
| 0 | ST | 0 | autoRow0 | kinetic energy is a kind of mechanical energy (8f4b-dcdb-2be5-9423) |
| 1 | ST | 0 | autoRow1 | chemical energy is a kind of energy (b043-79cc-a77e-e968) |
| 2 | ST | 0 | autoRow2 | electrical energy is a kind of energy (b5ca-9f64-d6d6-6783) |
| 3 | ST | 0 | autoRow3 | heat is a kind of energy (9e7d-986e-6af1-5ac1) |
| 4 | ST | 0 | autoRow4 | light is a kind of energy (f742-384b-744c-10a9) |
| 5 | ST | 0 | autoRow5 | mechanical energy is a kind of energy (3144-f8f2-43a4-8712) |
| 6 | ST | 0 | autoRow6 | solar energy is a kind of energy (4849-d977-c75a-e8fb) |
| 7 | ST | 0 | autoRow7 | sound is a kind of energy (1980-256d-b685-846c) |
| 8 | ST | 0 | autoRow8 | electricity means electrical energy (5657-c6bc-e6cd-ae38) |


Delhi Court Accepts Robert Vadra’s Plea To Travel Abroad For Medical Treatment
by IANSA Delhi Court on Monday (9 December) allowed Robert Vadra, businessman and Congress interim Chief Sonia Gandhi's son-in-law, to travel to Spain for medical treatment and business purposes.
The court allowed Vadra to travel abroad while hearing his plea seeking the court's permission after the Enforcement Directorate (ED) filed its response.
Vadra, who is married to Congress General Secretary Priyanka Gandhi Vadra, had moved a plea on Saturday seeking permission to travel to Spain for two weeks.
The court had sought the ED response over this.
Vadra is facing the financial probe agency investigation under the provisions of Prevention of Money Laundering Act (PMLA) pertaining to allegations of money laundering in the purchase of a London-based property at 12, Bryanston Square, worth 1.9 million pounds. The property is allegedly owned by Vadra. He is currently out on anticipatory bail.
(This story has been published from a wire agency feed without modifications to the text. Only the headline has been changed.)


py-combtest¶
The term ‘combtesting’ refers to the systematic generation of test cases based on combinations of inputs, conditions, configs, etc. This lib supports the generation of cases in this way, and provides a metric ton of supporting tools that a writer of such tests is likely to need.
import sys
import combtest.action as action
import combtest.runner as runner
from mylib import MyClass
from mylib.test.utils import check_sanity
# Suppose we want to test a bunch of parameterizations of MyClass, whose
# initializer accepts a single str parameter, and which has a method called
# run() which accepts a single int parameter. And let's say we have written
# a utility function called check_sanity() that we use during a test to
# make sure our instance is sane given its current parameters.
class ActionInitialize(action.Action):
# Some strings to pass to the initializer. These will be passed to the
# __init__ as the param. If you want a more complex method to generate
# options, simply override get_option_set().
OPTIONS = ['', ' ', '23452345', 'sdfasdfas', u'\xaa'.encode()]
def run(self, param, state):
# Any exceptions raised here will be caught by the framework and
# counted as errors.
my_instance = MyClass(param)
# Let's presume our check_sanity function will raise
# exceptions on failure
check_sanity(my_instance)
# Save the instance for the next Action, allowing us to test
# all combinations of weird strings and weird run() params.
state['instance'] = my_instance
class ActionRun(action.Action):
# Some interesting ints to test
OPTIONS = [0, 1, -1, sys.maxsize, -sys.maxsize - 1]
def run(self, param, state):
my_instance = state['instance']
my_instance.run(param)
check_sanity(my_instance)
my_actions = [
ActionInitialize,
ActionRun,
]
# run_tests() actually generates the test cases and runs them. By default
# it will spin up several processes locally so we can run the tests in
# parallel. Optionally, it can spin up rpyc-based services across N nodes
# for distributed execution.
result = runner.run_tests(my_actions, state={})
if result.error_count > 0:
sys.stderr.write("We have %d failures!\nSee logs: %s\n" %
(result.error_count, result.logs))


Applies a function to each element and returns all elements for which the function returns True.
var notes = [ 42, 24, 91, 14, 27, 34 ] notes.filter(function (note) { return note < 30 }) // [ 24, 14, 27 ]


| I l@ve RuBoard |
Python supports threads through a number of built-in modules. For many threading-related tasks, you are likely to find these modules more than adequate, your code is portable across all platforms that support threading, and you have access to the copious documentation and examples available.
The most general-purpose of these modules is the threading module, which provides an interface modeled after Java's threading support. This module provides a Thread class to manage your threads and also a number of synchronization objects necessary in any nontrivial threading application.
Here's a trivial example using the threading module. Let's create a new thread as a subclass of the threading.Thread class and override the run() method that implements the thread. Each thread loops five times, printing a message each time. It should be noted that subclassing the Thread class is just one way to implement this thread; it's also possible to implement the new thread in a normal function.
The main thread creates three worker threads, then waits for them all to complete, using the join() method provided by the base class:
# SimpleThreads.py # # Trivial example of using the Python threading module. import Threading import time import random class SimpleThread(Threading.Thread): def run(self): for i in range(5): print self, i time.sleep(random.random()) if __name__=='__main__': threads = [] for i in range(3): thread = SimpleThread() thread.start() threads.append(thread) # Now we wait for them to finish. for thread in threads: thread.join() print "All threads finished"
Running this script should produce output similar to:
<SimpleThread(Thread-8, started)> 0 <SimpleThread(Thread-9, started)> 0 <SimpleThread(Thread-10, started)> 0 <SimpleThread(Thread-8, started)> 1 <SimpleThread(Thread-10, started)> 1 <SimpleThread(Thread-8, started)> 2 <SimpleThread(Thread-9, started)> 1 <SimpleThread(Thread-9, started)> 2 <SimpleThread(Thread-10, started)> 2 <SimpleThread(Thread-8, started)> 3 <SimpleThread(Thread-10, started)> 3 <SimpleThread(Thread-9, started)> 3 <SimpleThread(Thread-8, started)> 4 <SimpleThread(Thread-10, started)> 4 <SimpleThread(Thread-9, started)> 4 All threads finished
As you can see, implementing, starting, and waiting for completion of threads is quite simple. Please see the Python documentation for more information on the threading module, including the various synchronization objects supported by the module.
| I l@ve RuBoard |


HR ANALYSIS WITH HANDY 6
Upload and Analyse Dataset
Select File
Select Operation
Employee Satisfaction
Left Job/High Salary
Left Job/Medium Salary
Left Job/Low Salary
© Invasive Analysts, 2017


struct Time
Overview
Time
represents a date-time instant in
incremental time
observed in a specific time zone.
The calendaric calculations are based on the rules of the proleptic Gregorian calendar as specified in ISO 8601. Leap seconds are ignored.
Internally, the time is stored as an Int64
representing seconds from epoch
(0001-01-01 00:00:00.0 UTC
) and an Int32
representing
nanosecond-of-second with value range 0..999_999_999
.
The supported date range is 0001-01-01 00:00:00.0
to
9999-12-31 23:59:59.999_999_999
in any local time zone.
Telling the Time
There are several methods to retrieve a Time
instance representing the
current time:
Time.utc # returns the current time in UTC
Time.local Time::Location.load("Europe/Berlin") # returns the current time in time zone Europe/Berlin
Time.local # returns the current time in current time zone
It is generally recommended to keep instances in UTC and only apply a local time zone when formatting for user display, unless the domain logic requires having a specific time zone (for example for calendaric operations).
Creating a Specific Instant
Time
instances representing a specific instant can be created by
.utc
or .new
with the date-time specified as individual arguments:
time = Time.utc(2016, 2, 15, 10, 20, 30)
time.to_s # => 2016-02-15 10:20:30 UTC
time = Time.local(2016, 2, 15, 10, 20, 30, location: Time::Location.load("Europe/Berlin"))
time.to_s # => 2016-02-15 10:20:30 +01:00 Europe/Berlin
# The time-of-day can be omitted and defaults to midnight (start of day):
time = Time.utc(2016, 2, 15)
time.to_s # => 2016-02-15 00:00:00 UTC
Retrieving Time Information
Each Time
instance allows querying calendar data:
time = Time.utc(2016, 2, 15, 10, 20, 30)
time.year # => 2016
time.month # => 2
time.day # => 15
time.hour # => 10
time.minute # => 20
time.second # => 30
time.millisecond # => 0
time.nanosecond # => 0
time.day_of_week # => Time::DayOfWeek::Monday
time.day_of_year # => 46
time.monday? # => true
time.time_of_day # => 10:20:30
For querying if a time is at a specific day of week, Time
offers named
predicate methods, delegating to #day_of_week
:
time.monday? # => true
# ...
time.sunday? # => false
Time Zones
Each time is attached to a specific time zone, represented by a Location
(see #location
).
#zone
returns the time zone observed in this location at the current time
(i.e. the instant represented by this Time
).
#offset
returns the offset of the current zone in seconds.
time = Time.local(2018, 3, 8, 22, 5, 13, location: Time::Location.load("Europe/Berlin"))
time # => 2018-03-08 22:05:13 +01:00 Europe/Berlin
time.location # => #<Time::Location Europe/Berlin>
time.zone # => #<Time::Location::Zone CET +01:00 (3600s) STD>
time.offset # => 3600
Using .utc
, the location is Time::Location::UTC
:
time = Time.utc(2018, 3, 8, 22, 5, 13)
time # => 2018-03-08 22:05:13.0 UTC
time.location # => #<Time::Location UTC>
time.zone # => #<Time::Location::Zone UTC +00:00 (0s) STD>
time.offset # => 0
A Time
instance can be transformed to a different time zone while retaining
the same instant using #in
:
time_de = Time.local(2018, 3, 8, 22, 5, 13, location: Time::Location.load("Europe/Berlin"))
time_ar = time_de.in Time::Location.load("America/Buenos_Aires")
time_de # => 2018-03-08 22:05:13 +01:00 Europe/Berlin
time_ar # => 2018-03-08 18:05:13 -03:00 America/Buenos_Aires
Both Time
instances show a different local date-time, but they represent
the same date-time in the instant time-line, therefore they are considered
equal:
time_de.to_utc # => 2018-03-08 21:05:13 UTC
time_ar.to_utc # => 2018-03-08 21:05:13 UTC
time_de == time_ar # => true
There are also two special methods for converting to UTC and local time zone:
time.to_utc # equals time.in(Location::UTC)
time.to_local # equals time.in(Location.local)
#to_local_in
allows changing the time zone while keeping
the same local date-time (wall clock) which results in a different instant
on the time line.
Formatting and Parsing Time
To make date-time instances exchangeable between different computer systems or readable to humans, they are usually converted to and from a string representation.
The method #to_s
formats the date-time according to a specified pattern.
time = Time.utc(2015, 10, 12, 10, 30, 0)
time.to_s("%Y-%m-%d %H:%M:%S %:z") # => "2015-10-12 10:30:00 +00:00"
Similarly, Time.parse
and Time.parse!
are used to construct a Time
instance from date-time
information in a string, according to a specified pattern:
Time.parse("2015-10-12 10:30:00 +00:00", "%Y-%m-%d %H:%M:%S %z", Time::Location::UTC)
Time.parse!("2015-10-12 10:30:00 +00:00", "%Y-%m-%d %H:%M:%S %z")
See Time::Format
for all directives.
Calculations
Time.utc(2015, 10, 10) - 5.days # => 2015-10-05 00:00:00 +00:00
span = Time.utc(2015, 10, 10) - Time.utc(2015, 9, 10)
span.days # => 30
span.total_hours # => 720
span.total_minutes # => 43200
Measuring Time
The typical time representation provided by the operating system is based on a "wall clock" which is subject to changes for clock synchronization. This can result in discontinuous jumps in the time-line making it not suitable for accurately measuring elapsed time.
Instances of Time
are focused on telling time – using a "wall clock".
When Time.local
is called multiple times, the difference between the
returned instances is not guaranteed to equal to the time elapsed between
making the calls; even the order of the returned Time
instances might
not reflect invocation order.
t1 = Time.utc
# operation that takes 1 minute
t2 = Time.utc
t2 - t1 # => ?
The resulting Time::Span
could be anything, even negative, if the
computer's wall clock has changed between both calls.
As an alternative, the operating system also provides a monotonic clock. Its time-line has no specfied starting point but is strictly linearly increasing.
This monotonic clock should always be used for measuring elapsed time.
A reading from this clock can be taken using .monotonic
:
t1 = Time.monotonic
# operation that takes 1 minute
t2 = Time.monotonic
t2 - t1 # => 1.minute (approximately)
The execution time of a block can be measured using .measure
:
elapsed_time = Time.measure do
# operation that takes 20 milliseconds
end
elapsed_time # => 20.milliseconds (approximately)
Included Modules
- Comparable(Time)
Defined in:
crystal_on_steroids/time.crInstance Method Summary
-
#next_day
Moves one day in the future.
-
#prev_day
Moves one day in the past.
-
#today?
Check if the especified time is corresponding to today.
-
#tomorrow
Moves one day in the future.
-
#yesterday
Moves one day in the past.
Instance methods inherited from class Object
in?(another_object)
in?,
presence
presence,
presence_in(another_object)
presence_in,
present?
present?,
to_param
to_param,
to_query(namespace)to_query to_query


It is important to read the documentation distributed together with the Apache server. These documents are usually kept in directory "<APACHE_HOME>\manual
" or "<APACHE_HOME>\htdocs\manual
" (where <APACHE_HOME>
denotes your Apache's installed directory). Read the tutorials and How-To's.
To install Apache 2, read "How to install Apache 2". I shall assume that Apache HTTP server is installed in d:\myProject\apache2
, running in port 8000. The document root directory is "<APACHE_HOME>\htdocs
".
Basic Configuration
Apache is configured by placing configuration directives, such as Listen
and ServerName
, into a configuration file, which will be read by the Apache executable during the startup.
The default configuration file is called "httpd.conf
" (or "apache2.conf
") in the directory "<APACHE_HOME>\conf
". Browser through this configuration file.
At a minimum, you need to check the following directives:
- Listen: to bind Apache to specific IP addresses and/or ports. HTTP server, by default, runs on port 80 for production. For testing, you could choose a port number between 1024 to 65535, which is not used by an existing application (you can run command "
netstat
" to check the existing connections). We shall run the Apache at port 8000.# Listen: Allows you to bind Apache to specific IP addresses and/or ports. Listen 8000
- ServerName: Set to your DNS hostname, or IP address (to find out your IP address, run command "
ipconfig
"), or your computer name, or "localhost" (localhost is meant for local loop-back testing only, you can also use the localhost's IP address <IP_ADDRESS>), followed by the port number chosen above.# ServerName gives the name and port that the server uses to identify itself. # If your host doesn't have a registered DNS name, enter its IP address here. ServerName YourHostNameOrIPAddres:8000
- ServerRoot: the Apache installed directory "
<APACHE_HOME>
", e.g.,# ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # Assume that Apache HTTP server is installed in "d:\myProject\apache2" ServerRoot "d:/myProject/apache2"
You should use Unix-style forward slash (
/
) as the directory separator, instead of Windows-style backward slash (\
) in the configuration file. - DocumentRoot: the document root directory, i.e., home directory of the server. It is set to "
<APACHE_HOME>\htdocs
" by default.# DocumentRoot: The directory out of which you will serve your documents. DocumentRoot "d:/myPorject/apache2/htdocs" # Access Control for the document base directory <Directory "d:/myPorject/apache2/htdocs"> # Show directory listing, and allow symbolic links Options Indexes FollowSymLinks # Cannot override with .htaccess files. AllowOverride None # Controls who can get stuff from this server. Order allow,deny Allow from all </Directory>
Caution: You MUST do a global search on "
htdocs
", before modifying the document root directory.
Access Control in Apache HTTP Server
Access control deals with controlling access to a resource, which could a set of directories, files or locations. Access control can be based on the client's identity, which is called authentication (discussed in "HTTP Authentication"). Access control could also be based on other criteria, such as the network address, the time of day, the browser which the client is using, the types of request methods, and etc.
Directory Access Control
This section deals with access control to directories. The following sections will deal with access control to files and locations.
<Directory>...</Directory>: can be used to apply access control to a set of directories. The syntax is:
<Directory directories>
# access control directives for the matching directory(ies).
......
</Directory>
The <directory>
block directive encloses a set of access-control directives, which will be applied to the matched directory(ies) and its sub-directories. The directories
specifies the directories applicable to this block. Wildcard can be used in matching: "?
" matches exactly one character; "*
" matches zero or more characters; [...]
can be used to specify a range of characters, e.g. [c-f]
. Extended regular expression (regexe) can be used, which begins with a "~
".
Options: controls what kinds of actions are permitted for the set of resources under control.
Option [+|-]option-1 [+|-]option-2 ...
The available options are:
- Indexes: If the client requests for a directory and there is no indexing file (e.g., "
Index.html
") in the directory, then the server will return a listing of the directory. If "Indexes
" option is disabled, the server returns error "403 Forbidden". - ExecCGI: Allow execution of CGI script.
- Includes: Allow Server-Side Include (SSI).
- IncludesNOEXEC: Allow SSI, but disable #exec command and #exec CGI.
- FollowSymLinks: Follow symbolic links.
- SymLinksIfOwnerMatch: Follow symbolic links only if the owner is the same.
- MultiViews: Allow content negotiation, such as language negotiation.
- None: Nothing.
- All: All options except
MultiViews
. This is the default setting. - + (or -) adds (or removes) that particular option, relative to the current setting. All the other options remain the same. For example, "
Option +Indexes -ExecGGI
" directive adds the "Indexes
" option and removes the "ExecCGI
" option from the current setting. The other options remain unaffected.
If no Options
directive is used, the effect is All except MultiViews
. However, if an Options
directive is used without +/-
, e.g., "Options Indexes
", only Indexes
option is available, and the rest of options are off. If +/-
is used, only that particular option is changed, the rest of the options remain the same (inherited from the setting at the higher level).
Example 1
<Directory /www> Options Indexes ExecCGI </Directory> <Directory /www/sales> Options Indexes </Directory> <Directory /www/support> Options -Indexes </Directory>
Since the <Directory>
matching applies to sub-directories, "/www
" has options Indexes
and ExexCGI
, "/www/sales
" has option Indexes
only (the setting in the parent directory is ignored), and "/www/support
" has option ExecCGI
(inherited from its parent directory).
Order: specifies the order in which Allow
and Deny
directives are evaluated.
Order Deny,Allow | Allow,Deny
- Deny,Allow: Access is allowed by default, and the
Deny
directives are evaluated before theAllow
directives. Any client which does not match aDeny
directive "or" does match anAllow
directive will be allowed access to the server. (The client is allowed access if it is in bothDeny
andAllow
list, asAllow
is evaluated last.) - Allow,Deny: Access is denied by default, and the
Allow
directives are evaluated before theDeny
directives. Any client which does not match anAllow
directive "or" does match aDeny
directive will be denied access to the server. (A client in bothAllow
andDeny
will be denied access, as Deny is evaluated last.)
Apache 2.4
Apache 2.4 uses a new module called mod_authz_host
for access control. Instead of the Order
, Allow
and Deny
directives in Apache 2.2, it uses a new directive Require
. For example,
// Apache 2.2 Order deny,allow Deny from all // Apache 2.4 Require all denied // Apache 2.2 Order allow,deny Allow from all // Apache 2.4 Require all granted // Apache 2.2 Order Deny,Allow Deny from all Allow from example.com // Apache 2.4 Require host example.org
[TODO] Tidy up the following examples.
Example 2
Order Deny,Allow Deny from all Allow from test101.com
- access is allowed by default;
- all hosts are denied;
- those in the domain "
*.test101.com
" are allowed.
Consequently, only hosts in "*.test101.com
" are allowed.
Example 3
Order Allow,Deny Allow from test101.com Deny from sales.test101.com
- access is denied by default;
- all hosts in the "
*.test101.com
" domain are allowed, and; - hosts in the "*
.sales.test101.com
" sub-domain are denied.
Consequently, all hosts in the "*.test101.com
" domain except "*.sales.test101.com
" are allowed.
On the other hand, if the Order
is changed to Deny,Allow
, all hosts will be allowed access (by default). This happens because, regardless of the actual ordering of the directives in the configuration file, the Allow from test101.com
will be evaluated last and will override the Deny from sales.test101.com
. Any other hosts are allowed access by default.
Example 4
<Directory /home> Order Allow,Deny </Directory>
Access is denied to all hosts to directory "/home
", based on the default setting.
Example 5
<Directory /home> Order Deny,Allow Deny from all </Directory>
Access is denied to all hosts to directory "/home
". Although the access is allowed by default, Deny from all
prohibits all hosts.
Allow: specifies which hosts can access a set of resources. Access can be controlled by hostname, IP Address, IP Address range, or environment variables.
Allow from all|host|env=env-variable
If Allow from all
is specified, then all hosts are allowed access, subject to the configuration of the Deny
and Order
directives. To allow only particular hosts or groups of hosts to access the server, the host can be specified in any of the following formats:
- Domain-name: Hosts whose names match, or end in, this string are allowed access. For example, Allow from test101.com will match sales.test101.com and support.test101.com but it will not match www.test999.com.
- Full/partial IP address: For example, Allow from 10.1 grants access to all IP addresses in the form 10.1.*.*.
- A network/netmask pair: For example, Allow from <IP_ADDRESS>/<IP_ADDRESS>.
If Allow from env=env-variable
is specified, then the request is granted if the environment variable env-variable
exists. This directive can be used to allow access based on such factors as the clients User-Agent (browser type), Referer, request method, or other HTTP request header.
Example 6
SetEnvIf User-Agent ^Mozilla/4.0 Mozilla4_browser <Directory /docroot> Order Deny,Allow Deny from all Allow from env=Mozilla4_browser </Directory>
In this example, browsers with a User-Agent
string beginning with Mozilla/4.0
will be allowed access. All other type of browsers will be denied.
Deny: restricts access based on hostname, IP address, or environment variables.
Deny from all|host|env=env-variable
The arguments for the Deny
directive are identical to the arguments for the Allow
directive.
File .htaccess
In each directory, you can create a file called ".htacces
" to control the access into that particular directory, if AllowOverride
is turned on. The directives inside the .htaccess
override the <directory>
directive. The relevant directives to enable .htaccess
in "httpd.conf
" are:
# AccessFileName specifies the name of the file to look for # in each directory for access control information. AccessFileName .htaccess # AllowOverride controls which options the .htaccess files in # directories can override. Can be "None", "All", or any # combination of "Options", "FileInfo", "AuthConfig", and "Limit". AllowOverride None|All|Options|FileInfo|AuthConfig|Limit # Prevent files beginning with ".ht" (such as .htaccess, .htpasswd # from being viewed by clients for security reason. # Since .htaccess files often contain authorization information. <Files ~ "^\.ht"> Order allow,deny Deny from all Satisfy All </Files> # To protect only .htaccess <Files .htaccess> Order allow,deny Deny from all </Files>
Using .htaccess
can prevent frequent re-starting of the server. This is because the configuration directives in "httpd.conf
" is read at startup. Any change requires a re-start. The .htaccess
is check at each access. Change will take effect for the subsequent accesses. The disadvantage is degradation in performance as the .htaccess
has to be check for every access into the directory.
<Limit methods> & <LimitExcept methods>:
<Limit request-method-1 request-method-2>
...directives...
</Limit>
Access controls are normally effective for all the request methods (such as GET, POST, HEAD, PUT, DELETE). <Limit>
and <limitExcept>
blocks can be used to restrict access controls based on the HTTP request method used in the incoming request. This is useful if you have implemented PUT request but wish to limit PUT requests but not GET requests; or you might want to allow GET/HEAD but limit PUT/DELETE.
For <limit>
, access control is applied to those methods listed; all the other methods are unrestricted, for example,
<Limit POST PUT DELETE> Order deny,allow Deny from All </Limit>
Access control applied to the methods POST, PUT, and DELETE; all other methods are unrestricted.
The method names listed can be one or more of: GET, POST, PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, and UNLOCK. If GET is used it will also restrict HEAD requests. The TRACE method cannot be limited.
<LimitExcept>
is used to enclose a group of access control directives which will be applied to any HTTP access method NOT listed; i.e., it is the opposite of a <Limit>
block and can be used to control both standard and nonstandard/unrecognized methods. A <LimitExcept>
block should be used in preference to a <Limit>
block when restricting access, since a <LimitExcept>
block provides protection against arbitrary methods. For example,
<LimitExcept GET POST> Order deny,allow Deny from all </LimitExcept>
Request methods other than GET and POST, such as PUT, DELETE will not be permitted.
Example 7
<Directory "d:/myPorject/apache2/users"> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS PROPFIND> # Default access is deny Order allow,deny # But allow access from all Allow from all </Limit> <LimitExcept GET POST OPTIONS PROPFIND> # Default access is allow Order deny,allow # But deny access from all Deny from all </LimitExcept> </Directory>
File Access Control
<Files file-name> ...... </Files>
Unlike <directory>
, file-name is relative to the DocumentRoot.
(Under construction)(Give some examples)
Location Access Control
<Location URL> ...... </Location>
Limit the scope of directives defined within the block to those matching URL(s).
(Under construction)(Give some examples)
Virtual Hosts
Very often, your web server has to support a few hostnames (e.g., www.test101.com, www.test102.com, and etc.), a few IP addresses (with multiple network cards) or listening to a few ports. It is rather unusual and messy to run one server for each of the hostnames, IP addresses, or ports. It is better to run many "virtual hosts" within a single physical web server.
HTTP/1.1 introduces a new feature called "virtual host", which allows you to running multiple hostnames on the same physical server/machine. HTTP/1.1-compliant server can support many hostnames/IP addresses/Ports within one single server. On the other hand, HTTP/1.0 server supports only one TCP address and one host name. In HTTP/1.1, the "Host" request header is mandatory to select one of the virtual hosts.
Read "Virtual Host - How-to" in "htdocs\manual\programs\vhosts\index.html.html"
Apache support (a) Name-based virtual hosts, (b) IP-based virtual hosts, and (c) Port-based virtual host.
Named-based Virtual Hosts
Name-based virtual hosting is usually simpler, since you only need to configure your DNS server to map each hostname to the same IP address and then configure the Apache HTTP Server to recognize the different hostnames. Name-based virtual hosting also eases the demand for scarce IP addresses. Name-based virtual hosting should be used unless there is a specific reason to choose IP-based virtual hosting.
To use name-based virtual hosting, you must designate the IP address (and possibly port) on the server that will be accepting requests for the hosts. This is configured using the NameVirtualHost
directive. In the normal case where any and all IP addresses on the server should be used, you can use * as the argument to NameVirtualHost
.
The next step is to create a <VirtualHost>
block for each different host that you would like to serve. The argument to the <VirtualHost>
directive should be the same as the argument to the NameVirtualHost
directive (i.e., an IP address, or * for all addresses). Inside each <VirtualHost>
block, you will need at minimum a ServerName
directive to designate which host is served and a DocumentRoot
directive to show where in the file system the content for that host lives.
If you are adding virtual hosts to an existing web server, you must also create a <VirtualHost>
block for the existing host. The ServerName
and DocumentRoot
included in this virtual host should be the same as the global ServerName
and DocumentRoot
. List this virtual host first in the configuration file so that it will act as the default host.
For example, suppose that you are serving the domain www.test101.com and you wish to add the virtual host www.test102.com, which resolves to the same IP address. Then you simply add the following to "httpd.conf
":
# Virtual host for all IP addresses at Port 80 NameVirtualHost * # First virtual host shall be the main server, the default host. <VirtualHost *> ServerName www.test101.com DocumentRoot /www101 </VirtualHost> <VirtualHost *> ServerName www.test102.com DocumentRoot /www102 </VirtualHost>
You can alternatively specify an explicit IP address in place of the * in both the NameVirtualHost
and <VirtualHost>
directives, if your server accepts multiple IP addresses.
Many servers want to be accessible by more than one name. This is possible with the ServerAlias
directive, placed inside the <VirtualHost>
section. For example if you add this to the first <VirtualHost>
block above
ServerAlias www.test101.com *.test101.com
then requests for all hosts in the test101.com domain will be served by the www.test101.com virtual host. The wildcard characters "*
" and "?
" can be used to match names. Of course, you can't just make up names and place them in ServerName
or ServerAlias
. You must first have your DNS server properly configured to map those names to an IP address associated with your server.
Now when a request arrives, the server will first check if it is using an IP address that matches the NameVirtualHost
. If it is, then it will look at each <VirtualHost>
section with a matching IP address and try to find one where the ServerName
or ServerAlias
matches the requested hostname. If it finds one, then it uses the configuration for that server. If no matching virtual host is found, then the first listed virtual host that matches the IP address will be used.
As a consequence, the first listed virtual host is the default virtual host. The DocumentRoot from the main server will never be used when an IP address matches the NameVirtualHost
directive. If you would like to have a special configuration for requests that do not match any particular virtual host, simply put that configuration in a <VirtualHost>
container and list it first in the configuration file.
IP-based virtual hosts use the IP address of the connection to determine the correct virtual host to serve. Therefore you need to have a separate IP address for each host. With name-based virtual hosting, the server relies on the client to report the hostname as part of the HTTP headers. Using this technique, many different hosts can share the same IP address.
For testing virtual host without access to DNS server: You can create a few hostnames pointing to your own IP address (or localhost) in your local DNS lookup table "hosts". For example:
<IP_ADDRESS> www.yellow.com <IP_ADDRESS> www.sales.yellow.com <IP_ADDRESS> www.orange.com <IP_ADDRESS> localhost <IP_ADDRESS> apple88 <IP_ADDRESS> orange99
In Windows, the local DNS lookup table is called "%SYSTEM_ROOT%\system32\drivers\etc\Hosts
".
IP-based Virtual Hosts
As the term IP-based indicates, the server must have a different IP address for each IP-based virtual host. This can be achieved by the machine having several physical network connections, or by use of virtual interfaces which are supported by most modern operating systems (see system documentation for details, these are frequently called "ip aliases", and the "ifconfig
" command is most commonly used to set them up).
For example:
<VirtualHost <IP_ADDRESS>> DocumentRoot /www201 ServerName www.test201.com </VirtualHost> <VirtualHost <IP_ADDRESS>> DocumentRoot /www202 ServerName www.test202.com </VirtualHost>
Host can be _default_
, in which case it matches anything no <VirtualHost>
matches.
Port-based Virtual Hosts
Use different port number for different virtual hosts. The advantage is you do not need many domain names or IP addresses. However, the client may not be familiar with the format of accessing HTTP server with a non-default port number.
An example is as follows:
Listen 80 <VirtualHost *:80> ServerName localhost:80 DocumentRoot /var/www1 ErrorLog <APACHE_HOME>/error.log CustomLog <APACHE_HOME>/access.log combined # Set the permission of the document base directory <Directory "/var/wwwl"> Options Indexes FollowSymLinks MultiViews AllowOverride None # Apache 2.4 Require all granted # Apache 2.2 # Order allow,deny # allow from all </Directory> </VirtualHost> Listen 8080 <VirtualHost *:8080> ServerName localhost:8080 DocumentRoot /var/www2 ErrorLog <APACHE_HOME>/error.log CustomLog <APACHE_HOME>/access.log combined # Set the permission of the document base directory <Directory "/var/www2"> Options Indexes FollowSymLinks MultiViews AllowOverride None # Apache 2.4 Require all granted # Apache 2.2 # Order allow,deny # allow from all </Directory> </VirtualHost>
The Listen directive tells the Apache which port to listen to. Apache can listen to more than one port by using multiple Listen directives.
Setup HTTPS for Apache Server (Windows)
For Ubuntu, read "Setup HTTPS for Apache (Ubuntu)".
Step 1: Create a Certificate for the Web Server
The first step to set up SSL support is to create a certificate for your web server. To do so, you need OpenSSL, which is an open-source software available at http://www.openssl.org. Apache's Windows binary package includes OpenSSL in "<APACHE_HOME>\bin
".
Issue the following command to create a self-signed certificate for the server. First of all, a public-private key pair is generated. The private key is saved in "MyServer.key
" (which shall be kept in a secure location). The public key is saved in a certificate "MyServer.crt
" to be transferred to the user.
> openssl req -x509 -days 36500 -newkey rsa:2048 -nodes -keyout MyServer.key -out MyServer.crt
-subj /C=SG/O=MyCompany/CN=localhost
// If error "Unable to load config info from /usr/local/ssl/openssl.cnf" encountered
> openssl req -x509 -days 36500 -newkey rsa:2048 -nodes -keyout MyServer.key -out MyServer.crt
-subj /C=SG/O=MyCompany/CN=localhost -config ../conf/openssl.cnf
The option are:
-x509
: requests a X.509 certificate to be generated.-days 36500
: sets the expiration period for the certificate. The default is 30 days. I set to 100 years.-newkey rsa:2048
: generate a new key-pair, using RSA of bit-length 2048.-nodes
: no passphrase is to be used for the private key file.-keyout
and-out
: specify the output private key-file and certificate.-subj
sets the country code (/C), company name (/O), and the common name (/CN). If you leave these out, you'll be prompted for them. The CN (Common Name) must be the same as yourServerName
in your Apache configuration, otherwise the certificate won't match and users will receive a warning when connecting.-config <openssl.conf>
: specify the openssl config file.- Refer to http://www.modssl.org/docs/2.2/ssl_reference.html for more information about OpenSSL command syntax.
To view the content of a certificate (which contains the public key of the server), issue the following openssl command:
> openssl x509 -in server.crt -noout -text
Step 2: Configuring Apache HTTP Server
First of all, move the private key file (MyServer.key
) and certificate (MyServer.crt
) to the Apache's configuration directory (<APACHE_HOME>/conf
).
In apache's main configuration "httpd.conf
" (under <APACHE_HOME>/conf
), check the following directives:
# Load the SSL module LoadModule ssl_module modules/mod_ssl.so # Include ssl configuration from an external file Include conf/extra/httpd-ssl.conf
The LoadModule
loads the SSL module and the Include
directive includes more configuration options for SSL support in "conf/extra/httpd-ssl.conf
", as follows
# Use HTTPS default port number of 443 Listen 443 # Define a Virtual Host for HTTPS under directory "wwwssl" <VirtualHost *:443> DocumentRoot "<APACHE_HOME>/wwwssl" ServerName localhost:443 ErrorLog "<APACHE_HOME>/logs/error.log" TransferLog "<APACHE_HOME>/logs/access.log" SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCertificateFile "<APACHE_HOME>/conf/MyServer.crt" SSLCertificateKeyFile "<APACHE_HOME>/conf/MyServer.key" # Set the permission of the document base directory <Directory "<APACHE_HOME>/wwwssl"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # SSLRequireSSL </Directory> </VirtualHost>
Verifying SSL Installation
Create the document root directory "wwwssl
", and place a welcome page (e.g., index.html
).
Start the Apache Server. Start a browser and issue https://localhost
.
Because the server certificate is self-signed and not signed by a trusted CA (Certificate Authority), browser issues a warning. Accept the warning and continue...
What if...
In case of error in the installation:
- Check the Apache and SSL log.
- Try connecting to the Apache server via OpenSSL as follows:
> openssl s_client -connect localhost:443
If the connection succeeds then an HTTP command such as "`GET /
"' to retrieve a web page.
Password-Protected Private Key File
You can attached a passphrase (i.e., password) to the private key file. However, to start Apache, you need to either hardcode the passphrase in the apache's configuration file (same security exposure as no passphrase) or provide the passphrase during the start-up dialog (this means that you can't automate the Apache start-up!).
CA-Signed Certificate
To generate a certificate for signning by CA:
- Generate a public-privage key pair and a certificate request:
> openssl req -new -newkey rsa:2048 -nodes -keyout MyServer.key -out www.mysite.com.csr -subj /O=MyCompany/OU=MyDepartment/CN=www.mysite.com
we didn't use the-x509
switch. The command will therefore generate a public-private key pair and certificate request in a.csr
file, but not a certificate (.crt
file). - Send that certificate request file "
www.mysite.com.csr
" to the CA (with your payment). You may be able to get a free certificate fromCAcert.org
. - Rename the received certificate to
MyServer.crt
and verify its contents:> openssl verify -CAfile /path/to/trusted_ca.crt -purpose sslserver server.crt
Check that the certificate corresponds to your private key:> openssl x509 -noout -modulus -in server.pem | openssl sha1 > openssl rsa -noout -modulus -in server.key | openssl sha1
- Install your private key (
MyServer.key
) and certificate (Myserver.crt
) in your apache configuration.
Miscellaneous Configurations
Log Files
Apache produces these log files: error log, access log. The default configuration puts the error log in "$APACHE_home\logs\error.log
" and access log in "$APACHE_home\logs\access.log
". Take a quick glance into these log files.
Error Log: The configuration directives related to error logging are ErrorLog
and LogLevel
:
ErrorLog
directive specifies the location of the error log file. For example:# ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a <VirtualHost> # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a <VirtualHost> # container, that host's errors will be logged there and not here. ErrorLog logs/error.log
LogLevel
directive controls the types of error messages written to the error log. For example:# LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn
Sample entries in the error log are as follows:
[Sun Oct 18 16:53:40 xxxx] [error] [client <IP_ADDRESS>] Invalid method in request get /index.html HTTP/1.0
[Sun Oct 18 18:36:20 xxxx] [error] [client <IP_ADDRESS>] File does not exist: d:/myPorject/apache2/htdocs/t.html [Sun Oct 18 19:58:41 xxxx] [error] [client <IP_ADDRESS>] client denied by server configuration: d:/myPorject/apache2/htdocs/forbidden/index.html
Access Log: The configuration directives related to access logging are CustomLog
and LogFormat
:
- The
CustomLog
directive specifies the locations of the access log files. There are 3 types of access logs: common, referrer and agent. Common access log captures client access. Referrer access log captures the "referrer" (as in the Referer request header) of the request. (Referrer can be used for access control or accounting purpose such as e-advertising.) Agent access log captures the types of the browsers used in issuing the request (as in the User-Agent request header). Most installations do not need the referrer and agent access logs. For example:# The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a <VirtualHost> # container, they will be logged here. Contrariwise, if you *do* # define per-<VirtualHost> access logfiles, transactions will be # logged therein and *not* in this file. CustomLog "logs/access.log" common #CustomLog logs/referer.log referer #CustomLog logs/agent.log agent
You can combine all the 3 access logs into a single log file, using keyword "combined".
# If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. #CustomLog "logs/access.log" combined
LogFormat
directive controls the format of the access logs. For example:# The following directives define some format nicknames for use with # a CustomLog directive. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent
Some sample entries in the "common" access log are as shown:
<IP_ADDRESS> - - [18/Oct/2009:15:41:30 +0800] "GET / HTTP/1.1" 200 44 <IP_ADDRESS> - - [18/Oct/2009:18:36:20 +0800] "GET /t.html HTTP/1.0" 404 204 <IP_ADDRESS> - - [18/Oct/2009:18:32:05 +0800] "get /index.html HTTP/1.0" 501 215
Error Response
The main role of Apache is to deliver document. When apache encounters problems and cannot meet a client's request, it generates an error code and returns an error message to explain the error. Apache provides a default set of error messages. Nonetheless, you can customize you own error response using directive ErrorDocument as follows:
- Produce a short message by providing a text string after a (").
ErrorDocument 404 "Cannot find the requested document.
- Redirect to a local page using a relative URL:
ErrorDocument 404 /missing.html ErrorDocument 403 //cgi-bin/forbidden.pl
- Redirect to an external page using an absolute URL. In this case, apache will send a "redirect" message to the client. The client has to issue another request to pull in the redirected page.
ErrorDocument 404 http://www.green.com/missing.html
Directory Indexing & Listing
If a client issues a URL selecting a directory, Apache returns a listing of that directory, if Options Indexes
is on; otherwise it returns error "403 forbidden". However, if the directory contains a file called "index.html
", Apache returns this "index.html
" instead. You can use directive DirectoryIndex
to specify the name of the indexing file. For example,
<IfModule mod_dir.c>
# The first item takes precedence if many exist
DirectoryIndex index.html myindex.html
</IfModule>
You can control the appearance (e.g., fancy indexing) of the directory listing using directive IndexOptions
(of module mod_autoindex
). See Apache documentation for more details.
To turn off automatic indexing for a directory, you can use directive "Options -indexes
". Apache will return error "403 Forbidden" if a directory request is made. For example:
<Directory dir-path> Options -Indexes </Directory>
Server-side Include (SSI)
[TODO]
REFERENCES & RESOURCES
- Apache HTTP Server Mother Site @ www.apache.org
- Apache Documentation @ sub-directory "
Manual
" - Laurie b., and Laurie P., "Apache, The Definitive Guide", 2nd eds, O'reilly, 1999.
- RFC 2616 "Hypertext Transfer Protocol HTTP/1.1", 1999 @ http://www.ietf.org/rfc/rfc2616.txt.
- RFC 1945 "Hypertext Transfer Protocol HTTP/1.0", 1996 @ http://www.ietf.org/rfc/rfc1945.txt.


Here you can explore and view murals pinpointed on the Baltimore map.
Explore a mural in AR!
Baltimore is a city of creatives. Local artists use their work as a way to connect people and communities, and to express the city's unique history and personality so central to its identity. This application showcases the much lauded artistic scene in Baltimore City, yet also reveals a deeply rich past, and a dynamic, complex present permeating throughout the nation. Most importantly, however, murals express the current social and political climate, sometimes strongly enough to become a form of activism and bring to light the community's struggles.
Overall, this application encourages our residents to explore the city and is an important step forward in celebrating and acknowledging public art as a voice of charm city.
Our application uses a wide range of tools and frameworks. Many thanks, to Stae City Data and the Baltimore City Government for their data sources.
1. Uses cutting-edge HTML5 to bring AR to your phone browser, making our experience immediately available to everyone.
2. Built on top of the light weight microframework Flask, to help create a robust API.
3. Uses custom segmentation code and object detection code for murals, using the power of OpenCV.
4. Extensive data exploration in bash to aggregate and expand training data for our CNN by using city data images.
5. Implements Augmentor to help supplement our sparse data set of 170 images into countless new ones.
6. Utilized transfer learning from TensorFlow Art as an artwork classifier.
7. Wrote custom network for mural categorization. We built our model with NumPy and Tensorflow. In particular, we implemented a dual encoder convolutional neural network for unsupervised feature comparision. This essentially builds a "mural vector space" allowing the model, allowing for any murals to be quickly lookup and compared.
8. Used Tensorboard for training validation and great visualizations.
9. Augmented Reality using HTML and data derived from OpenCV to provide information as overlay on the captured image.
10. Frontend implemented using Bootstrap, particle.js, Smooth Parallax scrolling, and MapBox
11. Services: Domain name using domain.com and server using Google Cloud Compute systems.


The city of dreaming spires, amazing architecture, history and culture, and the place where Wonderland and Middle Earth came to be.
Located on the Rhine Valley (UNESCO World Heritage Site), Mainz has everything from history, medieval castles and vineyards, and easy travel access to anywhere else.
North of San Diego, La Jolla hosts UCSD and Scripps Inst. of Oceanography. Beach, sun, surf, sunsets, beer, tacos...


Name:
Already have a room code?
Join
→
Starting a new room?
Create New Room
Public Games Available:
Leave Game
Choose an Option:
Choice 1
Choice 2
Choice 3
Choice 4
Player 1:
Player 2:
Player 3:
Player 4:


Home
Services & Rates
About
Contact Us
Get Started
Contact Us
Please let us know if you have any questions, comments, or concerns!
From
example:<PHONE_NUMBER>
Message
Send message


Note: All fields are required and denoted with an asterisk (*)
Title is required
Release Date is required
Genre is required
Actors are required
Description is required
The movie has been successfully entered.
Return to the actor and movie list page.
We're sorry, but there seems to have been a system error. Please try refreshing this page to try again.


Random Race!
Riders
Rider Name
Number of entries
Blue
Green
Red
Orange
Purple
Light Blue
Light Green
Light Red
Light Orange
Light Purple
+
Rocking Horse
Road Bike
Race Car
Fighting Snail
Happy Snail
Puma
Thimble
Monkey
Swimming Penguin
Robot
Zombie
Seahorse
Swallow
+ Show Advanced Options
Speed:
Flip L/R
Randomize
Go!
Reset


Object Oriented Interface¶
-
class
oopinterface.
QGField
(xlon, ylat, plev, u_field, v_field, t_field, kmax=49, maxit=100000, dz=1000.0, prefactor=6500.0, npart=None, tol=1e-05, rjac=0.95, scale_height=7000.0, cp=1004.0, dry_gas_constant=287.0, omega=7.29e-05, planet_radius=6378000.0)[source]¶ Local wave activity and flux analysis in quasi-geostrophic framework that can be used to reproduce the results in: Nakamura and Huang, Atmospheric Blocking as a Traffic Jam in the Jet Stream, Science (2018). Note that topography is assumed flat in this object.
New in version 0.3.0.
Parameters: - xlon (numpy.array) – Array of evenly-spaced longitude (in degree) of size nlon.
- ylat (numpy.array) – Array of evenly-spaced latitude (in degree) of size nlat.
- plev (numpy.) – Array of pressure level (in hPa) of size nlev.
- u_field (numpy.ndarray) – Three-dimensional array of zonal wind field (in m/s) of dimension [nlev, nlat, nlon].
- v_field (numpy.ndarray) – Three-dimensional array of meridional wind field (in m/s) of dimension [nlev, nlat, nlon].
- t_field (numpy.ndarray) – Three-dimensional array of temperature field (in K) of dimension [nlev, nlat, nlon].
- kmax (int, optional) – Dimension of uniform pseudoheight grids used for interpolation.
- maxit (int, optional) – Number of iteration by the Successive over-relaxation (SOR) solver to compute the reference states.
- dz (float, optional) – Size of uniform pseudoheight grids (in meters).
- prefactor (float, optional) – Vertical air density summed over height.
- npart (int, optional) – Number of partitions used to compute equivalent latitude. If not initialized, it will be set to nlat.
- tol (float, optional) – Tolerance that defines the convergence of solution in SOR solver.
- rjac (float, optional) – Spectral radius of the Jacobi iteration in the SOR solver.
- scale_height (float, optional) – Scale height of the atmosphere in meters. Default = 7000.
- cp (float, optional) – Heat capacity of dry air in J/kg-K. Default = 1004.
- dry_gas_constant (float, optional) – Gas constant for dry air in J/kg-K. Default = 287.
- omega (float, optional) – Rotation rate of the earth in 1/s. Default = 7.29e-5.
- planet_radius (float, optional) – Radius of the planet in meters. Default = 6.378e+6 (Earth’s radius).
Examples
>>> test_object = QGField(xlon, ylat, plev, u_field, v_field, t_field)
-
compute_lwa_and_barotropic_fluxes
(northern_hemisphere_results_only=True)[source]¶ Compute barotropic components of local wave activity and flux terms in eqs.(2) and (3) in Nakamura and Huang (Science, 2018).
Parameters: northern_hemisphere_results_only (bool) – If true, arrays of size [kmax, nlat//2] will be returned. Otherwise, arrays of size [kmax, nlat] will be returned. This parameter is present since the current version (v0.3.1) of the package only return analysis in the northern hemisphere. Default: True. Returns: - adv_flux_f1 (numpy.ndarray) – Two-dimensional array of the second-order eddy term in zonal advective flux, i.e. F1 in equation 3 of NH18, with dimension = [nlat//2+1, nlon] if northern_hemisphere_results_only=True, or dimension = [nlat, nlon] if northern_hemisphere_results_only=False.
- adv_flux_f2 (numpy.ndarray) – Two-dimensional array of the third-order eddy term in zonal advective flux, i.e. F2 in equation 3 of NH18, with dimension = [nlat//2+1, nlon] if northern_hemisphere_results_only=True, or dimension = [nlat, nlon] if northern_hemisphere_results_only=False.
- adv_flux_f3 (numpy.ndarray) – Two-dimensional array of the remaining term in zonal advective flux, i.e. F3 in equation 3 of NH18, with dimension = [nlat//2+1, nlon] if northern_hemisphere_results_only=True, or dimension = [nlat, nlon] if northern_hemisphere_results_only=False.
- convergence_zonal_advective_flux (numpy.ndarray) – Two-dimensional array of the convergence of zonal advective flux, i.e. -div(F1+F2+F3) in equation 3 of NH18, with dimension = [nlat//2+1, nlon] if northern_hemisphere_results_only=True, or dimension = [nlat, nlon] if northern_hemisphere_results_only=False.
- divergence_eddy_momentum_flux (numpy.ndarray) – Two-dimensional array of the divergence of eddy momentum flux, i.e. (II) in equation 2 of NH18, with dimension = [nlat//2+1, nlon] if northern_hemisphere_results_only=True, or dimension = [nlat, nlon] if northern_hemisphere_results_only=False.
- meridional_heat_flux (numpy.ndarray) – Two-dimensional array of the low-level meridional heat flux, i.e. (III) in equation 2 of NH18, with dimension = [nlat//2+1, nlon] if northern_hemisphere_results_only=True, or dimension = [nlat, nlon] if northern_hemisphere_results_only=False.
- lwa_baro (np.ndarray) – Two-dimensional array of barotropic local wave activity (with cosine weighting). Dimension = [nlat//2+1, nlon] if northern_hemisphere_results_only=True, or dimension = [nlat, nlon] if northern_hemisphere_results_only=False.
- u_baro (np.ndarray) – Two-dimensional array of barotropic zonal wind (without cosine weighting). Dimension = [nlat//2+1, nlon] if northern_hemisphere_results_only=True, or dimension = [nlat, nlon] if northern_hemisphere_results_only=False.
- lwa (np.ndarray) – Three-dimensional array of barotropic local wave activity Dimension = [kmax, nlat//2+1, nlon] if northern_hemisphere_results_only=True, or dimension = [kmax, nlat, nlon] if northern_hemisphere_results_only=False.
Examples
>>> adv_flux_f1, adv_flux_f2, adv_flux_f3, convergence_zonal_advective_flux, divergence_eddy_momentum_flux, meridional_heat_flux, lwa_baro, u_baro, lwa = test_object.compute_lwa_and_barotropic_fluxes()
-
compute_reference_states
(northern_hemisphere_results_only=True)[source]¶ Compute the local wave activity and reference states of QGPV, zonal wind and potential temperature using a more stable inversion algorithm applied in Nakamura and Huang (2018, Science). The equation to be invert is equation (22) in supplementary materials of Huang and Nakamura (2017, GRL). In this version, only values in the Northern Hemisphere is computed.
Parameters: northern_hemisphere_results_only (bool) – If true, arrays of size [kmax, nlat//2+1] will be returned. Otherwise, arrays of size [kmax, nlat] will be returned. This parameter is present since the current version (v0.3.1) of the package only return analysis in the northern hemisphere. Default: True. Returns: - qref (numpy.ndarray) – Two-dimensional array of reference state of quasi-geostrophic potential vorticity (QGPV) with dimension = [kmax, nlat, nlon] if northern_hemisphere_results_only=False, or dimension = [kmax, nlat//2+1, nlon] if northern_hemisphere_results_only=True
- uref (numpy.ndarray) – Two-dimensional array of reference state of zonal wind (Uref) with dimension = [kmax, nlat, nlon] if northern_hemisphere_results_only=False, or dimension = [kmax, nlat//2+1, nlon] if northern_hemisphere_results_only=True
- ptref (numpy.ndarray) – Two-dimensional array of reference state of potential temperature (Theta_ref) with dimension = [kmax, nlat, nlon] if northern_hemisphere_results_only=False, or dimension = [kmax, nlat//2+1, nlon] if northern_hemisphere_results_only=True
Examples
>>> qref, uref, ptref = test_object.compute_reference_states()
-
interpolate_fields
()[source]¶ Interpolate zonal wind, maridional wind, and potential temperature field onto the uniform pseudoheight grids, and compute QGPV on the same grids.
Returns: - qgpv (numpy.ndarray) – Three-dimensional array of quasi-geostrophic potential vorticity (QGPV) with dimension = [kmax, nlat, nlon]
- interpolated_u (numpy.ndarray) – Three-dimensional array of interpolated zonal wind with dimension = [kmax, nlat, nlon]
- interpolated_v (numpy.ndarray) – Three-dimensional array of interpolated meridional wind with dimension = [kmax, nlat, nlon]
- interpolated_theta (numpy.ndarray) – Three-dimensional array of interpolated potential temperature with dimension = [kmax, nlat, nlon]
- static_stability (numpy.array) – One-dimension array of interpolated static stability with dimension = kmax
Examples
>>> qgpv, interpolated_u, interpolated_v, interpolated_theta, static_stability = test_object.interpolate_fields()
-
class
oopinterface.
BarotropicField
(xlon, ylat, pv_field, area=None, dphi=None, n_partitions=None, planet_radius=6378000.0)[source]¶ An object that deals with barotropic (2D) wind and/or PV fields
Parameters: - xlon (np.array) – Longitude array in degree with dimension = nlon.
- ylat (np.array) – Latitude array in degree with dimension = nlat.
- area (np.ndarray) – Differential area at each lon-lat grid points with dimension (nlat,nlon). If ‘area=None’: it will be initiated as area of uniform grid (in degree) on a spherical surface. Dimension = [nlat, nlon]
- dphi (np.array) – Differential length element along the lat grid with dimension = nlat.
- pv_field (np.ndarray) – Absolute vorticity field with dimension [nlat x nlon]. If ‘pv_field=None’: pv_field is expected to be computed with u,v,t field.
Example
>>> barofield1 = BarotropicField(xlon, ylat, pv_field=abs_vorticity)
-
equivalent_latitudes
()[source]¶ Compute equivalent latitude with the pv_field stored in the object.
Returns: Return type: An numpy array with dimension (nlat) of equivalent latitude array. Example
>>> barofield1 = BarotropicField(xlon, ylat, pv_field=abs_vorticity) >>> eqv_lat = barofield1.equivalent_latitudes()
-
lwa
()[source]¶ Compute the finite-amplitude local wave activity based on the equivalent_latitudes and the pv_field stored in the object.
Returns: Return type: An 2-D numpy array with dimension [nlat,nlon] of local wave activity values. Example
>>> barofield1 = BarotropicField(xlon, ylat, pv_field=abs_vorticity) >>> eqv_lat = barofield1.equivalent_latitudes() # This line is optional >>> lwa = barofield1.lwa()


You met {{getFace(face).name}}, {{getFace(face).userData}}.
Looks like that's everyone. Go meet some new faces!


You lot do not visit Hooting Yard for news of the latest doings in the world of pop culture, but this, I think, is worth noting:
The ballads are seldom the high point of a huge pop show, but in [Miley] Cyrus's case, a degree of interest is added by the fact that she sings one of them while being pursued around the stage, for reasons that aren't entirely clear, by a giant fluorescent orange fluffy bird.
Alexis Petridis in The Guardian.


TOMORROW NEVER DIES (PG-13)
Directed by Roger Spottiswoode Running Time: 119 minutes Originally Released: December 19, 1997
Reviewed by E. Benjamin Kelsey
* * ½ (out of four)
If TOMORROW NEVER DIES, then how long will it take before James Bond is eliminated?  Even though the first James Bond film, DR. NO, was released 35 years ago, he's still going strong. Hell, James Bond should be retiring by now. He *should* be well over 60, but luckily, due to casting changes over the years, Bond is still young and fit as a fiddle, and I don't see him taking his prune juice shaken and not stirred anytime soon.
In this installment of the long-running super spy films, James Bond (Pierce Brosnan) is up against a Ted Turner wannabe named Elliot Carver (Jonathan Pryce). Carver owns a communications company that oversees a growing newspaper called "Tomorrow", and is now branching out into television with aspirations of even more. Carver's elaborate schemes will enable him to one day rule over the media, including exclusive control in China.  Ok, I lied about that, but this guy is still devious.
This whole scandal is first suspected when a military fowl up results in the deaths of several Navy officers off the coast of China. It seems the Chinese told the H.M.S. Devonshire to turn back when it entered Chinese waters, but the technology inside the British vessel was saying otherwise. Convinced they were in international waters, the British stood there ground, and eventually, a group of terrorists killed both the British soldiers and a couple of Chinese fighter pilots as well. The Chinese think the British attacked. The British think the Chinese attacked. Only we know that Carver was behind it all, setting up the entire escapade for the sake of getting "good news".
So why does anybody suspect fowl play? Good question. The answer lies in Carver's satellites, which were broadcasting on the same frequency as the ship. Could Carver have intentionally messed with the signal? And, as Carver himself admits, the more important question is "why?".
Naturally Bond sets out to figure it out and put a stop to it all, sleeping with beautiful women, driving fast cars, and using whatzit gizmos created by Q (Desmond Llewelyn) until in the end, he saves the day while never messing up his hair. That's right - it's typical Bond. Wildly outrageous, totally implausible, and two hours of brainless action. That's all we expect, and that's all we want. Bond is merely a testosterone ridden Richie Rich for adults, and TOMORROW NEVER DIES fits in just fine. But it's also nothing new whatsoever, and there's only so much of the same stuff we can see.
What makes this one a little more fun and unique is that Bond actually teams up with someone, and the two are nearly equal in their performances and "hero" factor. Michelle Yeoh makes her English speaking debut here as Wai Lin, a Chinese special agent who finds herself on the same trail as Bond. When they continuously run into each other, convenience has them forming a team to combat against Carver and his thugs. Yeoh is impressive and a delight to watch, adding a spark to the film. In fact, if this had been more of a Bond solo film again, we might actually realize enough is enough. Not with Yeoh. She keeps things fresh, alive, and (thank heavens) new.
Teri Hatcher also has a small role as Carver's wife, Paris. Hatcher, who became known for her sexy TV interpretation of Lois Lane, doesn't stand out in anyway, but doesn't do too bad of a job with her role either. Her lack of screen pizzaz could be attributed to the little screen time she receives. She's in this a lot less than you might expect, especially after being used as a hook in television commercials and movie trailers. In other words, if you're out to see this film just to drool over her, you'll be spending five bucks for about fifteen minutes of screen time. That's expensive oogling.
Also known as "Bond 18" for being the 18th "official" entry in the series, TOMORROW NEVER DIES is the second Bond film to star Brosnan, who rose to fame as TV's Remington Steele. How good of a job he does at portraying 007 is something that was likely discussed heavily in reviews of GOLDENEYE, which was, of course, his first outing as the British secret agent. Seeing as how I didn't write a review of that film, I'm going to use this opportunity to give my two cents - Connery will always be the best and truest Bond there was, but Brosnan comes in a definite second. The thing that Brosnan lacks is *true* charm. Yes, he's debonair, subtle, sophisticated, seductive, and even articulate, but unlike Connery, he doesn't have that twinkle in his eye. You can envision Connery bursting into a hearty laugh. Brosnan, on the other hand, seems a bit *too* polished and serious.
Bond enthusiasts will, of course, find it crucial to see this film, and they're not going to be disappointed. If you're not overly fond of 007, or if you actually haven't seen him before, this is not the one to convert you to Bondism. It goes way overboard, as any good Bond film does, yet still manages to leave you passive to the events unfolding on screen. I guess the main problem is that it's just getting a bit old. I actually found myself bored as the film was wrapping up. My mind was wandering, and I was trying to see my watch in the dark to see how much longer it could possibly go. It's not awful - it's just beginning to feel like we *have* been watching Bond for 35 years after all.
December 23, 1995
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


Hello everyone, there i try my first #30Days websites challenge.
You can see projects and code there. Send me your reviews on my mail.
This is not my portfolyo :). Have fun !
#
30Days
30Websites
MAKE
THE
WEB
AWESOME
Hello everyone, there i try my first #30Days websites challenge.
You can see projects and code there. Send me your reviews on my mail.
This is not my portfolyo :). Have fun !