text:
You know that the title of the book is The Golden Compass, but let's not forget that it's also the first book in the series called His Dark Materials.
The golden compass, also known as an "alethiometer," is a gadget given to Lyra by the Master of Jordan College at Oxford. The device is powered by Dust and can be used to gain insight into any number of questions. As Farder Coram tells us in Chapter 7, "aletheia" is Greek for "truth," so "alethiometer" means "truth measure" (7.118). It's a bit ironic that the designated keeper of this particular alethiometer is Lyra, who is known for telling whoppers.
Why title the book The Golden Compass? Maybe it's because Lyra's growing skill with this instrument of the divine proves to the reader that there's something very special about her – and it allows her to harness a power of her own.
The titles of the other two books in the trilogy also feature objects: The Subtle Knife and The Amber Spyglass.
P.S. The original title for this book is Northern Lights. Actually, it's only published as The Golden Compass in North America. The original title shifts the focus away from the alethiometer and toward the scene under the northern lights where Lord Asriel creates a bridge to another world. Which title do you like better?
The phrase "His Dark Materials" is a line from Book II of Milton's Paradise Lost, which you can read all about on Shmoop. For more on the phrase "His Dark Materials," zip over to our section on the novel's epigraph, which contains the phrase.
In The Golden Compass, those "Dark Materials" presumably refer to Dust, which – as Lord Asriel tells us in Chapter 21 – the Church interprets as evidence of original sin. For more on that topic, head over to "Symbolism, Imagery, Allegory: Dust (and Original Sin)."


difference between research proposal & research report?
Question:just narrate me the differences between research proposal and research report
Proposal: before you enjoy done it. Report: after you have done it. The first is roughly speaking convincing someone or a qualified group that your research proposal is sound (in its method, approach, knowhow of the field,etc.) and deserves financial support; the second places earlier others a brief summary of what you have found or concluded, so that they can establish if they wish to see your full research. People who complete a Ph.D. dissertation write a summary of their research, usually a page or two, which is available contained by Dissertation Abstracts in the United States, and those who option can request the dissertation from the library where it have been deposited or from University Microfilms (or doesn't matter what the current form).
only if you ask other. justf rom the question it seem to me that a propsal is where a recercher is aproching a target group e.g a charity to ask thm weather they are prepared to partake in a recerch programe and a report is where on earth a recercher had done the recaerchand the final draft is writen up next to the results?
Research proposal mechanism you are considering doing research and putting a case for it.
Research report way you have done the research and are presenting the results. Research proposal: you donate the idea something like what do you want to research, how to do it,a nd other stuffs about the research. This is until that time you're doing the research. basically informing someone roughly the research you'll be doing.
Research report: you give the result/what hold you achieved within the research. this is informing the progress of your research or the result of your reserach.
my friend who's doing research for a doctorate degree
In a research proposal, you are proposing (suggesting) what you will later report on. If agreed, then you execute the research that you proposed and write the research report. The research report is the finished product, while the research proposal is just axiom what you plan to do.
Genuine research is expensive. A research proposal is much like as a business proposal containing cost for conducting and benefits derived from the research to be done. Basically, it's the request for funding.
A research report is the end result. It will contain a summery, details, statistics, and a conclusion reach. A research proposal is the "what I am going to research and why". It represents the arguement for your chosen area, the methods you are going to use, the style you are going to validate background and why your research area is relevant. Your proposal is assessed and suggestions made by your tutor that can abet you with the actual research.
A research report is the "what I hold researched and what I have found". This is longer than the proposal and represents the arguement for your chosen research (the "why" from your proposal), the methods used and an evaluation of whether these be effective, the information gained and what this background indicates. Are there any surprises within your data - could this be a result of the methods used? After your analysis of the background, you should round off the report near a conclusion.
The main difference between the proposal and the report is the process of evaluation. After you hold done the research you are in a position to evaluate and analyse the methods you own used.
If you are going to start a research project I would advise you to start a diary immediately to log everything that happens so you can hang on to track of events. Proposal means is the accomplishment of proposing something/course of action proposed(eg. donate of marriage).Report means description,summary or reproduction of a scene,speech,directive case etc,for daily publication or broadcast.
Research proposal & research report are the different sides of a same coin,you can say commotion.
Research proposal is a preparation of some topic on which you have come to the conclusion to do some entry.
If the research is finalise and approved by authority then you will rob action and you will walk for making report.And then you will shift for actual research that is the result. Here is an example of a research proposal.
i want to do sap in hr suggest any good institute of it?
 - help! anyone here a doctor?or studying to be a Doctor?what type of math do doctors study?
 - should you go to college just because your parents want you to go?
 - is gloscat college a good college to study at?
 - what sort of things do u put on a personal statement?
 - How do I pay for graduate school?
 - what is the socio economic impact of hiv aids on its victims?
 - probability distribution question?
 - does anyone have any info on u.c. berkely?
 Copyright 2006-2012 EduQnA.com All Rights Reserved.


Yoav Levine 2018-2019
Institution of PhD:
The Hebrew University of Jerusalem
Academic Discipline of PhD:
Computer Science
PhD Advisor/s:
Prof. Amnon Shashua
Dissertation Topic:
Bridging Deep Learning and Many-Body Physics via Tensor Networks
Present Academic Position:
PhD Student
Yoav grew up in Jerusalem and lives in Tel Aviv with his wife Gali. After serving in an IDF intelligence unit, he pursued a double BSc in physics and electrical engineering at Tel Aviv University, where he participated in the Adi Lautman Program for Outstanding Students. He graduated summa cum laude from both departments. During his undergraduate studies he conducted physics research at a US DoE particle-accelerator facility and at the Weizmann Institute Atomic Scale Physics lab. There, he encountered the fascinating field of topological phases of matter, and he continued pursuing research in this field from a theoretical perspective as part of his graduate work at the Weizmann Institute. His MSc thesis resulted in a published paper theoretically analyzing a realization scheme for topological phases of matter.
Increasingly intrigued by the field of Artificial Intelligence, which has raised fundamental scientific questions and shown a great potential to impact society, Yoav joined the deep learning theory group at the Hebrew University for his doctoral work. His research aims to shed light on the success of prominent deep learning architectures by using tools from quantum physics, and to promote the use of deep networks for quantum physics research. Yoav has published three theoretical papers establishing novel connections between these fields. The first two provide new insights into prominent deep learning architectures of the kind used for computer vision and speech recognition, while the third proves that deep learning architectures can be employed for the investigation of highly entangled many-body quantum systems.


more efficient. The disadvantage of such approach is that global information has time delay so that the topology may be different from the time when past consensus was reached. We consider this to be acceptable as long as the valid path is unique or almost unique, and the valid path still exists and will be selected by honest nodes with nontrivial probability at the time of validation.
To validate a path, we validate if each node on the route is relaying the packet to its neighbor that is closest to the destination address, considering only nodes that appeared in the last X blocks, where X is configurable. To be more specific, at each hop, let the node NKN address be x, the virtual ring can be separated into m segments, where segment i contains nodes whose NKN address is between (x + 2^i) mod 2^m (inclusive) and (x + 2^(i+1)) mod 2^m (exclusive). If there are any nodes within segment i, then the node in segment i that is closest to x will be a neighbor of node x. Similarly, if the destination NKN address is located in segment i, then the node in segment i that is closest to x should be the next hop which x should send the packet to. In practice, each node validating the path will check:
 1. The next hop is indeed in segment i
 2. No node that appeared in the last X blocks is in segment i and is closer to x than the next hop.
A hop is valid if it satisfies these two conditions. A path is valid if every hop is valid. Since the validation only utilizes information in the signature chain and data in previous blocks, every node in the NKN that receives the signature chain and has previous blocks information will produce the same output, ensuring the consistency of validation.
A consequence of the above validation algorithm is that, if any hop in a path should select a node which appeared in the last X blocks but is now offline, then the actual hop will skip that node and select its immediate successor instead, make the path invalid. This cannot be avoided unless information other than previous blocks is used (e.g. ping the skipped node to see if it's indeed offline). We argue that this false negative is acceptable because it can be viewed as another random factor that rejects a portion of honest signature chain, similar to the role of the hash of the signature chain. The probability that an actual valid path is identified as valid can be computed as p = (1 — N_off / N)^l, where N_off is the number of nodes that appear in the last X blocks and then go offline when the packet is being relayed, N is the total number of nodes in the network, and l the length of the path. One can choose smaller X or making nodes more stable to reduce N_off and increase the validation rate.
Verifiable Random Function (VRF)
The signature in signature chain needs to satisfy the following conditions:
 1. Only the secret key holder can produce valid signature, no one else can compute valid signature of a message without knowing the secret key, even if knowing the valid signatures of other messages;
 2. The signature of any message should be unique, i.e. only one signature is valid for any message and key pair.
The first property (verifiability) guarantees the signature is indeed signed by the secret key holder, while the second property (uniqueness) prevents relayers from computing multiple signatures for the same message and choose the one that has largest advantage (e.g. smallest signature).
Although elliptic curved based digital signature algorithms (e.g. ECDSA) provide verifiability, they do not produce unique valid output for the same input message. A random nonce can be chosen freely to produce multiple valid signatures, and validator does not know or verify what nonce is chosen. Even in some deterministic versions of ECDSA where the random nonce is chosen deterministically (e.g. hash of the message), malicious node can still choose different nonce and produces multiple valid signatures for the same message, while the validator cannot know if the nonce is chosen in the specified way. In contrast, hash function provides uniqueness but not verifiability as anyone can compute the output.
We use verifiable random function (VRF) to compute the "signature" in signature chain as it provides both verifiability and uniqueness. In addition to the output (signature) of the message, it also produces a proof which is needed to verify the signature. Similar to signature algorithms, valid signature can only be computed if the secret key is known. Unlike ECDSA, only one signature is valid for any message in verifiable random function, although the proof may not be unique.
NKN Address Scheme
Nodes and clients have different scheme when choosing NKN address.
First, it is important that NKN address of a node is random (or at least uniformly distributed and uncontrollable) for two reasons.
1) It is hard for malicious nodes to choose specific NKN addresses. Being able to choose NKN address makes it easier for malicious nodes to attack the system as neighbors and routing are based on NKN addresses.
2) Load is more balanced among nodes given random NKN addresses, effectively making the network more decentralized.
To guarantee the randomness of NKN address and prevent malicious nodes from choosing specific NKN address, a unique, unpredictable, uncontrollable yet still verifiable function is used to generate NKN address when a node joins NKN. We choose the hash of public IP address and latest block hash at the time of node joining
Node NKN address = hash(Node public IP address, latest block hash)
 such that it's verifiable by other nodes but unpredictable in advance.
Second, clients have different NKN address scheme from nodes. The scheme should satisfy the following properties:
 1) Client NKN address is permanent such that a client can be reached from the same NKN address when in different physical network.
 2) Client NKN address is associated with its public key to avoid NKN address collision so that other clients cannot receive packets sending to it.
NKN chooses the scheme such that client NKN address is computed from a url-like NKN address string consisting of an arbitrary string chosen by the client and its public key
Client NKN address = hash("arbitrary-string.client-public-key")
 In the NKN address string, the last substring separated by a dot (client public key) represents the unique identity of the client, similar to root domain in a url; the rest is chosen by the client, similar to subdomain in a url. Such a scheme satisfies the above two properties. In addition, a user (key pair holder) can generate as many NKN addresses as he wants sharing the same account (key pair).
 Clients do not distribute their NKN addresses directly. Instead, a client distributes its NKN address string to nodes or other clients and they compute the client's NKN address locally such that they know both the client's NKN address and public key at the same time. Using such a scheme, end-to-end encryption between any clients is easy to implement.
Mining Economic Model
The total number of NKN tokens (nkn) is one billion. When the mainnet goes alive, the genesis block will generate 70% nkn. The remaining 30% will be produced by mining data transmission, and the annual output will decrease linearly within 25 years, as shown in Figure 7. The annual supply (in millions) of NKN tokens (Q) is distributed according to the time variable "T" and is excavated according to the following formula:
Because the total amount of NKN tokens is limited and mining production decreases linearly over time. This part of the mining mechanism for issuing tokens is to encourage the community to participate in the co-construction and sharing of the new Internet. The cost of NKN token is determined by the bid between the customer and the miner (similar to the Ethereum system fee); therefore, the market price change of the NKN token does not affect the equivalent price of the data transfer transaction or data transfer fee.
Figure 7 nkn annual mining amount supply curves versus time
Building an Ecosystem
The NKN ecosystem has three main goals:
 1. Ultra open. Any device can easily access NKN whenever and wherever.
 2. Share network resources. Participants receive rewards from the NKN system by sharing idle network resources with others.
 3. Building network facilities together. NKN encourages individuals and organizations to deploy devices to serve other nodes and benefit from automatic settlement while enhancing network connectivity and throughput.
Therefore, the NKN ecosystem has four main elements: network equipment/device, network infrastructure, Internet service providers, and decentralized applications, as shown in Figure 8.
Figure 8 NKN ecosystem elements and the value of NKN
In transforming traditional network infrastructure, NKN focuses on its own blockchain technology advantages and cooperation with traditional telecommunications and the Internet service providers. Recently, NKN joined the TIP (Telecom Infra Project) , a telecommunications alliance founded by Facebook, Deutsche Telekom, Intel, Telefonica, Nokia, Vodafone and BT. NKN will play a key role in the working groups such as Edge Computing Group, OpenCellular Group and TIP Community Labs. NKN's innovative economic incentive model combined with blockchain in the field of network transport will enable members of the TIP Alliance to embrace technology innovation more quickly and broadly.
In addition, NKN is also a member of the ONF(Open Networking Foundation). ONF is a non-profit organization of telecom industry giants such as AT&T, Google, Comcast, Deutsche Telekom, NTT and Turkey Telecom, which aims to introduce open source innovation into formal commercial deployment. One of the


text:
This section describes how to use mysqldump to produce dump files, and how to reload dump files. A dump file can be used in several ways:
As a backup to enable data recovery in case of data loss.
As a source of data for setting up replication slaves.
As a source of data for experimentation:
To make a copy of a database that you can use without changing the original data.
To test potential upgrade incompatibilities.
mysqldump writes SQL statements to the
standard output. This output consists of
CREATE statements to create dumped objects
(databases, tables, and so forth), and
INSERT statements to load data into tables.
The output can be saved in a file and reloaded later using
mysql to recreate the dumped objects.
Options are available to modify the format of the SQL
mysqldump produces two output files for
each dumped table. The server writes one file as tab-delimited
text, one line per table row. This file is named
in the output directory. The server also sends a
CREATE TABLE statement for the
table to mysqldump, which writes it as a
in the output directory.

source: HuggingFaceFW/fineweb-edu


Would you like to know about Prince William's home? Watch the film and find out. Then learn some words and grammar for describing your own home.
Task 1 - places and homes
Task 2 - rooms and places in the palace
Task 3 - understanding the film
Write about your home using 'There is / There are'. If you go to a college, ask your teacher to look at your writing.


text:
Smaller nonprofits and NGO's may not have the same name recognition and financial might as the big guys, but that does not mean they play a minor role in making the world a better place. There are countless tiny grassroots organizations supporting causes you may have never heard of, but are nonetheless making a huge difference in people's lives. Here are just a few good reasons to root for the little guy (aka small nonprofits!):
1. Small nonprofits engage the community directly in local projects.
Larger NGO's have the resources to study and assess the needs of disadvantaged communities, but they are still often on the outside looking in. Those who are directly impacted by the problems that big NGO's intend to solve may just hold the key to implementing solutions.
When the local people are engaged in grassroots projects, they are no longer passive recipients of aid; they become active agents of positive change in their own communities. While larger NGO's may struggle to get full community involvement, local nonprofits are woven into the fabric of the communities they serve. And when the local people are empowered, they can mobilize a movement for real and lasting change.
Sadly, without larger NGO support many smaller nonprofit organizations lack the funding to offer competitive wages to their staff. The best and brightest local talent may choose to leave their communities when a better job offer comes along from a larger international organization. Nevertheless, the opportunity to make an impact remains in the community, regardless of the financial incentive.
2. Local nonprofit organizations are the first responders, and the long-term supporters.
When they are well equipped with the resources to operate effectively, grassroots organizations can start mobilizing the community and helping people in distress long before foreign aid and international volunteers start pouring in after a disaster.
Issues affecting vulnerable populations can be very complicated, and have grown in number over time creating layers of disadvantage. It is no wonder it sometimes takes multiple generations before real transformative change can happen. Many big international organizations can only invest in a specific project for a few years; without being fully engaged with the local community, their well intended efforts may (and often do) fizzle out.
Small, local nonprofits are in it to win it, for as long as it takes!
3. Grassroot nonprofit organizations address issues that are easily overlooked by big international players.
Larger organizations can be very effective in tackling huge problems, like sending relief after a natural disaster or supporting communities in periods of dramatic food insecurity. But, there are countless other problems that effect locals' lives, yet remain largely unknown to the global community. You can bet there is a small grassroots organization out there on the front lines of a fight you may not even know is going on, and they can surely use your support!
While having a well-known brand gives large aid organizations more sway when it comes to fundraising, it can also make them more risk averse. Bigger organizations are often swayed by concerns about pleasing donors, and therefore avoid taking-on "messy" social problems without a clear cut solution. They opt to avoid making waves with their donor network, since the potential for issues is much larger, and instead focus on shorter-term projects with measurable outcomes. These messy social problems consequently remain unsolved, unless a smaller NGO with local insight can step in to bring in and implement an effective solution.
4. Small nonprofits put their funding to good (frequently tangible) use.
Some people are hesitant to support smaller organizations, because they have never heard of them and don't want to waste their well intended donations. While supporting a large, well established organization may seem like a safe bet that will allow you to create the most good with your hard earned dollars, it may not make the real impact you hoped for. Your donation could go toward ad space to promote a fundraiser, for example, rather than actually feeding a child for a month or providing a life saving vaccine. Even worse, it could get lost in the red tape of bureaucracy before finally trickling down to someone who urgently needs it!
On the other hand, smaller organizations can utilize funds to address issues they personally witness in their communities, without being stalled by complicated procedures and internal gridlock. Their process for program implementation is often tangible, direct, and instantly alters the lives of community members.
5. The underdog always saves the day in the end.
With so many complex problems in the world, we can't afford to let grassroots organizations fade out of existence. The diversity of issues in each community requires a diversity of solutions, and it would be unwise to rely solely on a handful of the mightiest organizations to save the world. It has been estimated that less than 2 % of humanitarian aid funding goes straight to smaller, local nonprofits based right in the communities they serve. This is an issue we must address, and we can begin by supporting small nonprofits, instead of the big wigs. With the right support and recognition, the underdog can overcome any obstacles!
This blog was contributed by Jenni Bills:
Jenni is a travel agent and freelance blogger. From studying abroad in London to traveling around Europe and Japan, her passion for learning about the world seems to be endless.

source: openbmb/Ultra-FineWeb


text:
LibreOffice has an old compatibility issue (inherited from OpenOffice) with Microsoft Office related to text highlighting (character background). During document exchange between the two office suites text highlighting is changed on an unexpected way. The root of the problem is that LibreOffice (LO) and Microsoft Office (MSO) has a different design for character backgrounds and so it's ambiguous how to save LO character background to MSO file formats (ambiguous both to users and to developers). Now this issue is solved by allowing the users to specify the behavior of LO export.
Microsoft Word has a two-character-background concept. One attribute is called shading which lives on more levels of the document model: table cells, paragraphs and characters. With it we can add any background color to the selected object and we also can use it in a theme. The other one is called highlighting which offers a more limited color selection and is used on the analogy of highlighter pen to call attention to a portion of the document.
LibreOffice Writer, in the other hand, supports only one kind of character background which is called also as highlighting. This character background is closer to Word shading attribute, since it has a wider color selection and it's also a specialization of the general background attribute on the same way as shading in Word. An other similarity is that automatic font color interacts with character background in Writer and with shading in Word on a way to make text always visible (e.g. when background is dark then text color becomes white, when the background is light then text color changes to black). Word highlighting doesn't have this kind of behavior.
About Microsoft Word's concept
After I decided to fix this issue the first questions were: How useful is this two-character-background concept of Microsoft Office? Is this something which LibreOffice should support?
I've got the answer: It's not something that LibreOffice needs.
First of all I can't see a real difference between the usage of shading and highlighting in Word. I mean both have the purpose to make some parts of the text more visible (highlight them). Highlighting can be also used for reviewing a document (mark parts of a document temporarily), but both office suits have a Comments feature which includes an integrated highlighting function, which can be more useful for this purpose.
Additonally this concept also leads to misunderstandings among the users. At the first sight it can't be decided whether a highlighted text portion in a document is formatted actually with highlighting or with shading. This becomes worse because of that the highlighting feature is more accessible in some versions of Word and so it is more known by the users as shading which can make users confused when they get a document with character shading. As I see this was the main issue also in case of LibreOffice, because it exported character background as shading to MSO formats and so some of the users were not able to remove this shading in Word by using "Highlight" toolbar button.
Summary, as I see the two-character-background concept does not have a real benefit and also causes problems on the user side so it's not worth to have.
Export as highlighting or as shading
The second question was: How to export LO character background to MSO formats to make the users happy? MSO shading is closer to LO character background in behavior but at the same time highlighting is more accessible in Word and on Writer's user interface character background is called as highlighting. So both attribute can be a good candidate for export.
That's why it seemed the best to have an option to choose between shading and highlighting. I added this option at Tools -> Options -> Load/Save -> Microsoft Office, with which user can specify the behavior of the export. The default became highlighting mainly because in LO character background is called highlighting and so users can expect they will get highlighting in their MSO document and not shading.
|New Microsoft Office compatibility option|
Import of Microsoft Word documents
So far I wrote only about the export of LO character background. The next question is how shading and highlighting are imported from MSO documents and how they saved back. I solved this on the way that both attributes are preserved by import so a Word document will have the same appearance in Writer. If this document is saved without modification, then shading and highlighting will be saved back unchanged.
The difference compared to Word becomes visible by editing. It doesn't matter whether a character background was shading or highlighting in the original document it can be edited by Highlighting toolbar button in Writer. From that point - after a specific text range's background is edited inside LibreOffice - MSO shading and highlighting markers will be removed and will be replaced with LO specific character background. So MSO attributes are preserved until the corresponding text range is edited by LibreOffice.
In the next LibreOffice release users will be able to customize their office suite on one more way by specifying how to export character background to Microsoft Word file formats. I think this is the best we can do here because of the design differences. Well, let's see what users say.
... to those people who sponsored this work on FreedomSponsors:


text:
This lab will walk you through various tools in AI Platform Notebooks for exploring your data and prototyping ML models.
What you learn
You'll learn how to:
- Create and customize an AI Platform Notebooks instance
- Track your notebooks code with git, directly integrated into AI Platform Notebooks
- Use the What-If Tool within your notebook
The total cost to run this lab on Google Cloud is about $1. Full details on AI Platform Notebooks pricing can be found here.
2. Create an AI Platform Notebooks instance
You'll need a Google Cloud Platform project with billing enabled to run this codelab. To create a project, follow the instructions here.
Step 2: Enable the Compute Engine API
Navigate to Compute Engine and select Enable if it isn't already enabled. You'll need this to create your notebook instance.
Step 3: Create a notebook instance
Navigate to AI Platform Notebooks section of your Cloud Console and click New Instance. Then select the latest TensorFlow 2 Enterprise instance type without GPUs:
Give your instance a name or use the default. Then we'll explore the customization options. Click the Customize button:
AI Platform Notebooks has many different customization options, including: the region your instance is deployed in, the image type, machine size, number of GPUs, and more. We'll use the defaults for region and environment. For machine configuration, we'll use an n1-standard-8 machine:
We won't add any GPUs, and we'll use the defaults for boot disk, networking, and permission. Select Create to create your instance. This will take a few minutes to complete.
Once the instance has been created you'll see a green checkmark next to it in the Notebooks UI. Select Open JupyterLab to open your instance and start prototyping:
When you open the instance, create a new directory called codelab. This is the directory we'll be working from throughout this lab:
Click into your newly created codelab directory by double-clicking on it and then select Python 3 notebook from the launcher:
Rename the notebook to
demo.ipynb, or whatever name you'd like to give it.
Step 4: Import Python packages
Create a new cell in the notebook and import the libraries we'll be using in this codelab:
import pandas as pd import tensorflow as tf from tensorflow.keras import Sequential from tensorflow.keras.layers import Dense import numpy as np import json from sklearn.model_selection import train_test_split from sklearn.utils import shuffle from google.cloud import bigquery from witwidget.notebook.visualization import WitWidget, WitConfigBuilder
3. Connect BigQuery data to your notebook
BigQuery, Google Cloud's big data warehouse, has made many datasets publicly available for your exploration. AI Platform Notebooks support direct integration with BigQuery without requiring authentication.
For this lab, we'll be using the natality dataset. This contains data on nearly every birth in the US over a 40 year time period, including the birth weight of the child, and demographic information on the baby's parents. We'll be using a subset of the features to predict a baby's birth weight.
Step 1: Download BigQuery data to our notebook
We'll be using the Python client library for BigQuery to download the data into a Pandas DataFrame. The original dataset is 21GB and contains 123M rows. To keep things simple we'll only be using 10,000 rows from the dataset.
Construct the query and preview the resulting DataFrame with the following code. Here we're getting 4 features from the original dataset, along with baby weight (the thing our model will predict). The dataset goes back many years but for this model we'll use only data from after 2000:
query=""" SELECT weight_pounds, is_male, mother_age, plurality, gestation_weeks FROM publicdata.samples.natality WHERE year > 2000 LIMIT 10000 """ df = bigquery.Client().query(query).to_dataframe() df.head()
To get a summary of the numeric features in our dataset, run:
This shows the mean, standard deviation, minimum, and other metrics for our numeric columns. Finally, let's get some data on our boolean column indicating the baby's gender. We can do this with Pandas
Looks like the dataset is nearly balanced 50/50 by gender.
Step 2: Prepare the dataset for training
Now that we've downloaded the dataset to our notebook as a Pandas DataFrame, we can do some pre-processing and split it into training and test sets.
First, let's drop rows with null values from the dataset and shuffle the data:
df = df.dropna() df = shuffle(df, random_state=2)
Next, extract the label column into a separate variable and create a DataFrame with only our features. Since
is_male is a boolean, we'll convert it to an integer so that all inputs to our model are numeric:
labels = df['weight_pounds'] data = df.drop(columns=['weight_pounds']) data['is_male'] = data['is_male'].astype(int)
Now if you preview our dataset by running
data.head(), you should see the four features we'll be using for training.
4. Initialize git
AI Platform Notebooks has a direct integration with git, so that you can do version control directly within your notebook environment. This supports committing code right in the notebook UI, or via the Terminal available in JupyterLab. In this section we'll initialize a git repository in our notebook and make our first commit via the UI.
Step 1: Initialize a git repository
From your codelab directory, select Git and then Init from the top menu bar in JupyterLab:
When it asks if you want to make this directory a Git Repo, select Yes. Then select the Git icon on the left sidebar to see the status of your files and commits:
Step 2: Make your first commit
In this UI, you can add files to a commit, see file diffs (we'll get to that later), and commit your changes. Let's start by committing the notebook file we just added.
Check the box next to your
demo.ipynb notebook file to stage it for the commit (you can ignore the
.ipynb_checkpoints/ directory). Enter a commit message in the text box and then click on the check mark to commit your changes:
Enter your name and email when prompted. Then go back to the History tab to see your first commit:
Note that the screenshots might not match your UI exactly, due to updates since this lab was published.
5. Build and train a TensorFlow model
We'll use the BigQuery natality dataset we've downloaded to our notebook to build a model that predicts baby weight. In this lab we'll be focusing on the notebook tooling, rather than the accuracy of the model itself.
Step 1: Split your data into train and test sets
We'll use the Scikit Learn
train_test_split utility to split our data before building our model:
x,y = data,labels x_train,x_test,y_train,y_test = train_test_split(x,y)
Now we're ready to build our TensorFlow model!
Step 2: Build and train the TensorFlow model
We'll be building this model using the tf.keras
Sequential model API, which lets us define our model as a stack of layers. All the code we need to build our model is here:
model = Sequential([ Dense(64, activation='relu', input_shape=(len(x_train.iloc),)), Dense(32, activation='relu'), Dense(1)] )
Then we'll compile our model so we can train it. Here we'll choose the model's optimizer, loss function, and metrics we'd like the model to log during training. Since this is a regression model (predicting a numerical value), we're using mean squared error instead of accuracy as our metric:
model.compile(optimizer=tf.keras.optimizers.RMSprop(), loss=tf.keras.losses.MeanSquaredError(), metrics=['mae','mse'])
You can use Keras's handy
model.summary() function to see the shape and number of trainable parameters of your model at each layer.
Now we're ready to train our model. All we need to do is call the
fit() method, passing it our training data and labels. Here we'll use the optional validation_split parameter, which will hold a portion of our training data to validate the model at each step. Ideally you want to see training and validation loss both decreasing. But remember that in this example we're more focused on model and notebook tooling rather than model quality:
model.fit(x_train, y_train, epochs=10, validation_split=0.1)
Step 3: Generate predictions on test examples
To see how our model is performing, let's generate some test predictions on the first 10 examples from our test dataset.
num_examples = 10 predictions = model.predict(x_test[:num_examples])
And then we'll iterate over our model's predictions, comparing them to the actual value:
for i in range(num_examples): print('Predicted val: ', predictions[i]) print('Actual val: ',y_test.iloc[i]) print()
Step 4: Use git diff and commit your changes
Now that you've made some changes to the notebook, you can try out the git diff feature available in the Notebooks git UI. The
demo.ipynb notebook should now be under the "Changed" section in the UI. Hover over the filename and click on the diff icon:
With that you should be able to see a diff of your changes, like the following:
This time we'll commit our changes via the command line using Terminal. From the Git menu in the JupyterLab top menu bar, select Git Command in Terminal. If you have the git tab of your left sidebar open while you run


text:
Wandering Jew Plant or Tradescantia Zebrina is an extremely beautiful but low-maintenance indoor houseplant. Considered invasive in nature in a lot of areas around the world, this quality of the plant makes it an increasingly popular indoor vining houseplant. Their characteristic heart-shaped leaves with a deep purple hue, stands them out from an army of indoor varieties, making them ideal decor plants.
About Tradescantia Zebrina - Wandering Jew in Hanging Basket
- They have deep purple-hued leaves with a shiny silvery sheen on them.
- The plant requires a bright lighted location to grow best, or else the purple sheen gets bleached out.
- The plant requires moderate watering and can even tolerate some spells of drought. Overwatering might lead to yellowing of leaves and root rot.
- It is another low maintenance plant that can survive well in air-conditioned rooms.
- It is one of the resounding pet-friendly varieties.
- Healthy and bushy Wandering Jew of height of 8-10 inches in Hanging Basket of 9 inches. Mentioned height is including the pot height.
- FREE Delivery
- PlantCare planner prepared by botanist (shared over WhatsApp)
How to care for Wandering Jew Plant?
Light and Temperature tips for Wandering Jew Plant
- The plant requires indirect sunlight.
- The temperature should vary between 18 - 30 degree celsius
- Make sure if you are placing the plant indoors it receives some amount of bright indirect light. The absence of bright light will fade the distinctive leaf markings and the silvery sheen.
- Avoid direct sunlight.
- The plant cannot grow in low light levels.
Water Tips for Healthy Growth of Wandering Jew Plant
- Always examine the moistness of the soil and water accordingly.
- Make sure before watering that the top of the soil has been dry out.
- The soil should not be completely dry.
- Never water the crown of the plant, always water the soil from the side.
Soil Tips for Wandering Jew Plant
- Fertilize the plant once a month with diluted liquid fertilizer.
- During monsoon fertilize once in 2 months.
- You can use any organic fertilizer.


text:
Faces of Egypt: Images and Observations by Deborah Shea Doyle
For ten years, photographer Deborah Shea Doyle traveled throughout Egypt-from bustling Cairo to remote parts of the Sinai region-to explore the landscape and learn about the lives of ordinary Egyptians, especially the Bedouins. She visited large cities and small villages and traversed through the country's inaccessible areas, which presented her with a gold mine of opportunities to capture and record interesting faces of people she encountered along the way. Her splendid collection of photographs of ordinary Egyptian men, women, and children as they work and play in their everyday lives invites readers to discover Egypt and its people as they have not been seen before. The humanity captured through her expert lens is matched by an engaging text and observations that give readers insight into the local customs and habits.


text:
Rainbow Milk is a relatively new experiment to me. I was first introduced to it via a Facebook post of a friend who was complaining about the fact that it didn't work which, of course, made me curious. If you haven't seen this experiment before, essentially blue, red and yellow food color is dropped in a triangular shape in a bowl of milk. Dish detergent is then added to the middle and the food coloring starts to move across the milk, creating rainbows. The reasoning behind it is a bit complicated (I'll talk more about it later), but for young kids its a great way to explore a little about what makes up milk. You could also talk about rainbows, color combination and surface tension - all in one small experiment!
- liquid food coloring
- bowls (the wider the better)
- liquid dish detergent (Dawn works well)
- cotton swabs
- small bowl for holding dish detergent
- a few types of milk (we used skim, 2% and heavy cream)


3 definitions by GrammarNut
Top Definition
An oxymoron. Before one receives a degree, one is an undergraduate (has not graduated). Upon receiving a degree that person becomes a graduate, therefore one can't hold a degree and be an undergraduate. Degrees earned after ones bacelor degree are called graduate degrees, which seems to have led to the mistaken notion that a bachelor degree should be called an "undergraduate degree".
He graduated last year with an undergraduate degree.
by grammarnut December 13, 2010
The belief system that embraces the following tenets:
1. All Republicans are always right about everything.
2. All Democrats are always wrong about everything.
The opposite of thoughtful discourse. See Beckism.
Similar to McCarthyism. Simply substitute "Liberal" for "Communist".
The oversimplification of any opinion is typical of Limbaughism.
by GrammarNut October 18, 2010
The plural of medium. It should never be used as a singular. The sentence "The media is biased" is grammatically similar to "The dogs is barking" or "The children is playing". Radio is a communications medium, a newspaper is a medium, etc. Collectively they are called "The Media".
The media are biased.
DVD and Blu-Ray are my favorite video media.
by GrammarNut October 18, 2010
Free Daily Email


text:
- Data Sheet (英语)
Ningbo Zhenhai Haide Biochem Co., Ltd目前只在以下作出标识的区域展示其产品资料:
Cystine is the amino acid formed by the oxidation of two cysteine molecules that covalently link via a disulfide bond. Cystine is used as a dough softener to make the dough into a more workable, more machinable substance for industrial uses such as in making bread products.
Ningbo Zhenhai Haide Biochem Co., Ltd is a developer and manufacturer of amino acid products used in the Food, Beverage and Nutrition industry. This company works closely with research institutions to create a broad range of products that include L-Arginine, L-Cysteine, L-Glutamic Acid, L-Isoleucine, and more. Most of these products are widely used in beverages and nutritional supplements.
- Amino Acids, Phytochemicals, Nucleotides & Nutrients ~ Amino Acids ~ Non-Essential Amino Acids ~ L-cystine
Ningbo Zhenhai Haide Biochem Co., Ltd


text:
Year 7 'Get Their Bake On'!
Monday saw the new Year 7 students enter the Food Technology room for the first time. After a discussion about hygiene and handwashing, students were able to 'Get Their Bake On' with Mrs Oldman and Miss Cook.
They understood why it was important to wash their hands at the beginning of the lesson and throughout when necessary. They were able to weigh their ingredients using the scales with some independence, putting their Maths skills into good practice – a great first lesson!
Watch out Bake Off, here come the Year 7's!


text:
|Two Eurasian Pies (Pica pica) outside The Prado, Madrid|
When I was researching my last amateur etymology piece (
The word pie in the English language was first used to refer to the bird, starting around the mid-13th century. It's believed that it was around a century later that pie, the delicious pastry which was originally filled with a variety of mixed or minced meats, took its name from the way Magpies are known for collecting random objects to decorate their nests. Our third usage of pie arose about two hundred years later and appears to have been used mainly in the old printing days; after a printing job, the printer's blocks would be all mixed up or pied before being sorted into their proper boxes. And when you go back to the Latin word for Magpie, Pica, you are easily brought back to the world of typesetting with pica as a modern typographic unit of measure, although this seems to be coincidental here.
So our beloved apple and pumpkin pies (fruit was introduced as a pie filling around the beginning of the 17th century), not to mention rhubarb and blueberry, may all have been named after a bird. I even read somewhere, thought it's a little far-fetched for me, that the blackbirds from the classic nursery rhyme Sing a Song of Sixpence, are an allusion to the humble magpie.
Sing a song of sixpence,
A pocket full of rye,
Four and twenty blackbirds
Baked in a pie.
When the pie was opened
The birds began to sing
Wasn't that a dainty dish
To set before the king?


a number of constraints, a particular differential resulted in a completely identical output (i.e. a hash collision). Wang called these messages "weak."
For any weak message \(m\), Wang claimed that the message \(m' \neq m\) resulted in a collision where \(m'\) is defined as:
\[ \Delta m = m' - m = (\Delta m_0, \Delta m_1, \cdots, \Delta m_{15})\] \[ \Delta m_1 = 2^{31}, \Delta m_2 = 2^{31} - 2^{28}, \Delta m_{12} = - 2^{16} \] \[ \Delta m_i = 0, 0 \le i \le 15, i \neq 1, 2, 12 \]
Here, \(m_i\) is defined as the \(i\)th 32-bit little-endian word of the message \(m\).
So, what makes a message \(m\) weak? In her paper, Wang listed 121 "constraints" that she claimed were sufficient to ensure that a message was weak. (Later research has shown that 2 additional constraints are actually required for sufficiency).
Wang's 121 constraints
Each of these constraints is a condition on a single bit of a state variable at some point after one of the 48 updates. For example, the first constraint is \(a_{1, 7} = b_{0, 7}\). This means that after \(a\)'s first update, the 7th bit of \(a\) (1-indexing) should equal the 7th bit of \(b\).
The constraints are (more-or-less) independent of each other, so if you have some way of generating random messages that satisfy \(k\) of the 121 constraints, then on average \(2^{121 - k}\) of the messages you generate should satisfy the rest of the constraints (just by chance) and be weak.
It's relatively easy to satisfy the first few constraints, but as you go on it becomes harder and harder because with each new constraint you have to ensure that you don't mess up all of the prior ones. In our attack we satisfied all but 19 of Wang's constraints and 1 out of the 2 additional constraints listed in the improved attack. This suggests that we need to generate \(2^{20}\) or around 1 million messages to find a collision. This seems to be borne out by experimental results.
But wait: how exactly did Wang produce these 100-odd constraints? Her paper doesn't say much in this regard and other accounts online indicate that they were produced mostly by staring really hard at MD4.
We don't actually need to know how Wang arrived at the right constraints to carry out our attack, but it would be nice to understand this part better. If you have a good explanation, please let me know!
First-round constraints
All constraints that deal with updates to state variables made in the first round are pretty straightforward to enforce. This is because each of the 16 first-round updates involves a different \(m[i]\) which means that we can alter each word of \(m[i]\) independently without wrecking the rest of our constraints.
Enforcing a constraint involves nothing more than adjusting the computed state variable to make the constraint true, and then using algebra to solve for the \(m[i]\) that results in the new state variable. For example, to enforce the constraint \(a_{1, 7} = b_{0, 7}\), we first compute our original \(a_1\):
\[a_1 = ((a_0 + f(b_0, c_0, d_0) + m[0]) \mod 2^{32}) \lll 3 \]
adjust it to meet the constraint:
\[a_1' = a_1 \oplus ((a_1 \oplus b_0) \wedge (1 \ll i)) \]
and then compute a new \(m[0]'\) that results in this \(a_1'\):
\[ m[0]' = (a_1' \ggg 3) - a_0 - f(b_0, c_0, d_0) \mod 2^{32}. \]
Several updates have multiple constraints on different bits that need to be enforced. For these, simply compute the new state variable that satisfies all the constraints, and follow the process above to derive the corresponding \(m[i]\).
There are really only 3 different types of constraints, so its helpful to write some helper functions to do most of the heavy lifting:
# helper methods to adjust the state variables
# to satisfy Wang's constraints
def correct_bit_equal(u, v, i):
 b = u
 u ^= ((u ^ v) & (1 << i))
 # print('EQU {} --> {} ({})'.format(b, u, 'Changed' if b!= u else 'Same'))
 return u
def correct_bit_zero(u, i):
 b = u
 u &= ~(1 << i)
 return u
def correct_bit_one(u, i):
 b = u
 u |= (1 << i)
 return u
# enforce first-round constraints
def do_op(state, j, i, s, x, constraints):
 # perform the MD4 operation
 v = lrot(state[j%4] +
 f(state[(j+1)%4], state[(j+2)%4], state[(j+3)%4]) +
 x[i], s)
 # correct the bits according to the constraints
 for constraint in constraints:
 if constraint[0] == 'equ':
 v = correct_bit_equal(v, state[(j+1)%4], constraint[1])
 elif constraint[0] == 'zer':
 v = correct_bit_zero(v, constraint[1])
 elif constraint[0] == 'one':
 v = correct_bit_one(v, constraint[1])
 # compute the correct message word using algebra
 x[i] = rrot(v, s) - state[j%4] - f(state[(j+1)%4], state[(j+2)%4], state[(j+3)%4])
 x[i] = x[i] % (1 << 32)
 # update the state
 state[j%4] = v
Then, you can just write down your constraints in an array and have your code run through and enforce all of them.
Second-round constraints
With just first-round constraints, any randomly generated message can be adjusted to be weak with probability about \(2^{-26}\). This is still too big to make generating collisions super convenient, so we should enforce some second-round constraints to speed up our script.
The first second-round constraint is \(a_{5, 19} = c_{4,19}\). If we just enforce it as we did above we might encounter a problem: in the process of enforcing it we'll have to recompute a value for \(m[0]\), however this new value might mess up our constraints from the very first operation which also involved \(m[0]\).
It turns out this isn't actually true (at least for the first few second-round constraints). Because the bits involved in the constraints for the 17th update do not overlap at all with the bits involved in the constraints for the 1st update, they also involve entirely separate bits of \(m[0]\), so we're safe.
However, there is another, more subtle problem. When we change \(m[0]\), we're also retroactively changing the value of \(a_1\), which was involved in the calculations for the 2nd, 3rd, 4th, and 5th operations. This will ruin the rest of our constraints.
Wang's solution to this involves "multi-step corrections." The principle is essentially "it's ok if \(a_1\) changes, but don't let the changes propagate any further than that". For each of the four operations that \(a_1\) was involved with, adjust the corresponding \(m[i]\) such that the updated state variable remains the same when the operation is performed with the new value of \(a_1\).
Here's what that looks like in terms of math:
This is the 17th update involving \(a_5\):
\[a_5 = ((a_4 + g(b_4, c_4, d_4) + m[0] + \text{0x5a827999}) \mod 2^{32}) \lll 3 \]
Suppose we've computed our adjusted \(a_5'\) to meet our 17th update constraints. Then we recompute \(m[0]\) as:
\[m[0]' = (a_5' \ggg 3) - a_4 - g(b_4, c_4, d_4) - \text{0x5a827999} \mod 2^{32} \]
This retroactively changes the value of \(a_1\) to:
\[a_1' = ((a_0 + f(b_0, c_0, d_0) + m[0]') \mod 2^{32}) \lll 3 \]
from the first update. Now, the second update looks like:
\[d_1 = ((d_0 + f(a_1, b_0, c_0) + m[1]) \mod


Importance of allocation mechanisms that don't rely on price adjustment: Rebuilding the concept of markets | Discuss Japan－Japan Foreign Policy Forum
Discuss Japan > Back Number > No.62 > Importance of allocation mechanisms that don't rely on price adjustment: Rebuilding the concept of markets
No.62, Economy Jan. 31, 2021
Kojima Fuhito, Professor and Director at the University of Tokyo Market Design Center
Key points
 - Focusing on the visible hand that replaces traditional price mechanisms
 - Expanding the use of market design for kidney transplants
 - Improving institutional design to eliminate the childcare waiting lists issue
Prof. Kojima Fuhito
One of the most prominent ideas in economics is Adam Smith's concept of the "invisible hand." The invisible hand is the magical mechanism for price adjustment that is capable of maximizing the wealth of society if self-interested consumers and companies respond to the prices of goods and services. With advances of research in economics, this idea has been elaborated upon. However, neoliberals have also used this phrase to promote deregulation.
And yet, no one has ever actually seen the invisible hand. In fact, examples of the price mechanism not working can be found everywhere in society.
Although it may be a slightly extreme example, let us look at the transplant kidney market. This marketplace has a demand side (patients) and a supply side (donors) involving kidneys as the goods being traded.
However, the invisible hand doesn't function to adjust prices in the transplant kidney market. The reason is simple: it is illegal to sell organs. With the exception of illegal black-market transactions or the like, the invisible hand cannot adjust the price of goods that cannot be priced. As the price of a kidney is zero, the number of donors is far smaller than the number of patients, and there is no balance between supply and demand. Consequently, it has become common for nephritic patients to wait years for a donated kidney.
One additional example is still fresh in our minds: the ban on the resale of face masks at high prices during the early phase of the COVID-19 pandemic. There is an ethical imperative not to rely upon price adjustment for the distribution of artificial respirators, vaccines and other medical resources. Outside the medical sector, approved childcare centers can be considered a major battlefield for the childcare waiting lists issue. They also form a marketplace in which the invisible hand does not succeed in adjusting prices because childcare fees are determined from a political perspective.
Some people who trust price mechanisms believe that regulations in these markets should be removed. Although this author does not necessarily dispute every aspect of this school of thought, it seems unlikely that sudden changes in moral values and laws in the near future would result in a world in which organs become widely traded.
Given this reality, modern economists have considered the creation of a marketplace using a "visible hand" mechanism. This area of study is called market design. Marketplaces can be found any place where goods and services are exchanged, including transplant organs and childcare centers, and the exchange of money and the establishment of prices are not the essence of a market.
To explain, let us look again at the transplant kidney example. Humans have two kidneys, and it is believed that having only one kidney does not affect human health. Accordingly, it is possible to transplant kidneys from living donors, and, in principle, the potential supply of kidneys is nearly inexhaustible. In Japan where people have a strong aversion to transplants from people who have suffered brain death, this fact is particularly important.
However, as the price of a kidney is zero, the number of donors is far smaller than the number of patients, and potential donors are normally limited to patients' spouses, family members, etc.
Moreover, the existence of a living donor candidate does not ensure that a transplant can occur. This is because the blood type and other elements must match between the patient and donor. For example, it may be possible to transplant a kidney from a donor with a blood type of O to a patient with a blood type of A, but it not possible to transplant a kidney from a donor with a blood type of A to a patient with a blood type of O, unless the patient is immunosuppressed or there is some other special treatment. Because of this, the demand side (patients) and the supply side (donors) of the goods (kidneys) need to be brought together by a method other than a price mechanism.
The design of systems for matching kidney donors with patients is an example of a successful social implementation for market design researchers. The fundamental idea is that when the blood groups of a donor and patient are incompatible, incompatible pairs can be matched. For example, one pair including a patient with a blood type of O and a donor with a blood type of A can be matched with another pair consisting of a patient with a blood type of A and a donor with a blood type of O. If the donor and patient are incompatible because of a reason other than blood type (for example, Human Leukocyte Antigen [HLA] antibodies), it may be possible to swap the donors between the two pairs to make both kidneys compatible with the patients in need (see figure). This is similar to goods (kidneys) being exchanged on a marketplace.
Kidney exchanges such as this are not considered organ trade according to the laws of many countries. It is believed that this system does not pose an ethical problem because there is no exchange of money. An alternative barter marketplace has been established, so to speak, among kidney donors without setting prices. However, it is not possible for the invisible hand to work without the establishment of prices. Following this principle, researchers have designed algorithms to act as a visible hand for kidney exchange.
First, a database of donor/patient pairs is created. Next, algorithms are used to identify methods for maximizing the number of donor exchanges to enable as many patients as possible to receive a kidney. Then, the transplants occur following the identified solution. This framework has been used in many countries around the world since the beginning of the 21st century, with doctors, economists, computer scientists and others participating. Because of The Japan Society for Transplantation's negative view of this system, it has not been implemented in Japan. However, this author believes that the system deserves to be reviewed in Japan, in light of its implementation progressing steadily in societies around the world.
In some situations, swapping the donors of two incompatible
pairs will make it possible for both kidneys to be compatible.
The visible hand of Market Design can also be applied to the childcare waiting list issue. Many childcare centers in Japan are approved childcare centers and the fees they are able to charge are set low by local governments. Accordingly, there is supply/demand imbalance, which would not occur in a normal marketplace, causing some children to wait for admission.
The invisible hand is not free to work when childcare fees are determined from a political perspective, and local governments determine children's admission to childcare centers using an algorithm. Specifically, applicants submit a ranked list of their preferred childcare centers to the relevant local authority. The local authority considers various factors, such as the applicant being a single parent, or the availability of the child's grandparents to aid in childcare, and prioritizes and determines which children can be admitted to which childcare centers, taking the applicants preferences into account. This is an example of how the visible hand of local governments works.
However, there are pros and cons to this human-designed visible hand. There is room for improvement in the current system. Firstly, almost every local government performs the process for determining admission to childcare centers manually. As the process is basically a pre-established algorithm, it can be performed by computers.
Second, the work of determining admissions is based on preset enrollment limits for each age group at each childcare center. Even popular childcare centers in areas with fierce competition may have many applicants in the 0-2 age group, but less applicants in the 3-5 age group. This creates the possibility that the staff and space assigned to the 3-5 age group may not be utilized effectively.
A collaborative study conducted by Kamada Yuichiro, an associate professor at the University of California, Berkeley and this author proposes a measure to eliminate this inefficiency. Rather than rigidly determine the limits for each age group in advance, these limits can be flexibly defined based on the submitted preferences. According to data from Yamagata City in Yamagata Prefecture and Bunkyo Ward in Tokyo, our proposal contributed to a significant decrease in the number of children waiting for admission.
Modern economics, and market design in particular, have begun to improve society using a visible hand beyond the bounds of the traditional economics. The University of Tokyo recently established a Market Design Center. It plans to make policy recommendations regarding the issues of securing medical care in remote areas, distributing medical resources in response to the COVID-19 pandemic, and auction system design, among others. Market design will play an important role in the modern world, which places greater significance on marketplaces that depart from the forms of traditional marketplaces relying on the invisible hand.
Translated by The Japan Journal, Ltd. The article first appeared in the "Keizai kyoshitsu" column of the Nikkei newspaper on October 29, 2020 under the title, "Kakaku chosei ni tayoranu hasso ni omomi: Shijo-zo no saikochiku (Rebuilding the image of markets)." The Nikkei, October 29, 2020. (Courtesy of the author).
 - Kojima Fuhito
 - University of Tokyo
 - Market Design Center
 - Adam Smith
 - invisible hand
 - price adjustment
 - kidney


Groundhog Day Loop
Everything About Fiction You Never Wanted to Know.
Jump to navigation Jump to search
"Well, what if there is no tomorrow? There wasn't one today!"
Phil Connors, Groundhog Day
A plot in which the character is caught in a time loop, doomed to repeat a period of time (often exactly one day) over and over, until something is corrected. Usually, only one character or group of characters realizes what's going on—everyone and everything else undergoes a complete Snap Back, and if not interfered with will do the exact same things every time, right down to dialogue.
Once the character realizes this, two things happen, usually in this order:
 1. The character starts experimenting, then playing around with the people around them, confessing or acting on their feelings for another character, telling off their boss, getting themselves killed in interesting ways, and other things, in a form of Save Scumming.
 2. The character finally gets down to the business of what's causing the loop, and finds out how to stop it, often using the information learned in all the previous iterations to make sure this one last loop goes perfectly.
A Groundhog Day Loop episode can often be identified by the presence of several odd little events that are given full camera focus, yet don't have any apparent significance or relation to anything else. These are, of course, the events that will later be replayed in exactly the same order to emphasize that the day is, in fact, repeating in every particular. (Almost invariably, the looping character will at some point demonstrate his or her "prescience" by offhandedly predicting these events one after another.)
Since this plot requires constantly revisiting handful of sets for the entire length of the episode(s), re-using some of the same footage over and over and generally no outside characters will act on the plot, this can be considered a form of Bottle Episode.
Named for the film Groundhog Day. Compare New Game+ and Endgame Plus for Video Games.
See also:
See also Temporal Paradox, You Can't Fight Fate, Timey-Wimey Ball. Note that explicit Time Travel is not always involved, and in fact creates an entropy paradox.
Déjà vu yet?
Examples of Groundhog Day Loop include:
Basic Implementation
Anime & Manga
 - Higurashi no Naku Koro ni is based on a rather dark version of this. Piecing together hints from the various repetitions to figure out what is really going on is an important aspect of the series. The nature of the loop—and who is involved—is not immediately apparent, and the underlying causes aren't fully stated until halfway through the second season (and the 8th installment in the games). Technically, though, it isn't that time is looping; memories are just being copied/overwritten between alternate worlds.
 - Something similar is happening in the sequel, Umineko no Naku Koro ni, only this time, the cause of the loop is identified very early on: A Witch Did It. Or not. Or something.
 - Subverted in Umineko's case. In the final Episode, it's revealed that the Groundhog Day Loop is a case of Recursive Canon, and that each iteration is just a different book with different interpretations on the same setting.
 - In Cardcaptor Sakura, the Time card keeps the same day repeating indefinitely, until it is defeated by Syaoran.
 - In D.Gray-man, a town repeats October 28 over and over, until the main characters (not previously caught in the loop, which was a localized phenomenon caused by Innocence) find a way to fix it.
 - Note that only the people of that town are in the loop—time is passing as usual for the outside world, and people on the outside are wondering why the heck they keep getting the same phone call every day ordering the same things for the same business. Which is what initially drew the attention of the Black Order.
 - In the manga Tsubasa, the main characters find themselves trapped in the exact same day in the newest arc.
 - In JoJo's Bizarre Adventure part 4, the villain Yoshikage Kira gains an ability similar to this called "Another One Bites The Dust".
 - The Nue arc (episodes 8 & 9) of Mononoke has an interesting example.
 - Kimagure Orange Road had Kyosuke repeat Christmas three times, trying to get to the party with the "right" girl (without pissing off Madoka or crushing Hikaru's happiness). No-one else was aware of the repeats (though series Butt Monkey Yusaku gets wiped out in increasingly violent accidents each time). This came out in 1987, considerably predating most of the other examples.
 - Urusei Yatsura: Beautiful Dreamer (released in 1984) follows one for the early part of the film.
 - In "Endless Eight", a short story from The Rampage of Haruhi Suzumiya, the SOS Brigade ends up repeating the same two weeks of August about 15,500 times, causing all but Haruhi to suffer bouts of déjà vu. Only Yuki retains conscious memory of the preceding cycles -- 594 years of mind-numbing sameness (since no-one learns anything from the previous loops). This was only broken when Kyon asked Haruhi to help out with his long-postponed summer homework. The anime adaptation stretches this out across eight episodes. Now the viewer, too, can feel Yuki's pain.
 - In an early chapter of Nightmare Inspector, a woman seems to be suffering from a somewhat self-inflicted version of this: in her dreams, she writes "tomorrow will be exactly the same" on a piece of paper, and it is. She tries to stop the cycle and write something different in her dream, but the "something different" is "tomorrow I will stab someone to death". Freaking out, she goes to Hiruko... and it turns out he's been the one writing "every day is exactly the same" for her every time, and it's all part of the loop. The customer, as far as we see, never gets out.
 - Caused by Akemi Homura in Puella Magi Madoka Magica after she resets the past month countless times, of which we see five, in her attempt to prevent Madoka from becoming a magical girl. However by resetting time she actually layered multiple realities where Madoka was the focal point, causing Madoka's potential as a magical girl to increase exponentially and making her the prime candidate for becoming a magical girl because of all the energy she would release.
 - At the beginning of the eleventh Pokémon movie, Dialga, the temporal Pokémon, traps Giratina in this so it can escape the Reverse World it was dragged into by Giratina. The time loop keeps Giratina from leaving the Reverse World because every time it tries using its own power, it gets warped back a short distance from the portal it created. The time loop is broken when Shaymin creates a portal Giratina can escape through.
 - The Tatami Galaxy is all about this kind of plot, but the episodes vary on how it plays out. In the first half of the series, each episode is the protagonist choosing to join a club, things going wrong, and it resetting at the end, and in each episode, it's a different club. Later, the protagonist chooses to reset the span of an evening, as he tries to choose the right romantic interest. Then, it gets weirder. Despite the various resets, there is ultimately continuity between the episodes, so it works as a Jigsaw Puzzle Plot.
 - Shin Mazinger Zero has this sort of plot, with Minerva X resetting the universe each time Mazinger turns into a demon.
 - Star Driver uses this to keep the maidens from leaving the island. Poor Mizuno finds out the hard way after 4 fruitless attempts to leave the island.
Comic Books
 - In the story "Death and Venice" in The Sandman: Endless Nights, a nobleman has intentionally created a loop which includes an entire island and all its inhabitants (including the nobleman himself), and has lasted for hundreds of years. This is ultimately broken by Death.
 - In the Donald Duck story "Again and Again..." (Donald Duck 336, 2006), Donald is forced to relive the same day over and over until he discovers what he did "wrong" on that day. The story spoofs elements of both Groundhog Day and The Hudsucker Proxy—with mouse-eared "Daddy Time" (i. e. Moses) being wise to the time loop, and a Phil-like character reliving a similar time loop in a movie on Donald's TV.
 - Time traveling hero Hourman was once trapped in one of these by one of his enemies. The loop was known as the Timepoint and was specifically designed as the ultimate prison. It forced Hourman and his friends to relive the same five minutes on the day John F. Kennedy was shot. Though they were aware of the time loop, no matter what they did, at the end of five minutes they would always end up standing on the same street corner.
Fan Works
 - The Best Night Ever revolves around Prince Blueblood being trapped on the day of the disastrous Grand Galloping Gala until he ensures that the bearers of the Elements of Harmony actually enjoy themselves at the event.
Films -- Live Action
 - The Italian sci-fi movie Nirvana revolves around Solo, the character of a video game which goes through the same events again and again each time he dies


text:
For eg. In the below data, we may not remember the full name of sales person, but we know that her name starts with jac. Now how do you get the sales amount for that person?
SolutionSimple. Use wild cards. Like this:
=VLOOKUP("jac*",$B$5:$E$17,3,FALSE)to fetch the value from 3rd column for the person whose name starts with jac


Hawaiian values
THEME: A Sense of Place: Sustainable Living Is Rooted in a Deep Knowledge of Place and Self
STRAND: Values
Key Concepts
Apply the principles and practices of aloha 'āina, mālama 'āina, kuleana, lōkahi, etc. in the garden on a regular basis.
Appraise the impact of practicing these values regularly on self, garden, and community.
Use the language and values of aloha 'āina, malama 'āina, kuleana, lōkahi, etc. to inform daily garden practices and activities.
Research in Hawaiian Planters, and 'Ōlelo No'Eau
Describe how the kapu system affected resource distribution and populations (plant, animal, and human) over time.
Cite evidence about the kapu system as a source of resource management.


Brooke Laura
Brooke Laura's picture
Basic Info
Wild Gift Class Year:
Better World Expertise:
Community Engagement/Activism
Current Occupation:
Director of Saprinu
Wild Gift encourages me to dream big. They provide a partnership that supports me in transforming my vision into a reality. I am grateful to be a part of such an incredible team, and excited for the journey ahead.
Saprinu is a grassroots organization of sociallyand environmentally-conscious individuals from Nepal and around the world. We are inspired by learning and self-discovery and believe that both are essential to creating a better world. By developing intimate partnerships with individuals and communities, we work together to cultivate nurturing environments that allow people to fully embrace exploration, discovery and creativity. Saprinu believes that every person possesses unique talents; our goal is to provide a platform that enables everyone to discover them. The world becomes a better place when everyone is able to discover their individual talents and pursue them fully.
Saprinu is transforming communities in rural Nepal: creating a place where children have access to a meaningful education; a learning experience where every child has the opportunity to learn and discover new and exciting things; and provide a platform where students are encouraged to explore their talents and passions. Our schools are a place where teachers are excited to come and teach. We invest in and appreciate them and in turn they invest in making their schools the best possible place for students to grow. By placing learning at the heart of the community, we come together to create safe and healthy environments where we flourish together.
We bring life and learning into classrooms, create jobs where there were none, embrace knowledge from older generations and share with the young, explore our hopes and dreams and work together to turn them into a reality. Saprinu is committed to working tirelessly to build lasting partnerships, which will create a better place in which all of us can live.


text:
Are you worried about dry rot affecting your home? You're not alone. Dry rot is one of the most common causes of concern for homeowners in the UK, but in order to deal with it effectively it's important to take the right course of action and seek out professional help.
If you suspect your property is experiencing a dry rot issue, you should start by finding the source of the problem. However, this may not be as simple as you'd think, as the symptoms are not always obvious – which is why having an expert on hand is always advisable.
What is dry rot
Dry rot – or Serpula Lacrymans to give its proper name – is a type of fungus that feeds off the moisture found in wood and timber. As a result, the timber can become 'infected' and eventually start to crumble, destroying materials that were previously considered safe. If it's left unchecked, it could quickly spread and affect the structural integrity of your property, causing long-term problems.
While dry rot spores are always present in the atmosphere, they only really affect damp timber and structural materials as a result of the environmental conditions. It's advised that you fix ventilation issues in the home such as rising damp and condensation, as they can result in excessive levels of moisture spreading throughout the property.
Once the fungus has formed a large enough structure, appearing as a cotton-wool like white substance, it can grow far and wide to find new timber food sources. It can even spread through bricks, mortar, plaster and paintwork, making its way around an entire home if not caught quickly enough.
Dry rot signs
Dealing with the cause of the damp in your property is considered the best way of preventing dry rot from returning. Ideally, catching it before it spreads is the best method, but it can be difficult to spot for the untrained eye. Some potential signs may include:
- A distinct mushroom smell.
- Cracking, splitting, shrinking or darkening of timbers around your house.
- The presence of a musty, damp, mushroom smell close to where these signs have appeared.
- A cotton-wool like, white fluffy growth will then appear at the site, which may be followed by a mushroom-coloured skin over the surface of the wood.
- Eventually, the fungus will release rust-coloured dust spores, which will become visible once enough are produced.
If you've noticed these signs within your home, it's time to call in an expert who can identify the problem. While many of these signs are not unique to dry rot, it's better to be safe than sorry.
What causes dry rot?
As mentioned earlier, dry rot spores are always present. However, this fungus can only thrive under certain conditions according to experts. Dampness and high levels of condensation are thought to be the main consequences, with the damp enabling the fungus to spread.
Common problems that allow dry rot to grow in your home include:
- Condensation. If your home isn't ventilated properly, condensation can begin to build up, creating the damp conditions that enable the rot to grow.
- Penetrating damp. This is when water can breach the exterior of your home, usually as rainwater leaking through cracks in brickwork or a damaged roof. Once it reaches the internal timbers, it can soak them to the point that dry rot can thrive.
- Rising damp. This is where moisture can breach your home through its foundations, often because the damp proof membrane is insufficient or has deteriorated.
- Plumbing leaks. These are very common, and could be anything from a leaky washing machine to a damaged pipe somewhere you can't see.
Why does it impact property values?
Dry rot can affect property values due to its ability to affect the structural integrity of a building. The property could therefore be at risk, resulting in a potentially costly and time-consuming amends process. In this case, it may give potential buyers enough reason to reconsider their options.
If you're selling your home
Homeowners are required to inform potential buyers of the situation, as the problem will eventually be uncovered during the surveying period. Would-be buyers may even be refused their mortgage owing to the presence of dry rot – much like is often the case for Japanese knotweed. The best course of action is to get your dry rot treated before you move forward with selling.
For more advice about selling your home, take a look at our top ten tips.
If you're buying a home
Before entering into the house buying process, you should have a survey conducted of any property in which your offer is accepted. If dry rot is discovered in the building, deciding whether you'd still like to go ahead with the purchase may be your call, but you might find your mortgage lender withdraws their offer.
How do you treat dry rot?
If you suspect dry rot in your home, you should contact a specialist for the best results. Professionals such as Rentokil will send a surveyor to undertake a five-step treatment service, which includes:
- Stopping the source of the moisture
- Removing the damaged area
- Treating the dry rot
- Replacing any timber
Before any work can begin, a qualified surveyor will conduct a thorough inspection to determine the extent of the issue. This will typically involve checking for associated problems such as signs of damp, as well as highlighting other areas of the property that may be at risk.
Once the inspection has been completed, they will be able to provide you with a full report and advise you on what steps to take next.
On the hunt for a new home? Get an estimate of how much Post Office could lend you, when you take a look at our mortgage calculator.


If you eat icicles, then you're eating poop, insects, and whatever else is on your roof! YUCK!
Sure, we grew up chomping on icicles and eating snow, but it's not the best idea today. There are many more pollutants, pesticides, chemical contaminants, poop, and possibly old asbestosis shingles than in the old days.
Katie Nickolaou, a Meteorologist in Sioux City, IA, made a TikTok video that's gone viral. Thie Public Service Announcement reminds you that there's a lot of bird poop on your roof, and it's frozen in the ice. If you eat that icicle, then you're eating poop!
We never thought bird poop and icicle would be used in the same sentence. LOL. Don't be surprised if you see this on The Tonight Show Starring Jimmy Fallon or Conan O'Brien. Yes, it's that good.
Icicles are formed in freezing temperatures when the sunlight melts snow or ice on anything with a downslope. The water droplets freeze in the cold air, forming a cone-like shape of ice, and grow very long and heavy.
While snowy scenes with icicles on a house may look cozy, the frozen creations are dangerous. Networx says large falling icicles, knocked down by wind or loosened by sunshine, can damage anything in their path with their heavyweight and pointed tips.
They're capable of pulling gutters off your house, shattering windshields of vehicles below, and causing laceration or concussion – or worse! -- to any human who happens to be standing near the roof eaves. [Networx]
Networx says DIY ice removal from your roof is tricky. Follow these tips to make the process easier and safer:
 - Tap small icicles off your roof before they have a chance to get bigger.
 - Easy does it when removing large icicles.
 - Never stand directly beneath the ice and-use a wooden stick to extend your reach.
 - Don't prop a ladder on an icy roof or gutter.
 - Remove snow from your roof with a long-handled plastic shovel or snow rake.
 - Avoid using ice melt products on your roof as it can destroy your shingles.
 - Play it safe and hire a roofing professional to deal with major icicles. The pros have the know-how, as well as specialized steam machines, to get ice and snow off your roof safely.
So will you still eat Icicles? We're quitting cold turkey!
Enter your number to get our free mobile app


Let me introduce myself. I'm Daniel (aka QuantumBear), Cofounder of TunnelBear. My blog posts will be technical and focus on coding and development of TunnelBear apps and services.
At TunnelBear we are big fans of the Play Framework and Scala. So in my first post, I'm kicking things off with a little explanation of how to get started with user authentication in the Play framework. Along the way we will see a few common concepts used in Scala code such as functions as first class objects, case classes, pattern matching, options, implicits and traits.
The finished code for this project is available here.
First a look at what a standard API endpoint, or Action, looks like in the Play Framework v2.x:
def hello = Action { Ok("hello") }
To construct an Action we pass it some code that returns a Result (in this case, the OK result). Note that the argument to create an Action is actually a function itself. In this case a function that takes no arguments (sometimes called a code block) and that returns a Result.
Being able to pass functions as parameters like this is a key difference between Java and Scala and we will be making good use of it going forward.
For authenticated APIs, we found ourselves repeatedly checking usernames and passwords in the same way throughout the codebase. For example, if a user is defined like this:
'case class User(username:String, password:String) {
def checkPassword(password: String): Boolean = this.password == password }
//User lookup
object User {
def find(username: String):Option[User] = users.filter(_.username == username).headOption
Then the authenticated actions might look like this:
def helloUser(username:String, password:String) = Action { val user:Option[User] = User.find(username).filter(_.checkPassword(password)) user match { case Some(user) => Ok(s"hello ${user.username}") case None => Forbidden("I don't know you") } }
Wouldn't it be nice if we could write code that acted directly on a User object without explicitly handling authentication every time? Perhaps actions like this:
def helloUser(username:String, password:String) = AuthenticateMe(username:String, password:String) { user:User => Ok(s"hello ${user.username}") }
How do we go about constructing AuthenticateMe?
Well it's a method that needs to return an Action, and its argument is a username, password and a User => Result function. We just need to handle the two cases where authentication succeeds and fails, returning a Forbidden result in the failure case and executing argument function otherwise:
def AuthenticateMe(username:String, password:String)(f: User => Result) = Action { val user:Option[User] = User.find(username).filter(_.checkPassword(password)) user match { case Some(user) => f(user) case None => Forbidden("I don't know you") } }
All that has been done here is factor out the common authentication and error handling code and make the dynamic part (i.e. the code that gives us a Result from a User) an argument.
AuthenticateMe is making use of Options and Pattern Matching, two useful Scala constructs described nicely in The Neophyte's Guide to Scala
Taking things further:
Passing the username and password around is a little clunky, and what about handling other forms of authentication like cookies?
Let's aim for something like this:
def helloUser = AuthenticateMe { user => Ok(s"hello ${user.username}") }
But how are the username, password or cookie to be accessed now?
First, let's dig a bit deeper into actions:
An Action actually takes a function of type Request => Result as an argument, where the Request holds information about the incoming http request such as it's parameters, headers, cookies etc. So you can think of an Action as telling the Play Framework how to convert an incoming http request to a response, which it can then render.
In the above examples we didn't need to use the Request object explicitly and so used an Action constructor which ignores the Request. Actions can also be written with the request like this:
def hello = Action { request => Ok("hello") }
In order to get at the authentication details this time, the request parameter is needed.
First a few helpers that extract useful information from requests:
'object AuthUtils {
def parseUserFromCookie(implicit request: RequestHeader) = request.session.get("username").flatMap(username => User.find(username))
def parseUserFromQueryString(implicit request:RequestHeader) = {
val query = request.queryString.map { case (k, v) => k -> v.mkString }
val username = query get ("username")
val password = query get ("password")
(username, password) match {
case (Some(u), Some(p)) => User.find(u).filter(user => user.checkPassword(p))
case _ => None
def parseUserFromRequest(implicit request:RequestHeader):Option[User] = {
parseUserFromQueryString orElse parseUserFromCookie
parseUserFromQueryString looks for "username" and "password" http parameters in the request, and if found attempts to return the authorised user. If no user is found there, the fallback is to look for a signed cookie containing the username.
Note the use of the implicit keyword for the request parameter.
If a parameter to a function is marked as implicit, the parameter does not need to be explicitly passed in. For this to work, you have to mark a suitable value as implicit somewhere in the scope of the function.
This can clean up code where the same parameter is passed to multiple functions.
Here is the improved version of our authentication wrapper:
def AuthenticateMe(f: User => Result) = Action { implicit request => val user = AuthUtils.parseUserFromRequest user match { case Some(user) => f(user) case None => Forbidden("I don't know you") } }
There are times when you need finer control over what kind of users can access an api.
Let's extend our users so they now have a "premium" status and also a balance:
case class User(username:String, password:String, isPremium:Boolean, balance:Int) { def checkPassword(password: String): Boolean = this.password == password }
We might like to restrict an API to only those users who meet specific conditions. If we can define some traits that can be mixed in with a Controller, we can tell at a glance which users can access which API.
For example, for an API which only "premium users with a balance of at least 8" can access, constructing traits like PremiumUsersOnly and BalanceCheck might be handy. The aim is this:
'object PaidApplication extends Controller with Authentication with PremiumUsersOnly with BalanceCheck {
//set required balance here
override def getRequiredBalance = 8
//only premium user's with balance of at least 8 should be allowed through
def helloUser = AuthenticateMe {
Condition is a new type we define which is simply shorthand for "a function that takes a User and returns either a pass, or a fail". The Either type will suit us well as a return type, being either a Right on success or a Left on failure. Either is like an extended Option that can not only signal a failure, but also hold information about the failure:
'object Conditions {
type Condition = (User => Either[String, Unit])
val isPremiumUser:Condition = {
user => if(user.isPremium)
Left("User must be premium")
def balanceGreaterThan(required:Int):Condition = {
user => if(user.balance > required)
Left(s"User balance must be > $required")
AuthenticateMe now has to check not only the username and password as before, but also additional conditions on the user. Here are the additions neededin the Authentication trait:
'trait Authentication {
self:Controller =>
//additional conditions
var accessConditions: List[Conditions.Condition] = List.empty
val user = AuthUtils.parseUserFromRequest
Forbidden("Invalid username or password")
else {
//username and password check have been passed.
//collectFirst will return the first condition in the Left state (i.e. error state)
accessConditions.map(condition => condition(user.get)).collectFirst[String]{case Left(error) => error}
match {
case Some(error) => Forbidden(s"Conditions not met: $error")
case _ => f(user.get)
The Authentication trait holds a list of conditions which are tested after authentication is complete. If any of these Conditions fail, then we get the error message of the first one and display it to the user with a 403 Forbidden status code.
Finally we can define our traits which will add to the accessCondtions list as they are mixed in to the controller:
'trait PremiumUsersOnly {
self:Authentication =>
accessConditions = accessConditions :+ Conditions.isPremiumUser
trait BalanceCheck {
self:Authentication =>
def getRequiredBalance:Int
accessConditions = accessConditions :+ Conditions.balanceGreaterThan(getRequiredBalance)
} '
Add a couple of users:
val users = List(User("_EMAIL_", "password", true, 10), User("_EMAIL_", "password", true, 3))
If Alice tries to access the helloUser api she will be denied:
curl -v _URL_\&password\=password < HTTP/1.1 403 Forbidden Conditions not met: User balance must be > 8
Whereas Bob will be allowed through:
curl -v _URL_\&password\=password < HTTP/1.1 200 OK hello _EMAIL_
Complete code samples are available here.


go to content go to search box go to global site navigation
Karakoram Highway
Introducing Karakoram Highway
A thin ribbon of asphalt strikes north from near Islamabad and leaves the modern capital and the dusty Punjab plains far behind. As it weaves through sparse green hills, the first wrinkles of mountain-building in this geological 'collision zone', this unassuming road gives little hint as to what lies ahead. This is the high road to China, the Karakoram Highway (KKH), which was blasted and bulldozed through an intractable landscape of raging rivers, deep ravines and precipitous peaks in the 1960s and '70s. It is a 1200km marvel of engineering and a symbolic collaboration between Pakistan and China. It is also a magnet for adventure-seekers.
The KKH unites the plains of Pakistan with erstwhile independent mountain kingdoms and connects South Asia with West and Central Asia. It follows a branch of that ancient network of trade routes known as the Silk Road, and one of its tricks is time travel. The KKH takes you to where Buddhism spread to China and Tibet, to the colourful bazaar of Kashgar that remains more than just a memory of a Silk Road oasis, and to the intrigues of the 19th-century Great Game. It has also brought the 21st century to the fabled valley of Hunza, and fume-belching trucks and minibuses have now mostly displaced donkeys and camels as the caravans of trade.
As it traverses northern Pakistan and enters western China, via the 4730m Khunjerab Pass, the KKH navigates the highest concentration of soaring peaks and long glaciers in the world. Intrepid travellers are delivered to some of the most awe-inspiring and challenging trekking they are ever likely to encounter. And for some, this is where the real adventure starts.


text:
A state space model is frequently used for a description of real systems. Usually, some state variables are hidden and cannot be measured directly and some model parameters are unknown. Then, the need for learning, i.e., the state filtering and parameter estimation, arises. Probabilistic models provide a suitable description of the always uncertain reality and call for such approaches as Bayesian learning. Uncertainties are standardly modelled by the Gaussian distribution. This leads to Kalman-filter-based algorithms.
However, the modelled quantities are often physically constrained. Then, methods based on the Gaussian distribution with unbounded support do not work properly and they have to be adapted. The alternative sophisticated algorithms based on "unknown-but-bounded errors" principle address the same problem but they are poorly harmonised
with the subsequent dynamic decision making (like control, prediction of hidden quantities or future measurements) to which any learning serves.
This research operates in probabilistic framework while coping with bounded uncer-tainties and physically constrained quantities. Here, learning algorithms for models with constraints are constructed that (i) are based on the Bayesian principle, (ii) are recursive and (iii) have relatively simple setting and maintenance, (iv) are at disposal to subsequent
dynamic decision making.


text:
It was direct discrimination because of disability to summary dismiss a secretary because of her ADHD disorder. This is the first judgment by the Supreme Court of Denmark on discrimination because of disability
Denmark - City Court of Holstebro: Requirement to taste food with pork constituted discrimination (PDF 56 kB)
Denmark - Board of Equal Treatment: Termination of internship on account of political opinion constituted discrimination (PDF 49 kB)
Denmark - Board of Equal Treatment: The independent obligation of an employer to provide reasonable accommodation (PDF 55 kB)
1. Definition of disability.2. Meaning of reasonable accommodation for persons with disabilities. 3. Whether a shorter notice period as a result of sickness related absence constitutes discrimination on account of disability.