Thảo’s personality and psychological evaluation show that she is also introverted yet is extremely open and agreeable in public. Similarly, Thảo’s learning style is also through visual cues. However, unlike me, Thảo is more of a conscientious person and a harmonizer. Her personality will work well as a communication mediator within our group.
created with
HTML Website Builder .


By Dhruv and Pranay
Number of Shots Made increased in a near linear fashion for most of the recent NBA. We can conclude mostly that the number of 3 pointers made is directly varied with the number of shots taken. An increase in volume usually will lead to more shots made, they are not independent or luck based.
The number of 3 pointers attempted has been steadily increasing over the years with specific ups and downs, recently the modern NBA has seen a dramatic uptick in 3 point shots attempted with a subsequent increase in 3 pointers made. The league has definitely been pushed to a more shot makers versus big body players. The good news is the increase in shots did not lead to a dip in FG%, which means the players have gotten better at 3 point shooting over the years.
We can conclude as well for the most part that the quality of 3 point shooter has been constant, but the NBA as a league is moving towards a more 3 point league rather than a paint league. The field goal 3 point percentage was fluctuating in the early 80s but as the years went on, the league got settled and there was a standard set at around 34% 3PM. It has been constant for about 20 years but with the dramatic increase in 3PA, we can conclude shooters have become better


CCR CCRÎ" infection individuals virus HCV cells viral associated HIV association immune susceptibility allele chemokine disease expression receptor human genotype response cell hepatitis increased individuals; infection. liver virus, HBV chronic non-infected studies effects gene genetic However, WNV role different patients study HCV-infected clinical polymorphism effect Japanese risk Nile homozygous influenza severe encephalitis host infected infections infection, important inflammatory CMV treatment DENV HPV West potential pathogenesis variant Also, Infect. cervical inflammation responses use Brazilian influence review {border-style frequency including severity symptomatic therapy using EVs Rev. antagonists cancer evidence findings impact px;} results #ffffff;} Human cases controls factor individual Hepatitis Med. Table acute aspects evaluated hemorrhagic infection; involvement polymorphisms reduced surface affect factors Influenza chemokines compared control editing extracellular infectionJ. involving mice multiple note, type various Considering Crimean-Congo clearance data exosomes molecules natural observed progression specific (Ellwanger CCR, Dengue Onee./journal.pone. cause cytomegalovirus deficiency dengue development especially included model mortality outcome pandemic protective showed significant wild-type Clin. HCV-related HIV- Iranian RNA Zika available cells. coronavirus diseases does following heterozygous humans interaction mutation performed protection replication respiratory spontaneous suggest Cell Fig. Immunol../fimmu.. Therefore, absence action b). blood course diseases. fever global migration mild persistent protein rates recent receptors regulatory reported research roles transmission variants (Glass CCR. HBV-infected JEV Mol. SARS-CoV- article co-infected did group high impacts infectious lesions major mentioned molecule mouse nephropathia neuroinvasive populations quite regarding shown used viruses, (Table (e.g., CCHFV CCL CCR-Î" Epstein-Barr Evol../j.meegid... Finally, Genet. German HIV-infected Lim References Res. Virol../jmv. a). affects brain considered cytokines genes infections. intracellular levels new px; rate recovery recruitment shows survival therapeutic vesicles viruses {font-family (), (CCR) American CCL, CCR-mediated COVID- Ellwanger HCV/HIV Indian Rocio WNVâ€¯â€¯individuals; Writing Zhang analysis antagonist antiviral articles caused cells, central context cure deletion emerging endemic enteroviral ethnic evaluating example, fatal font-size genus health infections, interactions involved mechanisms mediated occurs papillomavirus regulates single-stranded statistical studied syndrome together, trafficking transport vitro CCHFV-infected HPV-infected Impacts Main Population Sample Taking addressing antibodies areas belonging cleared complex condition considering derived described diseases, double; encephalitis, entry epidemica family flaviviruses future higher humans, indicate individuals, influenced investigated main mainly murine nervous neurological novel number occur outbreak participates population possible press promotes receives regulation sample significantly size soluble studies. study, suggested symptoms tissue treat types varied â€" Based Brazil C-C CCRÎ", CXCR Dis. Elsevier European Exp. Glass Goyal HBV/HIV HPV-related Immunol../jimmunol... Investigation, PUV Promrat RANTES ROCV Spanish TBEV Treg Turkish Woitas activation activity addressed and, axis border-color border-width cancer, causes children cited context, countries, created critical dendritic develop facilitate form functional hantavirus humans. indicated indicating individuals. infectionNat. infiltration inhibits innate ligands maraviroc modulation monocytes mosquito need needed obtained peripheral physiological plasma population, population. populations, profile promoter proteins public reduces region regulated release relevant resolution responses, rhinovirus scientific showing small solid; statistically strong strongly terms tissues topics transmembrane transmitted tumor vaccine {font-style {font-weight (Glas (HPV) (Krammer (available (considering (small AIDS Ahlenstiel Art Attribution Biol. Brazil); CDFoxp CNS Caucasian Commons Creative Currently, DENV-infected Dis../ Dis../S-()- HIV, Hepatol../j.jhep... Immunol../jimmunol. Information Interestingly, License). Lim, Mangia Medical Morard Opin. Pathog.e./journal.ppat. Servier Study Thio Unported Viral ZIKV act addition airway article. asymptomatic attention based basic belongs better blockade bold cardiomyopathy carried case cases; centre characteristics characterized clear conditions contribute contributes coronaviruses courier; cytomegalovirus, death defenses detected disease, disease. editing. effective em; enhances enveloped environmental essential experimental exposure expressed family, febrile figure flavivirus frequencies genome genotype) hand, hemophiliacs https://smart.servier.com, illustrations immunodeficiency importance infection: infectionFront. inflammation, influences information interferon interferon-Î± lack limited linked loop macrophage manifestations memory mixed modulate mono-infected mono-infection neglected occult original papillomavirus, participate participation patientsJ. pharmacological plays portion positive-sense primary protects pt;} range recover recycling regions related relationship represents resistance resource reveals robust scholarship sense, single specifically stem-cell structure studies, suggests summarizes support therefore, topic transplantation truncated undesirable variable


22_yanrucheng.py
import heapq
class Solution:
def minimumDeviation(self, nums: List[int]) -> int:
def bounds(n):
if n % 2 == 1:
return n, n, 2 * n
else:
curr = n
while curr & 1 == 0:
curr >>= 1
return curr, curr, n
nums = [*map(bounds, nums)]
heapq.heapify(nums)
upper = max(x[0] for x in nums)
lower = min(x[0] for x in nums)
res = upper - lower
while 1:
curr, mn, mx = heapq.heappop(nums)
if curr == mx:
return res
curr *= 2
heapq.heappush(nums, (curr, mn, mx))
upper = max(upper, curr)
lower = nums[0][0]
res = min(res, upper - lower)
return res


First name*
Last name*
Birthday*
Sex* Male Female
Country* Ukraine USA Canada
Email*
Password*
Address*
Notes
The form is valid!!!


Curly and Floppy Twistytail, the Funny Piggie Boys
by Howard R. Garis
Chapter 28: “Pinky and the Lemon”
Additional Information
- Year Published: 1918
- Language: English
- Country of Origin: United States of America
- Source: Garis, H. R. (1918). Curly and Floppy Twistytail, the Funny Piggie Boys. New York, NY: A. L. Burt Co.
-
Readability:
- Flesch–Kincaid Level: 5.2
- Word Count: 1,357
- Genre: Fantasy
- ✎ Cite This
Downloads
One day, when Flop Ear and Curly Tail were at school, Mrs. Twistytail, the pig lady, said to Baby Pinky, her little girl:
“Pinky, I am going to run across the street for a minute to ask Mrs. Wibblewobble to lend me a spool of thread. It is so chilly out that I don’t want to take you along. So will you be afraid to stay here alone, just a little while?”
“No, indeed, mamma,” spoke Pinky. “Why, what is there to be afraid of?” she asked with a laugh.
“Nothing in the least,” replied her mother, “but sometimes little girls, and boys, too, for that matter, are afraid to stay alone, even when their mamma wants to go get a drink of water.”
“Oh! I hope I’m not that kind, mamma,” spoke Pinky.
“Then I’ll just run across the street for a minute,” went on Mrs. Twistytail. “Everything is all right here. There is nothing on the stove to boil over, but be careful not to go near the fire.”
“No, I’ll stay right here, mamma,” said Pinky. “I’ll look out of the window, and watch the leaves dancing up and down in the breeze.”
So Mrs. Twistytail went over to Mrs. Wibblewobble, the duck lady’s house, and Pinky sat down to wait for her to come back. But you know how it is sometimes, when ladies get talking together, they have so many things to say, about how to make the loaf of bread last longer, and how high the butter is—so high that they have to get on a step ladder to reach it—and how boys wear out their shoes and trousers so fast and the newest way to fix your hair, and what to do when your best dress gets all spotted with ice cream, and how scarce coal is, and what a long winter we’re going to have—all things like that ladies find to talk about, and it was that way with Mrs. Twistytail and Mrs. Wibblewobble.
Well, do you know, the first thing Mrs. Twistytail knew she had forgotten all about what she came after—let’s see now, what was it —I declare I’ve forgotten myself. Just excuse me while I look back and see. Oh! I remember, it was a spool of thread.
Yes, Mrs. Twistytail got so interested talking to the duck lady about a new way to make a tight dress loose that she forgot all about the spool of thread.
“Well, mamma is staying quite a long time,” said Baby Pinky after a bit, as she sat by the window. “I hope nothing has happened to her.” She looked, but she could not see her mamma coming back, and then Pinky said:
“I guess I’ll just dust off the piano, to keep busy, and it won’t seem so long until mamma comes home.”
So she began knocking the dust off the piano to the floor just as Jennie Chipmunk did it with her tail brush, and Pinky made so much noise that she did not hear the door open and some one come in. That is she did not until she heard some one walking in the room behind her, and then the little piggie girl turned around and exclaimed:
“Oh, mamma! How you frightened me.”
But, oh my! when she saw who was in the room, poor Pinky was frightened more than ever. For there, with his face all swollen, stood a bad old baboon who had escaped from the monkey circus down the street.
“Bur-r-f! Ah ha! Wow! Now I have you!” barked the baboon, for they make a noise something like a dog with the chicken-pox.
“Why, why, what is the matter?” asked Pinky, never dreaming that there would be trouble, for she was such a gentle little thing. “Why is your face all swelled up?” she asked.
“I have the mumps,” explained the baboon, who had a blue nose. “I have the mumps, and I am hungry. Little pigs are good for the mumps, I have been told. I guess I’ll take you.”
“Oh! I’m sure you must be mistaken,” said Pinky, politely. “Surely you are wrong. I am not good for mumps, and I’m sure they’re not good for me.”
“Nor me, either,” cried the baboon, putting his paw to his swollen jaw. “I don’t want ‘em but I have to have ‘em, and, as you are the only thing that’s good for them, I’m going to take you away with me. No, on second thought, I’ll eat you up here and now.”
“Oh, please don’t!” cried Baby Pinky, and she wished, Oh! how she did wish her mamma would come back. “How did you get in here?” she asked.
“I just waited until I saw Mrs. Twistytail go out,” said the blue-nosed baboon, “and then I knew you were here alone. So in I came, here I am, and now this is the end of you!”
“Oh, please don’t hurt me!” cried Baby Pinky, but that savage baboon, rubbing his blue nose with the end of his tail—for he had a red tail—that baboon, I say, made a jump for Pinky.
“Oh!” she cried, as she leaped out of the way. “I’ll get you something to eat, and then you won’t have to take me,” and out into the kitchen she ran, with the mumpy baboon after her. All Pinky saw on the table was a lemon, and, thinking the baboon might like lemonade, she caught hold of it, cut it open with a knife, and then—
Well, that baboon made a jump for her, and, as he did so, Pinky accidentally squeezed the lemon. Now, as everybody knows, when you have the mumps, if a person even says “pickles,” or “vinegar,” or “lemons” to you, it makes your throat all pucker up and pain you like anything, and you can’t even seem to swallow. Mumps and sour things don’t seem to go together.
And when the sour lemon juice got in the baboon’s mouth and eyes, and some trickled down on his mumpy throat. Oh, wow! if you will excuse me saying so.
“Bur-r-! Scumpf! Fuffphmn, Xzvbgetyriep! Bfrewcript! Xvbnhytrwewqauitopekgsteredse!” cried that baboon, and no one could understand what he said, not even a phonograph, for you see his mouth and throat were nearly closed up by the puckery lemon.
And of course he couldn’t eat Pinky, for he could not even swallow some slippery elm, which as everybody knows, is the slipperiest thing there is.
“B-r-r-r!” cried the baboon again.
“Zyxwvutsrqponmlkjihgfedcba!” and he said the alphabet backward. Then, holding his mumpy jaws in both paws and winding his red tail around his blue nose, out of the house he ran, leaving the little piggie girl safe. And her mamma saw the baboon running away, and, without even stopping for the spool of thread, she came home and felt very badly that Pinky had been frightened.
“But you were very brave to hand the mumpy baboon a lemon,” she said, and I think so, too, for it was just the right thing.


--- layout: post title: 'SQL Optimization: Union vs. Union All' date: 2010-05-27 22:08:45.000000000 -07:00 type: post parent_id: '0' published: true password: '' status: publish categories: [] tags: - Optimization - Programming - SQL - Union meta: _edit_last: '1' tmac_last_id: '166390234668466176' _jetpack_related_posts_cache: a:1:{s:32:"8f6677c9d6b0f903e98ad32ec61f8deb";a:2:{s:7:"expires";i:1543338008;s:7:"payload";a:3:{i:0;a:1:{s:2:"id";i:1144;}i:1;a:1:{s:2:"id";i:177;}i:2;a:1:{s:2:"id";i:992;}}}} author: login: Philihp email<EMAIL_ADDRESS>display_name: Philihp first_name: '' last_name: '' ---
Everyone should learn the difference between Union and Union All. Knowing it will make you a better programmer, and it's fairly trivial to understand.
SELECT * FROM apples UNION SELECT * FROM oranges
When you know for a fact that there will never be any common rows between the apples
table and the oranges
table, this query will be slightly faster with at low cardinality, and incredibly faster at high cardinality by using "UNION ALL"
SELECT * FROM apples UNION ALL SELECT * FROM oranges
The difference between the two queries is this: UNION ALL will simply concatenate the two queries together into the resultset. Just using UNION will concatenate, but then remove duplicates (do a distinct sort). Leaving out this second step can vastly reduce the time it takes for your query to run.


NDC absent at vigilantism dialogue ‘due to circumstance beyond its control’
The National Democratic Congress (NDC) did not show up for discussions on the draft roadmap to address political vigilantism.
The NDC, one of the main stakeholders in the discussions, was absent due to circumstances beyond its control, according to the National Peace Council.
The council’s chair, Professor Emmanuel Asante, however, added that the NDC has received a copy of the draft roadmap.
“They [the NDC] are fully aware that this document is being discussed. The outcome will be conveyed to them and a date will be set for the public signing after we have endorsed it.”
The National Peace Council called on the New Patriotic Party (NPP) and the NDC to honestly endorse and adopt the Draft Roadmap and Code of Conduct on political vigilantism.
By the end of the deliberations, the NPP had accepted the roadmap in principle.
This outcome is expected to be conveyed to the NDC.
The document has been developed by a Technical Committee as part of ongoing dialogue aimed at ending political vigilantism.
Speaking at the commencement of today’s dialogue, Prof Asante said the document will assist existing legislations and other frameworks on ending the vigilantism.
The dialogue was instituted by the National Peace Council following the events that violence that erupted at the Ayawaso West Wuogon Constituency by-election.
Though there were initial bumps between the NDC and the NPP, both parties have said they are committed to ending political vigilantism.
In line with tackling vigilantism, President Nana Akufo-Addo gave his assent to the Vigilantism and Related Offences Act, 2019 in September, which bans acts of vigilantism in the country.
The Act also disbands vigilante groups, including political party vigilante groups and land guards.
Per the law: “a person who directly or indirectly instigates or solicits the activity of a vigilante, facilitates or encourages vigilantism, or conceals a vigilante to avoid lawful arrest, commits an offence, and is liable, on conviction, to a term of imprisonment of not less than 10 years and not more than 15 years.”


...If the fire is small and contained. The time to use a fire extinguisher is in the early,
or incipient, stage of a fire. Once the fire starts to grow or spread, it is best to evacuate
the building, closing doors or windows behind you.
...If you are safe from toxic smoke. If the fire is producing large amounts of thick,
black smoke or chemical smoke, it may be best not to try to extinguish the fire. Neither,
should you attempt to extinguish the fire in a confined space. Outdoors, approach the
fire with the wind at your back. Remember that all fires will produce carbon monoxide
and many fires will produce toxic gases that can be fatal, even in small amounts.
...If you have a means of escape. You should always fight a fire with an exit or other
means of escape at your back. If the fire is not quickly extinguished, you need to be
able to get out quickly and avoid becoming trapped.
...If your instincts tell you it's OK. If you do not feel comfortable attempting to
extinguish the fire, don't try get out and let the fire department do their job.


Meet Your Advisory Council – Daniel Roth
A couple weeks ago I kicked off a series of written interviews with our .NET Foundation Advisory Council members. The Advisory Council is composed of OSS project leaders that care deeply about .NET and the success of the foundation. They drive key initiatives in the foundation and guide the board. Learn more about what the Advisory Council is all about and participate in public discussions with them on our forums.
For this next post, I interviewed Daniel Roth. Daniel is a Senior Program Manager on the ASP.NET team at Microsoft. His passions include delighting customers by making frameworks simple and easy to use in the cloud.
Tell us a little bit about yourself. What's your background? When did you start getting interested in programming?
I started working at Microsoft and on .NET fresh out of college a little over a decade ago. During that time I’ve worked on a bunch of areas in the .NET Framework including the networking stack, serialization, XAML, ASP.NET Web Services, WCF, MVC and Web API.
In college I studied Electrical Engineering and Computer Science. I also did an M.Eng program with an emphasis on robotics. My mother was a programmer at the University of Massachusetts working on IBM mainframes, so I probably inherited some of my interest in computers from her. In high school I was particularly interested in questions of consciousness and artificial intelligence which led me to take my first computer science courses.
What initiatives are you working on (or passionate about) within the .NET Foundation?
I’m passionate about making it super easy to setup well-run open source .NET projects. I think there’s a lot we can do to make it easy to setup your project, setup your build infrastructure, sign your bits and make it simple to accept contributions.
I’m also excited about making it really easy to setup open source documentation for .NET projects. The Read the Docs folks have been doing some really cool work on adding Sphinx extensions for .NET and API doc generation that I think are going to be great for building an open source network of .NET documentation.
Can you tell us some of the first open source projects you worked on as a contributor? Why did you get involved? How did you get started?
My main exposure to open source has been through taking our existing .NET projects at Microsoft open source. This started with many of our ASP.NET projects including ASP.NET MVC, Web Pages and Web API. It’s amazing to see that the entire .NET stack is now open source!
What were some of the challenges in open sourcing those ASP.NET projects? How many people were involved? How did you do it? Any leaders stand out?
I think the main challenge with making ASP.NET open source was that it was a very new way for us to do our work. There really wasn’t any other major part of .NET that was open source at the time so we had to figure out and invent a lot of what it takes to do open source work at Microsoft. We had to move our engineering systems to be open source friendly and figure out how to take community contributions. There was also a cultural shift from being very tight-lipped about what we were working on to being much more open and transparent. We had to learn how to work effectively with our community on a day-to-day basis. There were numerous folks involved with this effort (my involvement in the initial setup was pretty minor), but Scott Guthrie certainly was a big supporter and helped make a lot of these things happen.
Looking back, what bug are you most proud of fixing in an open source project?
I remember when we first started taking contributions into our open source ASP.NET projects back in 2012. We had Miguel de Icaza, the creator of Mono, submit a pull request for us that we then merged while he was on stage. That was a pretty big moment for .NET open source.
What project(s) do you spend most of your time on now?
Currently I am working on ASP.NET 5 and the new .NET Execution Environment (DNX), which gives you a common platform for running .NET code cross-platform on Windows, Mac and Linux.
Can you tell us one thing you have learned about running an open source project?
I’ve learned that keeping it open is definitely better! I love the transparency of working on open source projects and its great working with a community of active contributors.
Why is open source software important to you?
Open source to me means you have a project that is now owned by a community of contributors instead of just a small team of developers working in isolation. It means you are working on something much bigger than one small team or individual can create.
What is it about .NET that you like most?
The C# language is simply gorgeous. I love the async/await support. The libraries that come with .NET are awesome. The tooling available for .NET is best in class (ex. Visual Studio Code). And it’s all going to just keep getting better now that .NET is fully open source and cross-platform!
What does the future of .NET look like in your dreams?
I dream of a vibrant open-source .NET community building apps and frameworks that I have never even imagined. I can’t wait to see what the open source community is going to create with .NET!
Thanks, Daniel!
Feel free to ask more interview questions in the comments below.
Enjoy, -Beth Massi, .NET Foundation Technical Evangelist


Survey for Perceptual Evaluation of Expression in Performance
3. Perceptual evaluation
Please listen to both audio samples below:
Sample A ({{sessionCount +1}} of {{soundListLen}})
Sample B ({{sessionCount +1}} of {{soundListLen}})
Sample A ({{sessionCount +1}} of {{soundListLen}})
Sample B ({{sessionCount +1}} of {{soundListLen}})
Sound not loading?
In terms of dynamics (the intensity of volume with which notes are expressed) and timing variations (rushing or dragging notes), select which audio sample sounds most like a human performance to you:
Sample A
Sample B
Which performance did you like best?
Sample A
Sample B
How clearly do you perceive the distinction between the two audio samples?
I notice no distinction.
1
2
3
4
5
1
2
3
4
5
I notice a very clear distinction.
Comment (optional)
Withdraw from survey


CHLOROXYLENOL, SALICYLIC ACID, SODIUM THIOSULFATE- chloroxylenol, salicylic acid and sodium thiosulfate shampoo
Sogeval Laboratories
Disclaimer: This drug has not been found by FDA to be safe and effective, and this labeling has not been approved by FDA. For further information about unapproved drugs, click here.
Medicated Shampoo may be used as extra therapy for common dermatological conditions. Removes scales and crust as well as being antibacterial and antifungal. Ideal for deodorizing and gentle wash for routine use.
Directions for Use:
Shake well. Thoroughly wet animal's coat with tepid water. Massage small amounts of shampoo into the coat and continuously add water to better disperse product, until a generous lather is generated. Rinse well and repeat. Shampoo may be used weekly or as recommended by your veterinarian.
Active Ingredients:
2% Chloroxylenol, 2% Salicylic Acid, 2% Sodium Thiosulfate (source of soluble sulfur).
Ingredients:
Deionized water, Sodium C14-16 Olefin Sulfonate, Propylene Glycol, Disodium Cocoamphodiacetate, Polyquaternium-10, Fragrance, Citric Acid, Methylchloroisothiazolinone, Methylisothiazolinone, FD&C Blue No. 1.
|
CHLOROXYLENOL, SALICYLIC ACID, SODIUM THIOSULFATE
chloroxylenol, salicylic acid, sodium thiosulfate shampoo | |||||||||||||||
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||
|
| Labeler - Sogeval Laboratories (963676635) |
| Registrant - Sogeval Labatories (963676635) |


Founder | 2023 - Current
Atelier Arth (France)
Co-Founder & Advisor | 2021-23 (2 years)
The Exploration Company (Germany & France)
R&D Consultant Engineer (GNSS) | 2021 (4 months)
Capgemini (France)
CIFRE Ph.D. Student & Systems Engineer (GNSS) | 2018-2021 (3 years)
Safran and ISAE-Supaéro (France)
Research Intern | 2017 (6 months)
Safran (Paris region, France)
Research Intern (Real-Time Indoor Localisation) | 2016 (5 months)
Robotics Lab, Escola Politécnica, University of Sao Paulo (Sao Paulo, Brazil)
Software Intern (Lab-test Automation), Startup R&D | 2015 (2 months)
CorWave (Paris, France)
Rivers from our Veins | 2022 - Present (1 year)
In collaboration with North East Space Applications Centre (NESAC)
Analog astronaut, EMMIHS-III Lunar Simulation Mission | January 2020 (3 weeks)
Hawai'i Space Exploration Analog and Simulation (HI-SEAS) (Hawai'i, USA)
Participant (Hackathon), Doctoriales | 2018 (1 week)
Ecole des Mines d'Albi (Albi, France)
Engineering Research Project (Project Boomerang) | 2016 (3 months)
ISAE-Supaéro (Toulouse, France)
Summer Intern (Digital Holography) | 2015 (2 weeks)
Institut d'Optique Graduate School "SupOptique" (Paris region, France)
Participant (Space Mission Planning), Caltech Space Challenge | 2015 (1 week)
CalTech + JPL NASA (Pasadena, USA)
Engineering Research Project (X-Cubesat) | 2014 (1 year)
Project QB50, Ecole Polytechnique (Paris region, France)
Participant (Space Hackathon), #Actinspace | 2014 (2 days)
Synchrotron Soleil (Saclay, France)
Summer Intern (Editing, Auditing and Reporting) | 2013 (1 month)
The Times of India (Delhi, India)
Summer Intern (Digital Holography) | 2012 (2 months)
Photonics Lab, Indian Institute of Technology (Delhi, India)
Trainee, Summer Course on Experimental Physics | 2011 (1 month)
Homi Bhabha Centre for Science Education (HBCSE), TIFR (Mumbai, India)
Summer Intern (Beam Optics) | 2011 (1 month)
Inter-University Accelerator Centre (Delhi, India)
Member #TeamHB5: Leadership Program for Women in STEMM | Since 2019 (4 years)
Homeward Bound Projects
Member PR&Comm, Curator "SGAC Art Gallery" | Since 2020 (3 years)
Space Generation Advisory Council (SGAC)
Delegate & lead for Human Space Exploration sub-working group | January 2021 (9 days)
SGAC Asia-Pacific Space Generation Online Workshop (APSGOW)
Event organizer, SG[France]2020 | 2019-20 (1 year)
SGAC Our Giant Leap initiative
Commander-in-training, EMMIHS-III Lunar Analogue Astronaut Mission | January 2020 (3 weeks)
Hawai'i Space Exploration Analog and Simulation (HI-SEAS) (Hawai'i, USA)
Founder, X-Inde (Polytechnique India Group) | Since 2019 (4 years)
Polytechnique Alumni Association
Ambassador, L'Oréal "For Girls in Science" Program | 2017-2019 (2 years)
L'Oréal Foundation For Women in Science


Gatekeeper Mellon:
The teleport between here and the village of Kamael Village is only permitted for adventurers lower than level 20. If you are higher than that, you should be able to get there without my help!


{% extends "story.html" %} {% block title %}Mission 2{% endblock %} {% block head %}{{ super() }}{% endblock %} {% block body %} {% block nav %} {{ super() }} {% endblock %}
On the top left of the homepage should be an area dedicated to workspaces. These are your courses that you have enrolled into, along with some useful groups e.g. OPO workspace that the OPOs use to communicate important information to you. You should be able to find the current course workspace that is starting this/next week. Navigate into that.
On the workspace frontpage you will find usually some information of the course along with a timeline. On the left you will find a navigation menu similar to the one displayed in the figure.
Documents and assignments are the most useful of these. Documents should have all the materials you need for the course, and assignments is where you return given assignments to. Familiarise yourself with these.
Next return to the OMA homepage and locate the OPO workspace. For your mission, you have to locate in there your groups' course selection for the year along with the timeline. Once complete, mark this mission as done.
{{ xp }}
Story progress


This is just a somewhat minified version of the easter egg example.
Use this code at the bottom of any page to verify that your application
can handle the Web Components polyfill from Google Polymer.
Once the code is in your page, hit the F7 key to verify the code.


from .connection import Connection, Protocol, MSGraphProtocol
from .utils import ME_RESOURCE
[docs]class Account:
connection_constructor = Connection
[docs] def __init__(self, credentials, *, protocol=None, main_resource=None, **kwargs):
""" Creates an object which is used to access resources related to the
specified credentials
:param tuple credentials: a tuple containing the client_id
and client_secret
:param Protocol protocol: the protocol to be used in this account
:param str main_resource: the resource to be used by this account
('me' or 'users', etc.)
:param kwargs: any extra args to be passed to the Connection instance
:raises ValueError: if an invalid protocol is passed
"""
protocol = protocol or MSGraphProtocol # Defaults to Graph protocol
self.protocol = protocol(default_resource=main_resource,
**kwargs) if isinstance(protocol,
type) else protocol
if not isinstance(self.protocol, Protocol):
raise ValueError("'protocol' must be a subclass of Protocol")
auth_flow_type = kwargs.get('auth_flow_type', 'authorization')
scopes = kwargs.get('scopes', None) # retrieve scopes
if auth_flow_type in ('authorization', 'public'):
# convert the provided scopes to protocol scopes:
if scopes is not None:
kwargs['scopes'] = self.protocol.get_scopes_for(scopes)
elif auth_flow_type == 'credentials':
# for client credential grant flow solely:
# append the default scope if it's not provided
if not scopes:
kwargs['scopes'] = [self.protocol.prefix_scope('.default')]
# set main_resource to blank when it's the 'ME' resource
if self.protocol.default_resource == ME_RESOURCE:
self.protocol.default_resource = ''
if main_resource == ME_RESOURCE:
main_resource = ''
else:
raise ValueError('"auth_flow_type" must be "authorization", "credentials" or "public"')
self.con = self.connection_constructor(credentials, **kwargs)
self.main_resource = main_resource or self.protocol.default_resource
def __repr__(self):
if self.con.auth:
return 'Account Client Id: {}'.format(self.con.auth[0])
else:
return 'Unidentified Account'
@property
def is_authenticated(self):
"""
Checks whether the library has the authentication and that is not expired
:return: True if authenticated, False otherwise
"""
token = self.con.token_backend.token
if not token:
token = self.con.token_backend.get_token()
return token is not None and not token.is_expired
[docs] def authenticate(self, *, scopes=None, **kwargs):
""" Performs the oauth authentication flow using the console resulting in a stored token.
It uses the credentials passed on instantiation
:param list[str] or None scopes: list of protocol user scopes to be converted
by the protocol or scope helpers
:param kwargs: other configurations to be passed to the
Connection.get_authorization_url and Connection.request_token methods
:return: Success / Failure
:rtype: bool
"""
if self.con.auth_flow_type in ('authorization', 'public'):
if scopes is not None:
if self.con.scopes is not None:
raise RuntimeError('The scopes must be set either at the Account instantiation or on the account.authenticate method.')
self.con.scopes = self.protocol.get_scopes_for(scopes)
else:
if self.con.scopes is None:
raise ValueError('The scopes are not set. Define the scopes requested.')
consent_url, _ = self.con.get_authorization_url(**kwargs)
print('Visit the following url to give consent:')
print(consent_url)
token_url = input('Paste the authenticated url here:\n')
if token_url:
result = self.con.request_token(token_url, **kwargs) # no need to pass state as the session is the same
if result:
print('Authentication Flow Completed. Oauth Access Token Stored. You can now use the API.')
else:
print('Something go wrong. Please try again.')
return bool(result)
else:
print('Authentication Flow aborted.')
return False
elif self.con.auth_flow_type == 'credentials':
return self.con.request_token(None, requested_scopes=scopes)
else:
raise ValueError('Connection "auth_flow_type" must be "authorization", "public" or "credentials"')
[docs] def get_current_user(self):
""" Returns the current user """
if self.con.auth_flow_type in ('authorization', 'public'):
directory = self.directory(resource=ME_RESOURCE)
return directory.get_current_user()
else:
return None
@property
def connection(self):
""" Alias for self.con
:rtype: type(self.connection_constructor)
"""
return self.con
[docs] def new_message(self, resource=None):
""" Creates a new message to be sent or stored
:param str resource: Custom resource to be used in this message
(Defaults to parent main_resource)
:return: New empty message
:rtype: Message
"""
from .message import Message
return Message(parent=self, main_resource=resource, is_draft=True)
[docs] def mailbox(self, resource=None):
""" Get an instance to the mailbox for the specified account resource
:param str resource: Custom resource to be used in this mailbox
(Defaults to parent main_resource)
:return: a representation of account mailbox
:rtype: O365.mailbox.MailBox
"""
from .mailbox import MailBox
return MailBox(parent=self, main_resource=resource, name='MailBox')
[docs] def address_book(self, *, resource=None, address_book='personal'):
""" Get an instance to the specified address book for the
specified account resource
:param str resource: Custom resource to be used in this address book
(Defaults to parent main_resource)
:param str address_book: Choose from 'Personal' or 'Directory'
:return: a representation of the specified address book
:rtype: AddressBook or GlobalAddressList
:raises RuntimeError: if invalid address_book is specified
"""
if address_book.lower() == 'personal':
from .address_book import AddressBook
return AddressBook(parent=self, main_resource=resource,
name='Personal Address Book')
elif address_book.lower() in ('gal', 'directory'):
# for backwards compatibility only
from .directory import Directory
return Directory(parent=self, main_resource=resource)
else:
raise RuntimeError(
'address_book must be either "Personal" '
'(resource address book) or "Directory" (Active Directory)')
[docs] def directory(self, resource=None):
""" Returns the active directory instance"""
from .directory import Directory, USERS_RESOURCE
return Directory(parent=self, main_resource=resource or USERS_RESOURCE)
[docs] def schedule(self, *, resource=None):
""" Get an instance to work with calendar events for the
specified account resource
:param str resource: Custom resource to be used in this schedule object
(Defaults to parent main_resource)
:return: a representation of calendar events
:rtype: Schedule
"""
from .calendar import Schedule
return Schedule(parent=self, main_resource=resource)
[docs] def storage(self, *, resource=None):
""" Get an instance to handle file storage (OneDrive / Sharepoint)
for the specified account resource
:param str resource: Custom resource to be used in this drive object
(Defaults to parent main_resource)
:return: a representation of OneDrive File Storage
:rtype: Storage
:raises RuntimeError: if protocol doesn't support the feature
"""
if not isinstance(self.protocol, MSGraphProtocol):
# TODO: Custom protocol accessing OneDrive/Sharepoint Api fails here
raise RuntimeError(
'Drive options only works on Microsoft Graph API')
from .drive import Storage
return Storage(parent=self, main_resource=resource)
[docs] def sharepoint(self, *, resource=''):
""" Get an instance to read information from Sharepoint sites for the
specified account resource
:param str resource: Custom resource to be used in this sharepoint
object (Defaults to parent main_resource)
:return: a representation of Sharepoint Sites
:rtype: Sharepoint
:raises RuntimeError: if protocol doesn't support the feature
"""
if not isinstance(self.protocol, MSGraphProtocol):
# TODO: Custom protocol accessing OneDrive/Sharepoint Api fails here
raise RuntimeError(
'Sharepoint api only works on Microsoft Graph API')
from .sharepoint import Sharepoint
return Sharepoint(parent=self, main_resource=resource)
[docs] def planner(self, *, resource=''):
""" Get an instance to read information from Microsoft planner """
if not isinstance(self.protocol, MSGraphProtocol):
# TODO: Custom protocol accessing OneDrive/Sharepoint Api fails here
raise RuntimeError(
'planner api only works on Microsoft Graph API')
from .planner import Planner
return Planner(parent=self, main_resource=resource)
[docs] def teams(self, *, resource=''):
""" Get an instance to read information from Microsoft Teams """
if not isinstance(self.protocol, MSGraphProtocol):
raise RuntimeError(
'teams api only works on Microsoft Graph API')
from .teams import Teams
return Teams(parent=self, main_resource=resource)
[docs] def outlook_categories(self, *, resource=''):
""" Returns a Categories object to handle the available Outlook Categories """
from .category import Categories
return Categories(parent=self, main_resource=resource)


2022
As I Lay Dying, William Faulkner
Work Rules!, Laszlo Bock
A Swim in a Pond in the Rain, George Saunders
Romeo and Juliet, William Shakespeare
The Rime of the Ancient Mariner, Samuel Taylor Coleridge
Rousseau's Critique of Inequality, Frederick Neuhouser
Beautiful World, Where are You, Sally Rooney
Liberty Hall, Michael O'Loughlin
Dubliners, James Joyce
The Year of Magical Thinking, Joan Didion
Macbeth, William Shakespeare
Pig Island Letters, James K. Baxter
The Lay of the Land, Richard Ford
Routledge Philosophy Guidebok to Rousseau and The Social Contract, Christopher Bertram
Think Little, Wendell Berry
Inseparable, Simone de Beauvoir
The Major Political Writings of Rousseau (The Two Discourses & The Social Contract), Jean-Jacques Rousseau
Lenapehoking: An Anthology, Joe Baker, Hadrien Coumans & Joel Whitney
The Old Woman with the Knife, Gu Byeong-Mo
Hannah Coulter, Wendell Berry
Small Things Like These, Claire Keegan
The Suicide Club, Robert Louis Stevenson
Let Me Be Frank With You, Richard Ford
Poems 1980-2015, Michael O'Loughlin
Poukahangatus: Poems, Tayi Tibble
2021
The Quiet American, Graham Greene
Eugene Onegin, Alexander Pushkin
Walden, Henry David Thoreau
The House of Mirth, Edith Wharton
Othello, William Shakespeare
Pastoralia, George Saunders
The Appointment, Katharina Volckmer
Tenth of December, George Saunders
A Routledge Literary Sourcebook on William Shakespeare's Othello, Andrew Hadfield
The Custom of the Country, Edith Wharton
A Midsummer Night's Dream, William Shakespeare
The Age of Innocence, Edith Wharton
The Sound and the Fury, William Faulkner
Absalom, Absalom!, William Faulkner
Rabbit, Run, John Updike
Giovanni's Room, James Baldwin
Who Killed My Father, Edouard Louis
The Death of Ivan Ilych, Leo Tolstoy
Gillette or The Unknown Masterpiece, Honore de Balzac
The Torrents of Spring, Ernest Hemingway
The Whitsun Weddings, Philip Larkin
Cape Cod, Henry David Thoreau
The Old Man and the Sea, Ernest Hemingway
A Coney Island of the Mind, Lawrence Ferlinghetti
Convenience Store Woman, Sayaka Murata
The House on Mango Street, Sandra Cisneros
Of Mice and Men, John Steinbeck
The Prime of Miss Jean Brodie, Muriel Spark
Strange Case of Dr Jekyll and Mr Hyde, Robert Louis Stevenson
The Fall of the House of Usher, Edgar Allan Poe
The Murders in the Rue Morgue, Edgar Allan Poe
Notes from Underground, Fyodor Dostoevsky
The Ballad of the Sad Cafe and Other Stories, Carson McCullers
Poems, W. H. Auden
Dangling Man, Saul Bellow
Conversations with Primo Levi, Ferdinando Camon
The Tale of the Unknown Island, Jose Saramago
Bartleby, The Scrivener: A Story of Wall Street, Herman Meliville
The Post Office, Rabindranath Tagore
On Booze, F. Scott Fitzgerald
An Introduction to English Poetry, James Fenton
The Celebrated Jumping Frog of Calaveras County & Other Stories, Mark Twain
An American Sunrise, Joy Harjo
New Hampshire, Robert Frost
On the Duty of Civil Disobedience, Henry David Thoreau
Everyman's Poetry, Rupert Brooke & Wilfred Owen
The Fifth Risk, Michael Lewis
Into the War, Italo Calvino
Howl and Other Poems, Allen Ginsberg
A Christmas Memory, Truman Capote
Creeks and Kitchens, Maurice Gee
Leaves of Grass, Walt Whitman
2020
The Secret History, Donna Tartt
The God Boy, Ian Cross
The Rainbow, D. H. Lawrence
This Mortal Boy, Fiona Kidman
Dark Sparring, Selina Tusitala Marsh
Mister Pip, Lloyd Jones
Olive Kitteridge, Elizabeth Strout
Missing Person, Patrick Modiano
In the Clearing, J. P. Pomare
The Return of the Soldier, Rebecca West
Women in Love, D. H. Lawrence
Seize the Day, Saul Bellow
Paradiso, Dante
Interpreter of Maladies, Jhumpa Lahiri
The Brief Wondrous Life of Oscar Wao, Junot Diaz
A Theft, Saul Bellow
Opened Ground, Seamus Heaney
The Broken Estate, Mel Bunce
The Brothers Karamazov, Fyodor Dostoevsky
The Iliad, Homer
A Companion to the Iliad, Malcolm W. Wilcock
The Odyssey, Homer
The Breast, Philip Roth
Grief Is The Thing With Feathers, Max Porter
Upstate, James Wood
The New Bloomsday Book, Harry Blamires
Ulysses, James Joyce
Ulysses Annotated, Don Gifford
Mrs Dalloway, Virginia Woolf
Tuesdays with Morrie, Mitch Albom
Lucky Jim, Kingsley Amis
The Prince, Niccolo Machiavelli
A Dime to Dance By, Walter Walker
Reading Ted Hughes: New Selected Poems, Neil Roberts
New Selected Poems, Ted Hughes
Julius Caesar, William Shakespeare
A Journal of the Plague Year, Daniel Defoe
Waiting for Godot, Samuel Beckett
Rook, Anthony McGowan
Selected Poems, D. H. Lawrence
Death of a Salesman, Arthur Miller
The Turn of the Screw, Henry Miller
Dept. of Speculation, Jenny Offill
Sula, Toni Morrison
The Bookshop, Penelope Fitzgerald
Castle Rackrent, Maria Edgeworth
The Garden Party & Other Stories, Katherine Mansfield
Dear Ijeawele, Chimamanda Ngozi Adichie
Complacent Nation, Gavin Ellis
Drifting (A vau-l'eau), J.K. Huysmans
Things Fall Apart, Chinua Achebe
Hamlet, William Shakespeare
2019
The Children Act, Ian McEwan
Less, Andrew Sean Greer
Anna Karenina, Leo Tolstoy
White Teeth, Zadie Smith
The Absolutely True Diary of a Part-Time Indian, Sherman Alexei
Oscar and Lucinda, Peter Carey
The Beautiful Things that Heaven Bears, Dinaw Mengestu
Crime and Punishment, Fyodor Dostoevsky
Call Me Evie, J. P. Pomare
An Artist of the Floating World, Kazuo Ishiguro
Lost in the City, Edward P Jones
Normal People, Sally Rooney
Hera Lindsay Bird, Hera Lindsay Bird
Tinkers, Paul Harding
We Should all be Feminists, Chimamanda Ngozi Adichie
So Long See You Tomorrow, William Maxwell
Milk and Honey, Rupi Kaur
Her Favorite Color Was Yellow, Edgar Holmes
On the Natural History of Destruction, W. G. Sebald
Last Exit to Brooklyn, Hubert Selby Jr
The Sun and Her Flowers, Rupi Kaur
It Had to be You, David Nobbs
Slaughterhouse Five, Kurt Vonnegut
The Story of a Brief Marriage: A Novel, Anuk Arudpragasam
You Know You Want This, Kristen Roupenian
In the Heart of the Country, J. M. Coetzee
All The Light You Cannot See, Anthony Doerr
You Took The Last Bus Home, Brian Bilston
Crime of Privilege, Walter Walker
Hotel du Lac, Anita Brookner
Man in the Dark, Paul Auster
Indecision, Benjamin Kunkel
The Sportswriter, Richard Ford
Independence Day, Richard Ford
A Month in the Country, J L Carr
Evolution Illustrated by Waterfowl, David Lack
Beast, Paul Kingsnorth
The Most Beautiful Walk in the World, John Baxter
Urn Burial, Sir Thomas Browne (Intro by W. G. Sebald)
A Moveable Feast, Ernest Hemingway
Autumn Journal, Louis MacNeice
The Dud Avocado, Elaine Dundy
The Sun Also Rises, Ernest Hemingway
Ficciones, Jorge Luis Borges
About the House, W. H. Auden
Waterlines, Linda Avery et al.
Montana, Warts and All, Scott McMillion (ed.)
Inferno, Dante
Bright Lights, Big City, Jay McInerney
Purgatorio, Dante
Dante, R. W. B. Lewis
A Mistake, Carl Shuker


Next:
Revision history
Up:
JAL 2.0 manual
Previous:
JAL 2.0 manual
Contents
1 Language definition
1 basics
1 Format
2 Comments
3 Includes
4 Program
5 Scope
6 Block
2 basic types
1 Built-in types
2 Extending types
3 Literals
4 Constants
5 Variables
1 Declaration
2 Location
3 Volatile
4 Alias
6 Tables
1 Constant tables
2 Variable tables
7 Expressions
1 Operators
2 Priority
8 Statements
1 Declaration
2 Assignment
3 IF
4 WHILE
5 FOR
6 FOREVER
7 COUNT
8 _usec_delay
9 Procedures and functions
1 Pseudo variables
10 Tasks
11 Inline assembler
1 Single assembler statement
2 Assembler block
3 Scope
12 Pragmas
1 Chip Definition Pragmas
2 Compiler
1 Basic
2 Command line compiler options
3 Behaviour
1 End of program.
2 FOR without USING
3 Optimization
4 Debug output
3 Libraries
1 PIC definition library structure
1 Chip definition file
2 Core definition file
3 PIC chip definition file
4 Example of usage
2 Other libraries
1 Operating with digital I/O ports
2 Shadowing digital I/O ports
3 Disabling analog functions
4 Configuring the Oscillator
5 Making JAL 2.0 to recognize your own PIC device
4 Examples
1 Example 0: Blink a led.
2 Example 1: Scan a button.
3 Example 2: Control the blink of a led.
4 Example 3: Adding a hardware timer.
5 Example 4: Using hardware interrupts.
5 Glossary
6 GNU Free Documentation License
References
Next:
Revision history
Up:
JAL 2.0 manual
Previous:
JAL 2.0 manual
pJAL Manual.
(c) 2006 Javier Martinez, Vasile Surducan and Dave Lagzdin.


flare-config-vignette.Rmd
A guide to the variables in configure_flare.yml
and in
the observations_config.csv
,
parameter_calibration_config.csv
, and
states_config.csv
.
lake_name_code
: four letter code name for lake.lake_name
: full name of lakelake_latitude
: Degrees Northlake_longitude
: Degrees Westlocal_tzone
: In standard time. Must be recognized by
R.use_future_met
TRUE
: use NOAA forecast for “Future”FALSE
= use observed weather for “Future”; only works
if “forecasting” past datesforecast_met_model
: directory name within the
data_location that contains the NOAA model output (i.e.,
NOAAGEFS_1hr-debias)use_future_inflow
: Use forecast inflow vs. observed
inflow (if available)
TRUE
: Future inflowFALSE
: Observed inflowforecast_inflow_model
: directory name within the
data_location that contains the inflow model output (i.e.,
FLOWS-NOAAGEFS-AR1)base_GLM_nml
: full path to the glm namelist or path
relative to forecast directorybase_AED_nml
: full path to the aed namelist or path
relative to forecast directorybase_AED_phyto_pars_nml
: full path to the phyto_pars
namelist or path relative to forecast directorybase_AED_zoop_pars_nml
: full path to the zoop_pars
namelist or path relative to forecast directoryda_method
: method for data assimilation
(enkf
or none
)par_fit_method
: method for parameter fitting
da_method
= enkf
, then
inflate
, perturb
, or
perturb_const
are optionsda_method
= pf
, then only
perturb
is an optionensemble_size
: Total number of ensemble membersvert_decorr_length
: The length in meters where process
uncertainty becomes decoupled.no_negative_states
: Set any states that become negative
do to the addition of process uncertainty or from EnKF update to
zerolocalization_distance
: distance in meters were
covariances in the model error are usedassimilate_first_step
: TRUE or FALSEncore
: number of computer cores to use for parrallel
processingpar_file
:
par_names
: vector of GLM names of parameter values
estimatedpar_names_save
: vector of names of parameter values
estimated that are desired in output and plotspar_nml
: vector of nml file names that contains the
parameter that is being estimatedpar_init_mean
: vector of initial mean value for
parameterspar_init_lowerbound
: vector of lower bound for the
initial uniform distribution of the parameterspar_init_upperbound
: vector of upper bound for the
initial uniform distribution of the parameterspar_lowerbound
: vector of lower bounds that a parameter
can havepar_upperbound
: vector of upper bounds that a parameter
can haveinflat_pars
: The variance inflation factor applied to
the parameter component of the ensemble. Value greater than 1.pertrub_par
: The standard deviation of the normally
distributed random noise that is added to parameterspar_units
: Units of parameter for plottingstates_config.csv
:
state_names
: name of states.initial_conditions
: The initial conditions for the
state if observations are not available to initialize. Assumes the
initial conditions are constant over all depths, except for temperature
which uses the default_temp_init
variable in
configure_flare.R
to set the depth profile when
observations are lackingmodel_sd
: the standard deviation of the process error
for the tateinitial_model_sd
: the standard deviation on the initial
distribution of the statestates_to_obs_mapping
: a multiplier on the state to
convert to the observation. In most cases this is 1. However, in the
case of phytoplankton, the model predicts mmol/m3 biomass but the
observations are ug/L chla. Therefore the multiplier is the biomass to
chla conversionstates_to_obs_1
: The observation that the state
contributes to
NA
is required if no matching observationsstates_to_obs_2
: A second observation that the state
contributes to
NA
is required if no matching observationsinit_obs_name
: the name of observation that is used to
initialize the state if there is an observationinit_obs_mapping
: a multiplier on the observation when
used to initialize. For example, if using a combined DOC measurement to
initialize two DOC states, you need to provide the proportion of the
observation that is assigned to each state.states_process_error.csv
:
depth
obs_config_file
:
state_names_obs
: names of states with observationsobs_sd
: the standard deviation of the observation
uncertaintytarget_variable
: the name of variable in the data file
that is used for the observed state.distance_threshold
: this is the distances in meters
that an observation has to be within to be matched to a value in
modeled_depths
..lake_depth_init
: initial lake depth (meters)default_temp_init
: vector of initial temperature
profiledefault_temp_init_depths
: vector of depths in initial
temperature profilethe_sals_init
: vector of initial salinty valuesdefault_snow_thickness_init
: initial snow thickness
(cm)default_white_ice_thickness_init
: initial white ice
thickness (cm)default_blue_ice_thickness_init
: initial blue ice
thickness (cm)


{% extends "content_template.html" %} {# Used by the content_template.html layout, prefixes the "navigation" accessible name #} {% set navigation_label_prefix = 'About Notify' %} {% block per_page_title %} Security {% endblock %} {% block content_column_content %}
GOV.UK Notify is built for the needs of government services. It has processes in place to:
On Notify, data is encrypted when:
Any recipient data you upload is only held for 7 days.
If you send a file by email, the file will be available for the recipient to download for up to 78 weeks (18 months).
The Cabinet Office acts as data processor for Notify. Your organisation is the data controller.
Notify complies with data protection law. To make sure it stays compliant, there are regular legal reviews of the service’s:
Other technical security controls on Notify include:
Some messages include sensitive information like security codes or password reset links.
If you’re sending a message with sensitive information, you can choose to hide those details on the Notify dashboard once the message has been sent. This means that only the message recipient will be able to see that information.
You can set different user permissions in Notify. This lets you control who in your team has access to certain parts of the service.
To sign in to Notify, you’ll need to enter:
If signing in with a text message is a problem for your team, contact us to find out about using an email link instead.
Our approach to information risk management follows NCSC guidance. It assesses:
This approach also applies to the service providers Notify uses to send messages.
Things we do to manage risks on Notify include:
Notify has been assessed and approved by the Cabinet Office Senior Information Risk Officer (SIRO). The SIRO checks this approval once a year.
Notify also has approval from the Office of the Government’s SIRO to host data within the EEA.
You can use Notify to send messages classified as ‘OFFICIAL’ or ‘OFFICIAL-SENSITIVE’ under the Government Security Classifications policy.
Notify does not process data classified as ‘SECRET’ or ‘TOP SECRET’.
The Notify team has Security Check (SC) level clearance from United Kingdom Security Vetting (UKSV).
{% endblock %}


--- layout: page category: blog published: true title: "How you can help" permalink: about/ ---
The Gary Parcel Survey is an ongoing initiative. If you'd like to help, contribute address specific information, or have questions, we'd love to hear from you.


{{ define "content" }}
The following are some guides to help you on your CDK development.
If you'd like to submit a guide, please open a Pull Request on our Github repo.


This is my (Paul's) sandbox. I can use this page to test things (e.g., new CSS features on old browsers).


Tours
Clients
Tours
Add
FROM:
TO
Find
№ Tour
Direction
Date tour
Number of clients
101
Brest-Madrid
11.04.2021
4
Edit
Delete
102
Minsk-Ankara
30.06.2021
2
Edit
Delete
103
Brest-Egypt
15.05.2021
5
Edit
Delete
104
Minsk-Rome
20.06.2021
3
Edit
Delete
Delete tour
Please confirm delete


Overview
Tags
Addresses
Devices
Schedules
Media library
Documents
My profile
System
Users
Stats
Reports
Logs
Sign out


Musing with the stars
The Muse A film review by Michael Redman Copyright 1999 by Michael Redman
*** (out of ****)
Those damn Muses. The children of Zeus and Mnemosyne are some of the most infuriating of the gods. They are supposed to provide artistic inspiration but they're so demanding and just when you need them, they are busy elsewhere.
 No words. No brushstrokes. You dig deep inside and come up empty.
The Muses require a heavy toll. Artists, writers and musicians have varied and often opposing methods of paying tribute: drugs, alcohol, sex, abstinence, solitude, nature, meditation. Many of these are played to the extreme and are often self-destructive, but the Muses demand the artist leave the realm of everyday to receive their messages.
Once you get into contact with them, you're on fire. Everything flows. Manuscripts are written, pictures painted, poems composed. You don't even notice hours have passed and the morning birds are singing. The gods are in their universe and all's right with the world.
Steven Phillips (Albert Brooks) is a lucky man. He's dealing with Sarah (Sharon Stone), a living breathing real-life Muse who is helping him with his screenwriting slump.
Steven is a successful writer. He has 17 screenplays to his credit, one an Oscar nominee. But the day after receiving a Humanitarian award, the studio dumps him. His work has lost its edge. He's past his prime.
Desperate for help, he visits his buddy Jack Warrick (Jeff Bridges) who reluctantly turns him on to Sarah. She has helped him before and is quite the Hollywood deity about town.
Steven is overjoyed to work with the Muse until he discovers her requirements. He must bring gifts -- jewelry from Tiffany's. When she gets it, she casually tosses it into a large pile of other boxes in the same pale blue wrapping paper. Homage from other clients. She insists he put her up in a $1,700 a day suite in the Four Seasons. She calls in the middle of the night with a yen for Waldorf Salad. He brings it to her, but she's fallen asleep and doesn't want it anymore.
Then she moves into his home.
He's willing to put up with all of this because he can write again. When he stalls, she's too busy helping his wife Laura (Andie MacDowell) start a cookie business to give him much attention.
It gets worse as directors parade to her looking for help. She advises "Titanic" director James Cameron not to do a sequel ("Stay away from the water"). Martin Scorsese needs to talk to her about a re-make of "Raging Bull" with a thin guy ("Not just a thin guy, but a _really_ thin guy"). Steven can't get any time.
Surprisingly, Sharon Stone is the hit of the film. Sarah is a perfect combination of sex goddess and artistic inspiration who arrives at just the right time to save Steven's sanity. Stone has a comedic flare and perfectly captures the flighty irresistible Muse used to having men cater to her every whim.
Brooks also directed the film and mostly hits the target. He does miss occasionally and this gives the movie an odd pacing. Just when everything is going fine and the audience is captured, an ill-conceived scene brings it all down. Then he salvages with another hilarious bit. Perhaps he should have hung out with Sarah a bit more.
Bridges is outstanding in his small but pivotal role. His natural assumption of the character makes you wish he were around for more screen time. MacDowell is a charmer, but her performance seems flat.
The ending is a bit out of left field and undermines the charm of rest of the film. Perhaps because I fell under Sarah's spell, I have to wonder if the gray-bearded doctor is exactly who he says he is. The Greek gods are often tricksters.
This isn't a blockbuster and won't pull in the big bucks, but it's an enchanting fairy tale and Sarah is enthralling.
(Michael Redman has written this column for 'bout 24 years. Muses can email tales of inspiration to<EMAIL_ADDRESS>[This appeared in the 9/2/99 "Bloomington Independent", Bloomington, Indiana. Michael Redman can be contacted at<EMAIL_ADDRESS>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


Psalm 98
A psalm.
1 Oh, sing to Yahweh a new song,
for he has done marvelous things;
his right hand and his holy arm, have given us victory.
2 Yahweh has made known his salvation;
he has openly showed his justice to all the nations.
3 He calls to mind his covenant loyalty and faithfulness for the house of Israel;
all the ends of the earth will see the victory of our God.
4 Shout for joy to Yahweh, all the earth;
burst into song and sing for joy, sing praises.
5 Sing praises to Yahweh with the harp,
with the harp and melodious song.
6 With trumpets and the sound of the horn,
make a joyful noise before the King, Yahweh.
7 Let the sea shout and everything in it,
the world and those who live in it!
8 Let the rivers clap their hands,
and let the mountains shout for joy.
9 Yahweh is coming to judge the earth;
he will judge the world with righteousness
and the nations with fairness.


{% load static %} {% load widget_tweaks %}
| Enrollment No. | Name | Status | View Submission |
|---|---|---|---|
| {{s.stud_id.enrollment_number}} | {{s.stud_id.name}} | Submitted | Download |
| Enrollment No. | Name | Status | |
|---|---|---|---|
| {{s.enrollment_number}} | {{s.name}} | {% if s in student_who_submit %}Submitted | {% else %}Not Submitted | {% endif %}


| summary.survfit {survival} | R Documentation |
Returns a list containing the survival curve, confidence limits for the curve, and other information.
## S3 method for class 'survfit' summary(object, times=, censored=FALSE, scale=1, extend=FALSE, rmean=getOption('survfit.rmean'), ...)
object |
the result of a call to the |
times |
vector of times;
the returned matrix will contain 1 row for each time.
The vector will be sorted into increasing order;
missing values are not allowed.
If |
censored |
logical value: should the censoring times be included in the output?
This is ignored if the |
scale |
numeric value to rescale the survival time, e.g., if the input data to
|
extend |
logical value: if TRUE, prints information for all specified |
rmean |
Show restricted mean: see
|
... |
for future methods |
a list with the following components:
surv |
the estimate of survival at time t+0. |
time |
the timepoints on the curve. |
n.risk |
the number of subjects at risk at time t-0
(but see the comments on weights in the |
n.event |
if the |
n.entered |
This is present only for counting process survival data.
If the |
n.exit.censored |
if the |
std.err |
the standard error of the survival value. |
conf.int |
level of confidence for the confidence intervals of survival. |
lower |
lower confidence limits for the curve. |
upper |
upper confidence limits for the curve. |
strata |
indicates stratification of curve estimation.
If |
call |
the statement used to create the |
na.action |
same as for |
table |
table of information that is returned from |
type |
type of data censoring. Passed through from the fit object. |
survfit
, print.summary.survfit
summary( survfit( Surv(futime, fustat)~1, data=ovarian)) summary( survfit( Surv(futime, fustat)~rx, data=ovarian))


class Wmap::PortScanner
Port scanner class for the web application discovery and tracking
Constants
- File_discovery_ports
Use default common web service port list for the discovery
- Max_socket_timeout
set hard limit of socket time-out to 3 seconds to avoid performance penalty
Attributes
Public Class Methods
Set default instance variables
# File lib/wmap/port_scanner.rb, line 24 def initialize (params = {}) @verbose=params.fetch(:verbose, false) @socket_timeout=params.fetch(:socket_timeout, 1500) @http_timeout=params.fetch(:http_timeout, 5000) @max_parallel=params.fetch(:max_parallel, 40) # Initialize the instance variables @discovery_tcp_ports=params.fetch(:discovery_tcp_ports, file_2_list(File_discovery_ports).map!{|x| x.to_i} ) @discovered_urls=Hash.new end
Public Instance Methods
Count number of new found sites
# File lib/wmap/port_scanner.rb, line 189 def count return @discovered_urls.size end
Pre-scan worker, to be used for network profiling to maximum the scan performance, for instance.
# File lib/wmap/port_scanner.rb, line 35 def pre_scan(host) puts "Perform pre-scan works on host: #{host}" if @verbose begin # Use the following formula to 'guess' the right network time-out threshold for the scanner nwk_to=Wmap::NetworkProfiler.new.profile(host) if (100 + nwk_to*2).to_i > Max_socket_timeout @socket_timeout=Max_socket_timeout else @socket_timeout=(100 + nwk_to*2).to_i end puts "Done with the pre-scan works: reset @socket_timeout to: #{@socket_timeout}" if @verbose rescue Exception => ee puts "Exception on method #{__method__} for #{host}: #{ee}" if @verbose return nil end end
Print out the summary report of discovered sites
# File lib/wmap/port_scanner.rb, line 180 def print_discovered_urls puts "Print out port discovery results." if @verbose puts "Summary of Discovered Sites:" @discovered_urls.keys.sort.map { |x| puts x } puts "End of Summary." end
Main worker method that run through the discovery ports list, check if any response to the HTTP request on the open ports, and finally return the findings in the URL format as an array
# File lib/wmap/port_scanner.rb, line 53 def scan (host) puts "Perform web service discovery on host: #{host}" begin pre_scan(host) urls=Array.new @discovery_tcp_ports.map do |port| if tcp_port_open?(host,port) url=host_2_url(host,port) urls.push(url) unless url.nil? end end if urls.empty? puts "No web service detected. " else urls.map do |url| unless @discovered_urls.key?(url) @discovered_urls[url]=true end end puts "Detected web service on host #{host}: #{urls}" end return urls rescue Exception => ee puts "Exception on method #{__method__} for #{host}: #{ee}" if @verbose return nil end end
Parallel scans on a list of CIDRs from the input file, return the findings as the website construct within an array
# File lib/wmap/port_scanner.rb, line 114 def scan_file(file,num=@max_parallel) puts "Start the parallel scans on the target file: #{file}" begin list=load_target_file(file) urls=scans(list,num) rescue Exception => ee puts "Error on method #{__method__}: #{ee}" if @verbose return nil end return urls end
Parallel scanner - by utilizing fork manager 'parallel' to spawn numbers of child processes on multiple hosts/IPs simultaneously
# File lib/wmap/port_scanner.rb, line 83 def scans (targets,num=@max_parallel) all_urls=Array.new # 10/5/2013 add additional logic to eliminate invalid /duplicate target(s) targets = targets - ["", nil] if targets.size > 0 puts "Start the parallel port scan on the target list:\n #{targets}" Parallel.map(targets.shuffle, :in_processes => num) { |target| scan(target) }.each do |process| if process.nil? next elsif process.empty? #do nothing else process.map do |url| unless @discovered_urls.key?(url) @discovered_urls[url]=true end end all_urls+=process end end end puts "Port scanning done successfully with the found web services: #{all_urls}" return all_urls rescue Exception => ee puts "Exception on method #{__method__}: #{ee}" if @verbose return nil end
A simple TCP port scanner. This is the basic element of the port scanner. Notice the default time-out is set by the default instance variable @socket_timeout
# File lib/wmap/port_scanner.rb, line 161 def tcp_port_open? (host,port) puts "Perform open port detection on: #{host}:#{port}, time-out: #{@socket_timeout} ms" if @verbose #@socket_timeout = socket_timeout timeo = @socket_timeout/1000.0 # change time-out unit from sec to ms begin if Net::Ping::TCP.new(host,port,timeo).ping puts "Port open!" if @verbose return true else puts "Port down." if @verbose return false end rescue Exception => ee puts "Exception on method #{__method__} for #{host}: #{ee}" if @verbose return false end end


When I work with SAPUI5 projects I normally use WebIDE. WebIDE is a great tool but I’m more confortable working locally with my local IDE. I’ve this idea in my mind but I never find the time slot to work on it. Finally, after finding this project from Holger Schäfer in github, I realized how easy it’s and I started to work with this project and adapt it to my needs.
The base of this project is localneo. Localneo starts a http server based on neo-app.json file. That means we’re going to use the same configuration than we’ve in production (in SCP). Of course we’ll need destinations. We only need one extra file called destination.json where we’ll set up our destinations (it creates one http proxy, nothing else).
In this project I’ll create a simple example application that works with one API server.
The backend
I’ll use in this example one PHP/Lumen application:
$app->router->group(['prefix' => '/api', 'middleware' => Middleware\AuthMiddleware::NAME], function (Router $route) {
$route->get('/', Handlers\HomeHandler::class);
$route->post('/', Handlers\HomeHandler::class);
});
Basically it has two routes. In fact both routes are the same. One accept POST request and another one GET requests. They’ll answer with the current date in a json file
namespace App\Http\Handlers;
class HomeHandler
{
public function __invoke()
{
return ['date' => (new \DateTime())->format('c')];
}
}
Both routes are under one middleware to provide the authentication.
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class AuthMiddleware
{
public const NAME = 'auth';
public function handle(Request $request, Closure $next)
{
$user = $request->getUser();
$pass = $request->getPassword();
if (!$this->validateDestinationCredentials($user, $pass)) {
$headers = ['WWW-Authenticate' => 'Basic'];
return response('Backend Login', 401, $headers);
}
$authorizationHeader = $request->header('Authorization2');
if (!$this->validateApplicationToken($authorizationHeader)) {
return response('Invalid token ', 403);
}
return $next($request);
}
private function validateApplicationToken($authorizationHeader)
{
$token = str_replace('Bearer ', null, $authorizationHeader);
return $token === getenv('APP_TOKEN');
}
private function validateDestinationCredentials($user, $pass)
{
if (!($user === getenv('DESTINATION_USER') && $pass === getenv('DESTINATION_PASS'))) {
return false;
}
return true;
}
}
That means our service will need Basic Authentication and also one Token based authentication.
The frontend
Our ui5 application will use one destination called BACKEND. We’ll configure it in our neo-app.json file
...
{
"path": "/backend",
"target": {
"type": "destination",
"name": "BACKEND"
},
"description": "BACKEND"
}
...
Now we’ll create our extra file called destinations.json. Localneo will use this file to create a web server to serve our frontend locally (using the destination).
As I said before our backend will need a Basic Authentication. This Authentication will be set up in the destination configuration
{
"server": {
"port": "8080",
"path": "/webapp/index.html",
"open": true
},
"service": {
"sapui5": {
"useSAPUI5": true,
"version": "1.54.8"
}
},
"destinations": {
"BACKEND": {
"url": "http://localhost:8888",
"auth": "superSecretUser:superSecretPassword"
}
}
}
Our application will be a simple list of items
<mvc:View controllerName="gonzalo123.controller.App" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc" displayBlock="true" xmlns="sap.m">
<App id="idAppControl">
<pages>
<Page title="{i18n>appTitle}">
<content>
<List>
<items>
<ObjectListItem id="GET" title="{i18n>get}"
type="Active"
press="getPressHandle">
<attributes>
<ObjectAttribute id="getCount" text="{/Data/get/count}"/>
</attributes>
</ObjectListItem>
<ObjectListItem id="POST" title="{i18n>post}"
type="Active"
press="postPressHandle">
<attributes>
<ObjectAttribute id="postCount" text="{/Data/post/count}"/>
</attributes>
</ObjectListItem>
</items>
</List>
</content>
</Page>
</pages>
</App>
</mvc:View>
When we click on GET we’ll perform a GET request to the backend and we’ll increment the counter. The same with POST. We’ll also show de date provided by the backend in a MessageToast.
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/model/json/JSONModel",
'sap/m/MessageToast',
"gonzalo123/model/api"
], function (Controller, JSONModel, MessageToast, api) {
"use strict";
return Controller.extend("gonzalo123.controller.App", {
model: new JSONModel({
Data: {get: {count: 0}, post: {count: 0}}
}),
onInit: function () {
this.getView().setModel(this.model);
},
getPressHandle: function () {
api.get("/", {}).then(function (data) {
var count = this.model.getProperty('/Data/get/count');
MessageToast.show("Pressed : " + data.date);
this.model.setProperty('/Data/get/count', ++count);
}.bind(this));
},
postPressHandle: function () {
var count = this.model.getProperty('/Data/post/count');
api.post("/", {}).then(function (data) {
MessageToast.show("Pressed : " + data.date);
this.model.setProperty('/Data/post/count', ++count);
}.bind(this));
}
});
});
Start our application locally
Now we only need to start the backend
php -S <IP_ADDRESS>:8888 -t www
And the frontend localneo
Debugging locally
As we’re working locally we can use local debugger in the backend and we can use breakpoints, inspect variables, etc.
We also can debug the frontend using Chrome developer tools. We can also map our local filesystem in the browser and we can save files directly in Chrome.
Testing
We can test the backend using phpunit and run our tests with composer run test
Here we can see a simple test of the backend
public function testAuthorizedRequest()
{
$headers = [
'Authorization2' => 'Bearer superSecretToken',
'Content-Type' => 'application/json',
'Authorization' => 'Basic ' . base64_encode('superSecretUser:superSecretPassword'),
];
$this->json('GET', '/api', [], $headers)
->assertResponseStatus(200);
$this->json('POST', '/api', [], $headers)
->assertResponseStatus(200);
}
public function testRequests()
{
$headers = [
'Authorization2' => 'Bearer superSecretToken',
'Content-Type' => 'application/json',
'Authorization' => 'Basic ' . base64_encode('superSecretUser:superSecretPassword'),
];
$this->json('GET', '/api', [], $headers)
->seeJsonStructure(['date']);
$this->json('POST', '/api', [], $headers)
->seeJsonStructure(['date']);
}
We also can test the frontend using OPA5.
As Backend is already tested we’ll mock the backend here using sinon (https://sinonjs.org/) server
...
opaTest("When I click on GET the GET counter should increment by one", function (Given, When, Then) {
Given.iStartMyApp("./integration/Test1/index.html");
When.iClickOnGET();
Then.getCounterShouldBeIncrementedByOne().and.iTeardownMyAppFrame();
});
opaTest("When I click on POST the POST counter should increment by one", function (Given, When, Then) {
Given.iStartMyApp("./integration/Test1/index.html");
When.iClickOnPOST();
Then.postCounterShouldBeIncrementedByOne().and.iTeardownMyAppFrame();
});
...
The configuration of our sinon server:
sap.ui.define(
["test/server"],
function (server) {
"use strict";
return {
init: function () {
var oServer = server.initServer("/backend/api");
oServer.respondWith("GET", /backend\/api/, [200, {
"Content-Type": "application/json"
}, JSON.stringify({
"date": "2018-07-29T18:44:57+02:00"
})]);
oServer.respondWith("POST", /backend\/api/, [200, {
"Content-Type": "application/json"
}, JSON.stringify({
"date": "2018-07-29T18:44:57+02:00"
})]);
}
};
}
);
The build process
Before uploading the application to SCP we need to build it. The build process optimizes the files and creates Component-preload.js and sap-ui-cachebuster-info.json file (to ensure our users aren’t using a cached version of our application) We’ll use grunt to build our application. Here we can see our Gruntfile.js
module.exports = function (grunt) {
"use strict";
require('load-grunt-tasks')(grunt);
require('time-grunt')(grunt);
grunt.config.merge({
pkg: grunt.file.readJSON('package.json'),
watch: {
js: {
files: ['Gruntfile.js', 'webapp/**/*.js', 'webapp/**/*.properties'],
tasks: ['jshint'],
options: {
livereload: true
}
},
livereload: {
options: {
livereload: true
},
files: [
'webapp/**/*.html',
'webapp/**/*.js',
'webapp/**/*.css'
]
}
}
});
grunt.registerTask("default", [
"clean",
"lint",
"build"
]);
};
In our Gruntfile I’ve also configure a watcher to build the application automatically and triggering the live reload (to reload my browser every time I change the frontend)
Now I can build the dist folder with the command:
grunt
Deploy to SCP
The deploy process is very well explained in the Holger’s repository Basically we need to download MTA Archive builder and extract it to ./ci/tools/mta.jar. Also we need SAP Cloud Platform Neo Environment SDK (./ci/tools/neo-java-web-sdk/) We can download those binaries from here
Then we need to fulfill our scp credentials in ./ci/deploy-mta.properties and configure our application in ./ci/mta.yaml Finally we will run ./ci/deploy-mta.sh (here we can set up our scp password in order to input it within each deploy)
Full code (frontend and backend) in my github account


Demo: Applying an Ellipse Mask to an image¶
Once you have imgmasks installed, how can you use it? Read on for an example of how to apply an elliptical mask to an image of HL Tau! (image file located in imgmasks root directory)
Imports¶
First we need to import all of the relevant packages:
from imgmasks.ellipse import Ellipse
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
Reading in PNG image as a grayscale array¶
This code snippet will read in any PNG as an array that is passable to apply_elliptical_mask, but you can use your own image in the form of a 2D array.
png = mpimg.imread("hltau225.png")
if len(png.shape)==3: # if image is in RGB
img = np.dot( png[...,:3], [0.2989, 0.5870, 0.1140])
elif len(img.shape)==2: # if image is already in grayscale
img = png
plt.imshow(img, cmap = "gray")
plt.show()
Generating Elliptical Mask¶
Initialize the Ellipse object with input parameters. Here, (112,112) are the coordinates of the ellipse center, 90 and 60 are the axis lengths, (225,225) is the image size, and 45 is the angle of the ellipse measured counterclockwise from the positive x-axis:
e = Ellipse((112,112), 90, 60, (225, 225), theta=45)
Create an ellipse mask array – the output array represents a grid of pixels where pixels inside the ellipse have value 1 and pixels outside the ellipse have value 0.
mask_array = e.make_ellipse()
Applying the Mask¶
Apply the mask to the image:
masked_image = e.apply_elliptical_mask(img)
plt.imshow(masked_image, cmap = "gray")
plt.show()
Save your image:
plt.savefig("hltau225_masked.png")


--- title: Linear Regression for Exploratory Data Analysis author: '' date: '2019-12-23' slug: linear-regression-for-eda categories: [] tags: - machine learning subtitle: '' summary: '' authors: [] lastmod: '2019-12-23T11:30:53Z' featured: no image: caption: '' focal_point: '' preview_only: no projects: [] output: blogdown::html_page: fig_width: 9 fig_height: 6 dev: png ---
This analysis applies linear regression to data on house prices in England and Wales. It is intended to demonstrate that fitting simple models to a dataset can be a highly effective way of quickly identifying trends and generating ideas for further analysis.
More information on this approach can be found here: https://r4ds.had.co.nz/model-building.html
Data on median property prices in England and Wales is published quarterly by the UK’s Office for National Statistics, using data from the Land Registry. It is available here
The Excel document contains house prices for different administrative geographies of England and Wales, and different types of property. In this analysis, we will look at house prices in the final quarter of each year since 2008 across c. 350 local authority areas in England and Wales.
We’ll start by reading in the data and do some basic cleaning.
library(tidyverse)
library(readxl)
library(lubridate)
house_prices <- read_xls("hpssadataset9medianpricepaidforadministrativegeographies.xls",
sheet = "2a", skip = 6) %>%
# Converting the data from 'wide' to long
gather(key = "date", value = "median_price", -1, -2, -3, -4) %>%
# Converting date to a date format using the myd() function from the lubridate package
filter(str_detect(date, "Dec")) %>%
mutate(year = readr::parse_number(date)) %>%
# Looking at data since 2008
filter(year >= 2008) %>%
janitor::clean_names() %>%
select(-region_country_code, -date)
# Clean data
house_prices
## # A tibble: 3,828 x 5
## region_country_name local_authority_co… local_authority_n… median_price year
## <chr> <chr> <chr> <dbl> <dbl>
## 1 North East E06000047 County Durham<PHONE_NUMBER>
## 2 North East E06000005 Darlington<PHONE_NUMBER>
## 3 North East E06000001 Hartlepool<PHONE_NUMBER>
## 4 North East E06000002 Middlesbrough 99999 2008
## 5 North East E06000057 Northumberland<PHONE_NUMBER>
## 6 North East E06000003 Redcar and Clevel…<PHONE_NUMBER>
## 7 North East E06000004 Stockton-on-Tees<PHONE_NUMBER>
## 8 North East E08000037 Gateshead<PHONE_NUMBER>
## 9 North East E08000021 Newcastle upon Ty…<PHONE_NUMBER>
## 10 North East E08000022 North Tyneside<PHONE_NUMBER>
## # … with 3,818 more rows
Let’s quickly graph the changes to house prices.
library(scales)
house_prices %>%
ggplot(aes(year, median_price)) +
geom_line(aes(group = local_authority_name), alpha = 0.2) +
geom_smooth() +
scale_y_continuous(labels = dollar_format(prefix = "£")) +
labs(x = "", y = "Median house prices")
house_prices %>%
ggplot(aes(year, median_price)) +
geom_line(aes(group = local_authority_name), alpha = 0.2) +
geom_smooth() +
scale_y_continuous(trans = "log10", labels = dollar_format(prefix = "£")) +
annotation_logticks(side = "l") +
labs(x = "", y = "Median house prices (log scale)")
At first glance it appears that house prices have been steadily rising across England and Wales, though at very different rates. There is too much data (even in this relatively small dataset) to easily identify any key takeaways - so we need to find a way of summarising the data.
One way of summarising the data is to fit a model that captures the general trend. Since what we’re interested in is how house prices have changed since 2008, we should try to fit a model that can capture the variation over time. It would also be interesting to look at whether local authorities that are close together have experienced similar trends in house price changes.
It’s generally better during an exploratory exercise to start with a simple model, and then expand. The first thing we’ll do is visualise what a simple linear model would look like when applied to one local authority - here, we’ll used Ealing in West London. This model only uses the passage of time to predict house prices - it is not a sophisticated model, but merely captures the trend in how house prices have changed over time.
house_prices %>%
filter(local_authority_name == "Ealing") %>%
ggplot(aes(year, median_price)) +
geom_line() +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
scale_y_continuous(labels = dollar_format(prefix = "£")) +
labs(y = "Median Price")
This model does a reasonable job of summarising the overall trend in house prices in Ealing, with the blue fitted line generally close to the black line showing house price data. Now let’s see how well this approach scales to c. 350 local authorities.
We’ll use the nested dataframe workflow to split our data into separate datasets - one for each local authority. We’ll then fit the same linear regression model to each one, and calculate a couple of summary measures to compare the quality and findings of the model.
Note that for this model we’ll log transform the median prices to base 2. This flattens out some of the variation in the prices data, and means our resulting coefficients can (after some transformation) be interpreted as the estimated annual percentage change in house prices.
library(modelr)
library(broom)
library(scales)
house_prices_model <- house_prices %>%
mutate(year_since_08 = year-2008) %>%
group_by(region_country_name, local_authority_name, local_authority_name) %>%
nest() %>%
ungroup() %>%
mutate(price_model = map(data,
~ lm(log2(.$median_price) ~ .$year_since_08, data = .))) %>%
mutate(model_summary = map(price_model, glance),
tidy_model = map(price_model, tidy))
We’ll use R squared to assess how good our models are. Broadly, an R squared of 1 indicates a perfect fit, while 0 indicates a very poor fit and a model with no explanatory power.
model_summary <- house_prices_model %>%
unnest(model_summary) %>%
select(-data, -price_model) %>%
janitor::clean_names()
model_summary %>%
ggplot(aes(fct_reorder(region_country_name, r_squared),
r_squared, col = region_country_name)) +
geom_boxplot(outlier.shape = NULL, varwidth = TRUE) +
geom_jitter(alpha = 0.5) +
coord_flip() +
theme(legend.position = "none") +
labs(x = "", y = "R Square")
Here we can see that locations in London, the South East and the East have the highest R squared, which means the models work well here. The fit is likely to look like the graph for Ealing above.
We can visualise what higher levels of R square indicate in terms of trends in the data. Below, we’ve ‘cut’ r squared into 5 equally-spaced groups. We can see that areas with higher levels of R square have seen faster rates of house price growth. In locations where R squared is very low, house prices have barely moved at all or have been very volatile.
house_prices %>%
inner_join(model_summary) %>%
mutate(r_squared_cut = cut_width(r_squared, 0.2, boundary = 0)) %>%
ggplot(aes(year, median_price)) +
geom_line(aes(col = r_squared_cut, group = local_authority_name), alpha = 0.5, show.legend = FALSE) +
geom_smooth() +
facet_wrap(~r_squared_cut, nrow = 1) +
scale_y_continuous(trans = "log10", labels = dollar_format(prefix = "£")) +
scale_x_continuous(breaks = seq(2008, 2018, 2)) +
labs(x = "", y = "Median Price (£)")
We can transform the results of the models to assess how much house prices have changed since 2008 in different parts of England and Wales. The transformed coefficients of our model (see code below) can be interpreted as estimated annual % change in house prices since 2008.
model_tidy <- house_prices_model %>%
unnest(tidy_model) %>%
select(-std.error, -statistic, -p.value) %>%
spread(term, value = estimate) %>%
janitor::clean_names() %>%
mutate_at(vars("year_since_08","intercept"), ~ 2^.) %>%
mutate(year_since_08 = year_since_08-1) %>%
inner_join(model_summary)
model_tidy %>%
arrange(intercept) %>%
ggplot(aes(r_squared, year_since_08, fill = region_country_name)) +
geom_point(aes(size = intercept), shape = 21, alpha = 0.5) +
scale_y_continuous(labels = percent) +
labs(x = "R square", y = "Estimated annual increases in house prices (%)")
Here, we can see that locations in London, the East and the East Midlands have seen the biggest increases to house prices. The model fit in these locations, as measured by R squared, is also very high.
We can visualise what this means in practise by adding the predictions back into the data. As we can see below, the predicted values for Tower Hamlets (a borough in East London) closely track the median house prices.
model_tidy %>%
filter(local_authority_name == "Tower Hamlets") %>%
select(local_authority_name, data, price_model) %>%
mutate(predictions = map2(data, price_model, add_predictions, var = "price_pred")) %>%
unnest(predictions) %>%
mutate(price_pred = 2 ^ price_pred) %>%
ggplot(aes(year, price_pred)) +
geom_line(col = "blue", linetype = "dashed") +
geom_point(aes(y = median_price)) +
scale_y_continuous(labels = dollar_format(prefix = "£")) +
scale_x_continuous(breaks = seq(2008, 2018, 2)) +
labs(x = "", y = "",
title = "Actual and predicted median house prices in Tower Hamlets, 2008 - 2018")
We can dig deeper into the variation in model performance by region by faceting our earlier visualisation. Below, we can see that almost everywhere in London has experienced more than 6% annual increases in house prices since 2008, while in the East and South East more than half of locations have experienced more than 5% annual increases.
Most locations in the East Midlands, South West and West Midlands have experienced between 2.5% and 5%.
In Yorkshire, the North West, North East and Wales, the coefficients are lower and model performance worse - likely indicating that house price growth has been slower or more volatile.
model_tidy %>%
mutate(region_country_name =
fct_reorder(region_country_name, -year_since_08, .fun = median)) %>%
ggplot(aes(r_squared, year_since_08, fill = region_country_name)) +
geom_point(shape = 21, alpha = 0.5) +
scale_y_continuous(labels = percent) +
facet_wrap(~region_country_name, nrow = 2) +
labs(x = "R square", y = "Estimated annual increases in house prices (%)") +
theme(legend.position = "none")
We can examine the differences in performance within Wales if we pull-out some of the ‘best’ and ‘worst’ fitting locations. While the best fitting locations have undoubtedly seen slower growth than those in London and the South East, they have seen some growth. However, areas where the model fits badly have seen almost no growth in house prices over the last decade.
wales_best <- model_tidy %>%
filter(region_country_name == "Wales") %>%
arrange(desc(r_squared)) %>%
head(5)
wales_worst <- model_tidy %>%
filter(region_country_name == "Wales") %>%
arrange(desc(r_squared)) %>%
tail(5)
wales_modlels <- bind_rows(list("best" = wales_best, "worst" = wales_worst), .id = "fit_quality")
house_prices %>%
inner_join(wales_modlels) %>%
ggplot(aes(year, median_price)) +
geom_line(aes(group = local_authority_name, col = fit_quality), show.legend = FALSE) +
geom_smooth() +
facet_wrap(~fit_quality) +
scale_y_continuous(labels = dollar_format(prefix = "£")) +
labs(x = "", y = "Median House Prices",
title = "Median House Prices (2008 vs 2018) in Best and Worst Fitting Areas in Wales") +
theme(legend.position = "none")
house_prices %>%
inner_join(wales_modlels) %>%
filter(year %in% c(2008, 2018)) %>%
ggplot(aes(factor(year), median_price, col = fit_quality)) +
geom_line(aes(group = local_authority_name)) +
geom_point() +
geom_text(data = house_prices %>%
inner_join(wales_modlels) %>%
filter(year == 2018),
aes(label = local_authority_name), hjust = "left") +
facet_wrap(~fit_quality) +
scale_y_continuous(labels = dollar_format(prefix = "£")) +
labs(x = "", y = "Median House Prices",
title = "Median House Prices (2008 vs 2018) in Best and Worst Fitting Areas in Wales") +
theme(legend.position = "none")


Woman, 36, dead after alleged hit-and-run collision in Oshawa, Ont.
OSHAWA, Ont. — Police east of Toronto are investigating an alleged hit and run that left a cyclist dead early Friday. Durham regional police say a passing driver spotted the woman on the ground near an intersection in Oshawa, Ont.
by Canadian PressOSHAWA, Ont. — Police east of Toronto are investigating an alleged hit and run that left a cyclist dead early Friday.
Durham regional police say a passing driver spotted the woman on the ground near an intersection in Oshawa, Ont., with her badly damaged bicycle nearby.
They say many vehicles simply drove around the victim until one driver finally stopped and called police.
Investigators have identified the victim as a 36-year-old woman, but are keeping her name private at her family's request.
They say that as of 3 p.m. Friday — roughly 11 hours after the crash — no witnesses had come forward.
Police have not provided a suspect description, but they say a portion of a headlight and a shattered piece of a bug deflector were left at the scene of the crash.
This report by The Canadian Press was first published Nov. 22, 2019.
The Canadian Press


CONTEST THEME: Clean Energy Recharging the World
The game of ABU Robocon 2016 is designed in order to create the awareness of efficient energy consumption and clean and renewable energy utilization. Each team has to build two robots; Eco Robot and Hybrid Robot. Eco Robot doesn’t have an actuator to drive. It receives the driving energy from Hybrid Robot. Eco Robot has to use only one steering actuator to control its direction, to track the path containing Slopes and Hills, River, and Down Hill. Besides providing driving energy to Eco Robot, Hybrid Robot has to take Wind Turbine Propeller from Eco Robot and climb up Wind Turbine Pole in order to assemble Wind Turbine.
CONTEST THEME: Clean Energy Recharging the World
The game of ABU Robocon 2016 is designed in order to create the awareness of efficient energy consumption and clean and renewable energy utilization. Each team has to build two robots; Eco Robot and Hybrid Robot. Eco Robot doesn’t have an actuator to drive. It receives the driving energy from Hybrid Robot. Eco Robot has to use only one steering actuator to control its direction, to track the path containing Slopes and Hills, River, and Down Hill. Besides providing driving energy to Eco Robot, Hybrid Robot has to take Wind Turbine Propeller from Eco Robot and climb up Wind Turbine Pole in order to assemble Wind Turbine.


Change Log:
May 4,2021: Made the site. Couldn't figure how to make it work.
May 5, 2021: Got the website up. Added to the home screen.
Table of Contents


About
Located in Water Valley, MS, Base Camp Coding Academy (BCCA) is a hands-on, challenging and fun program, designed to train students to be software developers in 12 months.
In a small classroom setting, you will work with real world technologies to learn the fundamentals of coding, app development and the life leadership skills you will need to be successful in your career and competitive in the job market.
What does it take to attend Base Camp Coding Academy?
-
Step 1: Nomination
Any Mississippi student in their senior year may be nominated to Base Camp by a teaching professional. Once a student is nominated they will be invited to complete an application. Nominate a student today: click here
-
Step 2: Demonstrate a Strong Heart and Mind
Becoming a fantastic software developer takes hard work and dedication.
-
Step 3: Show Up, and Work Hard
Each class of 15 to 20 students will work together every weekday for 12 months to master this skill set.
-
Step 4: Graduate, and Land a Great Job
Base Camp is successful when our students are successful in their careers.
-
Step 5: Be Fantastic
Every graduate carries the reputation of Base Camp with them into the workforce. We expect you to represent!
What don’t you need to attend Base Camp Coding Academy
Money.
Every student accepted into Base Camp Coding Academy receives a 100% scholarship.
Thanks to the generous support of Mississippi’s business and philanthropic leaders, Base Camp Coding Academy is a not for profit 501(c)(3) program.


This lesson accepts any input for a username and appends the information to the log file.
Enter the text: 'smith Login Succeeded for username admin' in the username. The text is added to the same line, not a new line. But any input is allowed so you can inject carriage return (%0d) and line feed (%0a) to the application. Enter the following in the username:
Smith%0aLogin Succeeded for username: admin
An attacker can use this attack to add malicious JavaScript to the log file, which will be viewed by the administrator using a browser. What happens when you inject admin <script>alert(document.cookie)</script> for the username?


Property side bar consists of four parts.
1.
2. Property list consist all editable preferences of the object.
3. Property description where you can see its name and usage.
4. Object hierarchy, so you can easily manage your design.


AMAZAING PEOPLE ARE MAKING AMAZING DESIGNS IN A FUN ENVIROMENT
When you work with us, you are part of a team of collaborators.
All aspects pf our software development process are intergrated, interactive and agile.
Our approach unifies design, development and product management to create exceptional product.
We start each project by understanding your project goals, the user's needs and the product requirements.
Then we help translate them into effective and elegent solutions.
Before we sign a contract and write a line of code our team will spend the necessary time needed to understand your product vision.
The outcome of this scoping session is a proposal or high-level statement of work
based on your requirements, we can provide a complete offering or just the pieces you need.
Our design practice offers a full range of services including brand strategy, interaction and visual design and user experience testing.
Throughout your project, our designers create and implement visual design and workflows, solicit user feedback and work with you to make
sure what gets built is what is needed.
All engineers are fluent in the latest enterprise, mobile and web development technologies. They collaborate with your team to write, and improve code on a daily basis, using proven practices such as test-driven development and pair programming.
Planning and development is iterative. Because we are constantly coding and testing, the products we build are always ready to go live. This iterative process allows for changes as business requirements evolve.
DELANI STUDIO
2019