Shared Website Hosting
Compare Hosting Features
Best Web Apps
Gallery Hosting
OpenRealty Hosting
VTiger Hosting
XyWeb Media Group
XyWeb Blog
XyWeb Development
TLD Info
Whois Privacy Protection
SSLs
OpenVZ Linux VPS Hosting Packages
SSDs vs. HDDs
Semi Dedicated 1
Compare Semi-Dedicated Servers Features
Find what VPN is, ways to get free VPN access together with your hosting account and the way to use it on your devices.
VPN, which stands for Virtual Private Network, is a way of connecting to a remote hosting server and accessing online content through it rather than doing it directly. In essence, the hosting machine acts as a proxy, so as long as you have a VPN client on your pc or phone and you type in the required login information to be able to connect to the hosting server, you can browse websites or download files that you may not be able to access at all directly. Some sites and online services, for instance, are available just in certain countries, therefore in case you aren't able to access them, you may use a Virtual private network, or a server, that's located inside that country. This way it will look like you're accessing the service/website from the country and you can go around the restrictions. There are companies that offer VPNs as a separate service, but we've chosen to offer the service with our hosting plans, thus if you host your internet sites on our machines, you can benefit from the Virtual private network access which we provide absolutely free.
VPN Traffic in Shared Website Hosting
You can find the VPN settings which you need to use in your client within the Hepsia Cp, which comes with all of our shared website hosting plans. Inside the very same section you'll be able to also see all hosting servers we have around the world, so you could select the one which you need and any time you access any online content, it will look as if you're in the U.S., Canada, Europe, etc. We keep adding hosting machines from different locations on a regular basis to give you as much freedom to surf online content as possible. For your convenience, we've also included a VPN filter, which blocks ads and other images. This shall allow you to load websites much faster without spending traffic on content that you don't need. With our VPN service you'll be able to easily access social networks, streaming services, blogs and any other content material which might not be accessible within your country or is blocked by your Internet provider for any reason.
VPN Traffic in Semi-dedicated Hosting
You can use the VPN access service with all our semi-dedicated hosting accounts and the login information which you have to enter in the client on your pc shall be listed within the VPN section of your Cp. This is also the place where you'll be able to find all locations where we have servers, so you can effortlessly connect to a machine in North America or Europe, for instance, and any time you access a website, it shall appear that you're in the country where the hosting server is. The connection to the VPN servers is encrypted all the time, so your true physical location or what you watch or download online will be undetectable from any third-party. This will enable you to use any service that is restricted to specific countries or to access any information that might be restricted within your own country, including certain social networks, blogs, community forums or audio and video sharing portals.
VPN Traffic in VPS Hosting
The VPN service is available as standard with all Linux VPS hosting packages which are installed with the Hepsia Cp. The section devoted to this feature shall give you the information that you have to type in in your VPN client so as to be able to connect to one of the servers that we've got worldwide and as an added bonus, you could leverage the VPN filter, which will boost your browsing speed by compressing pictures and blocking unwanted ads. We keep broadening the list of servers constantly, so you may pick one that will suit your needs best and with only a few clicks you can hide your actual location and appear as if you are in NYC or Amsterdam. This service shallgive you the freedom to access any online content such as streaming services that are available only in particular countries or social networks which are blocked for one reason or another in your own country.
VPN Traffic in Dedicated Web Hosting
The Virtual private network access comes with all Linux dedicated servers hosting packages set up with the innovative Hepsia Cp and when your machine is set up and you log in, you willdiscover a section dedicated to this service in which you'll be able to see the login details you need in order to be able to connect to our Virtual private network system. This includes not simply the username and the password, but also a long list of servers across the world that you'll be able to use as an access point and make it look as if you are in Europe, North America, etcetera. As all your Internet traffic will go through the server you have selected, we've also added a special filter in Hepsia, which you could enable when you wish to block advert banners and compress the other graphics on the websites which you visit. That way you'll enjoy quicker loading speeds and will save some traffic. Our Virtual private network service shall enable you to use any online content no matter if it's available exclusively in selected countries or if your local Internet provider blocks it for whatever reason.
Cancelation Refund Policy
Web Site Creating Tool
Shared Website Hosting Support
© Copyright 2003-2019 XyWebHost. XyWeb Media Group. All rights Reserved!
Our website uses cookies. By continuing to browse our site you are giving your permission to our use of cookies. Find out more about our cookies here.


LESSON 9 - JACOB DECEIVED
Esau was so mad at Jacob for tricking him out of his birthright and his blessing that Jacob's parents told him to go to live with his mother's brother, Laban, and find a good wife there.
Laban had two daughters. The oldest was named Leah and the youngest was Rachael. Rachael was beautiful and Jacob fell in love with her.
Jacob loved Rachael so much that he told Laban he would work for him for seven years if he could marry Rachael. Laban told Jacob that it would be good for Jacob to marry Rachael rather than to marry someone from another tribe of people.
Jacob worked for Laban for seven years for Rachael but he said it seemed to him like a few days because he loved her so much, Genesis 29:20. After the seven years, Jacob went to Laban and said, "Give me my wife, for my days are fulfilled, that I may marry her."
Laban gathered together all the neighbors and made a big marriage feast. There was probably a lot of good food and drinking and fun at the party just like many weddings today. Laban wanted to play a trick on Jacob. He gave his older daughter Leah to Jacob instead of Rachael! So Jacob married Leah and in the morning he saw that it wasn't Rachael. Jacob liked Leah, but he was still very upset, because he thought he had married Rachael.
He said to Laban, "What is this you have done to me? I served you seven years for Rachael and now you have tricked me!"
Laban told Jacob that in that country it was the custom for the oldest daughter to be married before the younger daughter could be married. He told him that he had to stay married to Leah and that he could also have Rachael after a week if he would work for Laban another seven years.
Jacob served Laban for another seven years for Rachael and he loved her more than Leah. When Leah and Rachael got married, Laban gave them each a servant girl to help them.
To make up for Leah not being loved as much, Yahweh let her be the one who had babies while Rachael didn't have any. She had four sons named Reuben, Simeon, Levi and Judah.
Rachael was so sad because she didn't have any children that she told Jacob, "If you don't give me children I will die!"
That made Jacob angry at Rachael. He told her, "I am not Elohim, that I can make you have children or not have children. If you want to have children you should pray to Yahweh," Genesis 30:1-2.
So Rachael told Jacob to have a baby with her servant girl, Bilhah, and Rachael would get a baby that way. Bilhah had two baby boys and Rachael named the first one Dan and the second one Naphtali.
Leah didn't have any more children so she gave Jacob her servant girl, Zilpah, and she had a son whom Leah named Gad. Then Zilpah had another son whom Leah named Asher. Leah then had two more sons named Issachar and Zebulun and then a daughter named Dinah. Now, Leah had six sons and a daughter.
Finally, Elohim listened to Rachael praying to Him and gave her a son. She named him Joseph. Jacob loved Joseph the most because he was Rachael's son and he still loved Rachael.
BIG FAMILY CHALLENGE
It sounds like Jacob had a lot of children, doesn't it? Now a project for you to check your memory. Take a piece of paper and draw three lines from top to bottom. On the right side at the top, write "Rachael." At the top of the other columns, write "Bilhah" on one, "Leah" on the next, and "Zilpah" on the last. Below are Jacob's children. Write their names under their mother and then look it up in Genesis 29:32 to 30:24 to see if you are right.
Jacob had been working for Laban for all this time and now he wanted to leave and be on his own. He was a very good shepherd so Laban asked him to stay and offered to pay him wages for his work. He asked Jacob how much money he wanted.
"You don't need to give me any money at all. Just give me the lambs that are not all white. We'll separate all the speckled and spotted and black sheep today and after that, any of those that there are in the flock will be mine," Jacob said, Genesis 30:32.
Laban thought he would have ALL the sheep (or at least most of them), didn't he?
Since only a few sheep are usually born spotted or black, Laban thought this was a great offer and quickly agreed.
Laban was probably really surprised when Jacob's flock grew so big!
Jacob took sticks and stripped the bark off in places and put them in front of the sheep's drinking trough. When the baby sheep were born they came out mostly spotted and streaked. Jacob put all those colored sheep into his own flock. His flock grew to be very large with these sheep. Laban changed the rules about which color sheep Jacob got; but every time he changed the rules, the new lambs were born the color which was for Jacob, Genesis 31:8.
Laban and his sons got jealous of Jacob's blessings and things started to get tense. Then, Yahweh told Jacob he should go back home to his family in Canaan. Rachael and Leah agreed and Jacob's whole big family and all his flocks left while Laban was out in the fields shearing sheep. Jacob had been with Laban so long that he was about ninety-two years old when they left Laban.
Jacob was glad to be going home but he was also afraid that his brother Esau still wanted to kill him. He sent men on ahead to meet Esau and give him fine gifts from Jacob. Jacob also prayed to Yahweh for help in meeting Esau. He thanked Yahweh for teaching him so much and for giving him so much, Genesis 32:9-12.
When Jacob was camping that night by himself a man came to him and wrestled with him all night. Neither of them could beat the other. Even when the man touched Jacob's hip and made his leg strained, Jacob would not let go of him.
When it was almost morning and it began to get a little light, the man said, "Let me go because it will soon be day."
Jacob said, "I will not let you go unless you bless me."
He said, "What is your name?"
"Jacob."
"Your name shall not be Jacob any more. You shall be called Israel because you have struggled with Elohim and with men and have not lost."
"What is your name?" Jacob asked Him.
"Why do you ask my name?" He replied. And He blessed Jacob, Genesis 32:34-39.
Jacob got up and limped over to where his family was camped and took them to meet his brother Esau. Because of the blessing he had received he was a little less afraid that Esau would kill him, but he was still concerned.
Finally, Jacob saw Esau coming with four hundred men! Jacob put himself in front of his family to protect them and then Esau saw him and began to run toward him. Jacob bowed himself to the ground and then got up to meet his brother. Esau ran to him and and and and and and ........ HUGGED HIM! He was happy to see his brother Jacob.
Jacob stayed close to Yahweh and Yahweh blessed him and kept him safe.
LESSON 9 - ACTIVITIES
Here are some questions to see how much you learned from the Lesson you just completed. You can print out this page to write your answers and do any activities that follow. Make sure you have an adult or a big brother or sister check your work! You may even get a "star" on it!
Who was Jacob's favorite child?
How did Jacob and Laban divide their lambs?
How long did Jacob work for Laban in order to marry Rachael?
What was Jacob's name changed to and what does it mean?
Who was Bilhah?
Why did Leah have so many babies?
What did Esau do when he saw Jacob?
How many children did Rachel have?
What trick did Laban pull on Jacob?
How many children did Leah have?
JACOB'S SONS
This is an interesting puzzle and a bit tough! Listed below are the names of Jacob's sons in the order of their birth. The number beside each name tells you the number of letters in that name. Print the puzzle and the graph. Place the names in the crisscross, and then put the letters from the numbered boxes in the appropriate spaces on the graph at the bottom to solve the coded message. HAVE FUN!
REUBEN (6)
NAPHTALI (8)
GAD (3)
ZEBULUN (7)
BENJAMIN (8)
Here's the "coded" message graph:
6 9 1 11 8 7 12 6 14 8 5 2 14 10 1 13 10 2
12 10 4 1 15 10 6 1 14 6 9 1 10 6 9 1 14 8
F F F
6 9 1 2 1 4 1 12 6 9 1 14 1 8 14 1 6 9 1 2 1
4 1 12 10 14 1 6 9 1 9 1 10 15 2 8 6 9 1
6 1 13 3 1 6 14 5 16 1 2 8 5 2 14 10 1 13
W F .
I am the El of Bethel, where you anointed a pillar,
where you vowed a vow to me.
Now arise, get out of this land and
return to the land of your birth.
This is the last lesson in this series. We pray you not only enjoyed them, but learned something!


4.4 Roles of government bodies
家庭用水处理和安全储存入门
洛桑联邦理工学院
It is well known that water treatment at the household level can lead to dramatic improvements in drinking water quality. But does Household Water Treatment and Safe Storage (HWTS) also have global relevance? What are the potential treatment solutions and how do they function? Is there a standard strategy for successful HWTS implementation, or can we identify key components which make programs more likely to succeed? In this course you will learn about the most important water treatment methods at household level, successful implementation strategies and about assessing the impact of HWTS. MOOC SERIES "SANITATION, WATER AND SOLID WASTE FOR DEVELOPMENT" : This course is one of four in the series "Sanitation, Water and Solid Waste for Development". FRANçAIS: Dans ce MOOC, vous allez apprendre les plus importantes méthodes de traitement de l'eau au niveau des ménages, les stratégies pour une mise en œuvre réussie et l'évaluation de l'impact du traitement et stockage sûr de l'eau à domicile. ESPAñOL: Aprende acerca de los métodos más importantes de tratamiento de agua a nivel domiciliario, de estrategias de implementación eficientes y de la evaluación del impacto del tratamiento doméstico y almacenamiento seguro del agua.
This course is very valuable. I learnt a lot in terms of HWTS. Many thanks to EAWAG, EPFL and Coursera teams for this wonderful course.
Extremely Helpful and Exceptionally well designed course. Thanks a lot to all the personnel and Coursera for bringing this course/
Implementation strategies for HWTS
During week 4 we analyse different approaches that have been successfully applied. We highlight key components which make programs more likely to succeed. We ask the questions, what is required that the most vulnerable populations use HWTS correctly and consistently over the long-term? In separate modules we consider the special case of HWTS in emergency response and provide information about the role of government bodies.
4.1 Implementation models - Guest Lecturer: H. Gebauer12:46
4.2 Targeted approaches20:24
4.3 HWTS in emergencies - Guest Lecturer: D. Lantagne24:51
4.4 Roles of government bodies21:20
4.5 Key messages - Week 4 3:33
Rick Johnston
Sara Marks
選擇語言法語(French)英語(English)西班牙語(Spanish)
In our discussion of implementation models,
we talked about the differences between
profit maximizing approaches and those that
prioritize social goods, like disease reduction.
We looked at how different strategies might be applied
by conventional, profit oriented businesses,
or not for profit organizations,
or social businesses, kind of combining some aspects of
both. But success of HWTS is not only about
the private sector and NGOs, governments have very important
roles to play, but which governments and what roles?
Well, one important role of governments is around national policies and regulations.
And in fact, the international network for HWTS,
has set targets around national policies and regulations.
First is that, by 2015, at least 30
countries should have established national policies or regulations about HWTS.
And this one is on track.
There was a survey done a few years ago, in 2012, which
found eight countries already with targets and more than 22 with policies.
And the second target is to reach 50 countries by
2020, which have achieved countrywide scale up of project based HWTS.
And this second target, at least in 2012, wasn't yet on track.
The international network for HWTS, which was
introduced by Michael Forson a few weeks ago,
made a global review of the policy and
regulatory environment around HWTS a few years ago.
And they received responses from 46 countries, nearly half from Africa,
but with at least some responses from all around the world.
In over half of these countries, the ministry of health
was identified as the lead in issues relating to HWTS.
And in several other countries, the ministries
of water or environments were the leads.
But there were a number of other government agencies
listed including the ministry of rural development in Cambodia.
The Ministry of Social Affairs in Estonia and
the Ministry of Housing and Construction in Syria.
Regardless of which ministry is the lead, HWTS is
a cross cutting issue and requires coordination between different ministries.
Like the ones above.
But also, frequently, information on HWTS is integrated into school curricula.
So, ministries of education must be involved.
And if technologies are to be certified, or endorsed,
National Bureaus of standards or other regulatory authorities may be involved.
In fact, this survey found that more than 90%
of countries reported having a collaboration between two ministries.
And in more than half of countries, three or more ministries were involved.
Now, all that sounds great.
In practice, it can mean that progress is slow, since everybody has to get on board.
So, nearly 2/3rds of the countries in that survey
had established an inter-ministerial committee to coordinate HWTS activities.
And that's mostly at the national level.
Many of these ministries have presences at the regional district
and local levels or municipalities in the case of large cities.
Or there may be big gaps in knowledge and capacity about HWTS.
But these government workers are the ones who would need
to be involved with any field level implementation of HWTS.
So, there are certainly multiple different government
entities that could play roles in HWTS.
How can we classify or organize all the different
roles that governments could play with respect to HWTS?
Well, there are, of course, many different ways, but one that I
like is to approach the role of government from a human rights perspective.
There's been a lot written about the responsibilities
of governments regarding human rights and the UN
has recently recognized access to safe drinking water
as a human right, so it seems appropriate.
And in the human rights framework, the responsibilities
of government, states, can be divided into three sets.
The obligations to respect, to protect, and to fulfill rights.
Respecting rights means that governments should not interfere,
either directly or indirectly, with a human right.
And protecting rights means that governments should
prevent other parties from interfering with human rights.
For instance, the government could pass laws or
regulations that prevent pollution of drinking water resources.
In this last category, the duty to fulfill
human rights, that can be further broken down.
States can facilitate a right by taking positive measures that
help people to enjoy the right to safe drinking water.
States can promote a right by, for example, making sure that there's
adequate education around the importance of safe water, and sanitation and hygiene.
And states are obliged to provide a right when people are unable, for reasons beyond
their control, to realize that right on their
own, and with the means at their disposal.
Let's take some concrete examples.
One important role that government can play is about access to information.
Making sure that complete and correct information
is available to those who need it.
Governments can make themselves aware, at different levels and
in different sectors, about the links between HWTS and health.
They can take stock of the existing
drinking water situation, especially considering household water quality.
And see if people could benefit from using HWTS.
National health and water coverage statistics are available
in nearly all countries, managed by the government.
But might not be widely known to all.
So a first step that governments could
support could be to do a situation assessment,
a review of the situation, and compile
the relevant information in one place.
Another important role, that is another kind
of facilitation, is the role of coordination.
There are many different stakeholders involved in HWTS, and governments can make
a really important contribution by ensuring
that these stakeholders know about each other.
This can be achieved through a survey of ongoing HWTS activities and stakeholders.
And local universities or research institutions could
be brought in to fill knowledge gaps,
and the government can host sector forums,
to share experiences in a very productive way.
Another part of coordination is the need for monitoring and evaluation.
This is a key responsibility of government
which might require establishing new indicators and monitoring
systems, building up capacity, especially at local levels,
and perhaps investments in new facilities and equipment.
If we next consider promotion, HWTS will definitely be
more credible if its promotion is endorsed or led by governments.
A common action here is to support development
and funding of a national communication strategy and campaign.
Usually these are non-branded since governments often don't want to
be seen as giving preference to one commercial entity over another.
Governments, typically, are willing to endorse or
promote only technologies that have been verified.
And there's currently a real lack of systems and capacity
for doing piloting and assessing of technologies before scale up.
And ideally, there should be a range of options available that
could be promoted for different audiences and use some different circumstances.
WHO has recently launched a scheme for evaluation
of household water treatment technologies described in this report.
And we'll have a guest lecturer from the
WHO go over the scheme in more detail next week.
Finally, promotion of HWTS can be
linked with other health or development priorities
as we saw the example of integration of HWTS with education or health initiatives.
And these kinds of integrations often require a supporting policy environment.
Finally, governments do have a
responsibility to provide services if other
actors do not provide them in a way that's accessible to all.
This doesn't mean that services have to be provided for free,
but they do have to be available at an affordable price.
So, there is a possible role for subsidy of HWTS which could take different forms.
There could be direct subsidies in the form of reduced
prices for products which might be targeted only towards the poor.
Or there could be indirect subsidies.
For example, by supporting the costs of promotion
through media or distribution through human resources and institutions.
And a third kind of subsidy, an indirect subsidy, could be to
relax the import duties on HWTS products that have to be imported.
If government workers, from whatever sector,
become involved with provision of HWTS products
and services, they will typically need substantial
support and capacity development at different levels.
This is another aspect of government's role
in creating an environment where HWTS can succeed.
Well, there are a lot of different types, obviously, of roles
that governments can play and of actions that could be taken.
And a convenient way to package them together in
a coherent framework is that of national action planning.
And the HWTS Network has some guidance and some
templates on elements that should go into national action planning.
First of all, there should normally be a background and rationale to have an HWTS
action plan that involves things like the literature
review and assessment and diagnosis of the situation.
Next, establishing an overall purpose,
which might be to reduce disease, since there is a health focus.
And guiding principles, such as targeting
vulnerable groups to achieve the greatest gains.
Another important principle to establish is that HWTS is
not in competition with or replacing conventional water supply.
But is seen as a complementary, short-term measure until the long-term
goals of safe, sustainable water at home can be achieved for all.
Certainly a concrete, element in a national action plan should be a goal.
Which should be time based by some
certain year, and might have some specific proportion
of the population, who don't yet have sustainable
access to piped water supply in the house.
Who are practicing an effective HWTS method,
in a way that makes the water safe
to drink or in compliance with national standards.
Once that goal is established then, a number of strategies and
action items can be determined, which will be very context specific.
And another activity that's very context specific is a
clear delineation of the responsibilities of the different stakeholders involved.
Both the government stakeholders and the non-government ones, including, private
sector, NGOs, universities, research institutes, development partners, etc.
By now there are many countries, more than 22,
that have established action
plans and policies for HWTS, but one nice
example I like to share is that of Tanzania.
And in preparation for establishing an HWTS strategy and plan.
The first thing that was done was a sector review.
A situation assessment.
Where there's very high mortality from diarrhea.
This shows Tanzania ranking quite high in the distribution
of countries, in terms of diarrheal deaths per 100,000 population.
Also, there was a high use of unsafe water.
These are national coverage estimates from the
joint monitoring program of WHO and UNICEF.
Showing really high and persistent use of surface water
and other kinds of unimproved water in rural areas.
And HWTS was being promoted in the country.
It was aligned with government policies but there was no
coordination mechanism, so there was actually a lot of inefficiency.
So, the government hosted and convened an
international conference in February 2009, led by
the relevant Ministries and supported by the
International Network and some key development partners there.
And they prepared a nice background document to go into the meeting.
Laying out the reasons, the
justification to develop an HWTS sector plan.
So, having done their homework, the government of
Tanzania then hosted this workshop in February 2009.
Brought in 108 people from many different countries.
And set out four key objectives.
First, to learn from international experiences, both
within the region and the broader global community.
To review and strengthen national initiatives on expanding HWTS.
To develop and strengthen partnerships, both nationally and internationally.
And finally, to share experiences and document the
different programs taking place within and outside the country.
So a lot of the objectives here are around information management and facilitation.
The conference had a number of actionable outcomes, there were 15
specific action points that were identified, I won't go into them here.
But there were five broad recommendations that,
that were also endorsed through the conference.
The first being that the ministry, the lead ministry in this case
of health and social welfare, should
develop a national action plan, and strategy.
That the ministry should strengthen those international partnerships.
And also that the government, along with partners and other
stakeholders, should allocate funds, financial
resources, towards the strategic plan.
That the government should play
this information management and coordination role
through strengthening the evidence base, through
monitoring and evaluation, through developing standards.
And then finally, that the government should play the
overarching role of coordination and networking in the HWTS sector.
These findings were shared in other regional workshops.
And other countries in the region have gone through similar processes.
So, that international conference really set the ball rolling in Tanzania.
And within a relatively short period of time, of just a few years, the country had
developed, finalized, and endorsed a strategy and plan
for scaling up HWTS over this five year period.
It included a national vision, and goal, and target.
So, the vision being, to have communities
accessing safe drinking water at the household level.
And a specific target to increase by 20%, the usage of acceptable HWTS by 2016.
So that's a concrete, measurable, thing.
HWTS has been taken up in a number of national policies,
including the National Heath Policy, the Health Sector Strategic
Plan, but also the Environmental health, hygiene and sanitation strategies.
And there are lists of specific actions that
the government must take to achieve these goals.
And I give here just a few examples of
the types of activities that government is doing here.
Around facilitation, around coordination, around monitoring and evaluation.
So, while it takes some time and some good ground work to establish the
foundations, and develop a national strategy and
action plan, that's really just the beginning.
The implementation of the plan is where HWTS
can really be scaled up and realize health gains.
And here government play such critical roles.
First, in securing the political supports
and the resources necessary for implementation.
Government has to play this role of coordination and
leading, and can also, provide adequate financing and human resources.
On the implementation of the specific measures identified in an
action plan, government has many
key roles, especially around building awareness
in capacity at the lower levels.
And finally, all of these activities that are implemented through an action plan
and strategy have to be continuously
modified, monitored, modified if necessary and evaluated.
And here, governments, again, play the central role and
one can think back to that human rights framework and consider
that these actions should all be implemented in a way that
is not discriminatory to any particular group, including the poor.
And that though participation and transparency more
long-lasting, sustainable results can be achieved.
Going back to that survey that the International Network
conducted of 46 countries about HWTS policies and practices.
The survey identified key challenges towards policy implementation, and the
the top one was around monitoring of use and impact.
Other important ones were the lack of regulation and
evaluation, limited awareness within government of the role of HWTS
and limited coordination among ministries, and today we've talked
about how government can contribute to all of those challenges.
WHO also has a number of resources available
through its Internet site that specifically target these challenges.
For instance, there's a toolkit for
monitoring and evaluation to address this challenge.
There's a scheme for evaluation of household water treatment
options that gets at the regulation and evaluation steps.
And there are specific guidances on other topics such as integration with HIV
programs, national planning and coordination in general.
So, there are a lot of rich resources that can support governments in
developing and implementing these national strategies and action plans.
And again, on the PDF version of these slides, you'll be able to
hyperlink you'll be able to click on these icons and get those reports directly.
So, to summarize then, we've looked at the many responsibilities
and roles that can be played by government agencies with HWTS.
We've looked at them through a lens of human rights approach, thinking
about the responsibilities of government to respect, to protect and fulfill rights.
And we've shown that fulfilling rights can be broken down into facilitation, such
as collecting and managing information, and in coordinating stakeholders,
promotion, establishing policies, and strategies, action plans,
endorsing certain technologies, and conducting public health campaigns.
And finally, provision of services,
especially targeting particular vulnerable groups.
And we've seen how national strategies, and action plans can bring together these
different responsibilities and roles of government into a coherent package.


An optimizing decompiler
Helping Johnny to Analyze Malware: Part 1 Mar 29, 2017
How do compilers optimize divisions? Feb 19, 2017
LLVM 4.0, Travis CI, type reconstruction-oh my! Jan 27, 2017
Kicking off the holidays with type recovery Dec 7, 2016
Revisiting Structurization Nov 25, 2016
fcd at CSAW'16 Nov 12, 2016
Parsing headers for fun and profit Sep 4, 2016
Using bugpoint to find the cause of crashes Mar 16, 2016
Using a use list in the AST Mar 1, 2016
Upgrading to LLVM 3.8 Feb 26, 2016
The Loop Problem Feb 24, 2016
Using fcd to solve the CSAW Wyvern challenges Feb 21, 2016
The Region Problem Feb 17, 2016
Lifting x86 code into LLVM bitcode Feb 16, 2016
How do compilers optimize divisions?
A fun part of writing a decompiler is trying to figure out how a compiler got from point A to point B. Compilers are known to use every last trick in the book to make things just marginally faster. Sometimes, compilers are just a bit clever: for instance, Clang can codegen a switch statement with lots of disjoint cases as a binary search over the cases to get better average- and worst-case number of comparisons. Anybody reading the code can see how it made sense to do that. Sometimes, however, compilers get really really clever and figuring out what happened is not a straightforward process.
One example of a non-obvious optimization is what compilers do for divisions by a constant. Divisions are still hard, and compilers hate to emit a div or idiv if they know one side of the equation. The resulting code, however, is puzzling.
Up to very recently, fcd wouldn't see the division in there and would produce output similar to the following:
uint32_t udiv19(uint32_t arg0)
uint64_t anon1 = (__zext uint64_t)arg0 * 2938661835 >> 32;
return (uint32_t)(anon1 + ((__zext uint64_t)(arg0 - (uint32_t)anon1) >> 1) >> 4) & 0x0fffffff;
What happened?!
This doesn't quite look like a division by 19. Of course, that's a problem for fcd, because we want to help people make sense of what they're looking at.
Generally speaking, you can't divide without dividing. What happened here is that Clang (and most other compilers up at Matt Godbolt's Compiler Explorer) simply resort to using the one and only type of division that computers are really good at: divisions by a power of two. There's no div instruction in sight, but we do have right shifts. In fact, we can rewrite this code as a questionably better-looking mathematical expression:
(The & 0x0fffffff that fcd shows and that we ignored here is a leftover from the earlier phases of decompilation, where every 32-bit integer is represented as a 64-bit integer masked with 0xffffffff. Most of these masks go away, but in this specific case, the mask was combined with the >> 4 and the result isn't obvious enough to let fcd get rid of it outright.)
The result of 137438953472 / 7233629131 is 18.999999997649866. In other words, the compiler merely found a big factor (2938661835) with which you could relatively easily compose divisions by powers of two until you'd almost get a division by 19.
How close is close enough? Given that we divide an unsigned 32-bit number, this has to be accurate for integers up to 4294967295. 18.999999997649866 is not quite 19, and this is integer division, so the denominator needs to be ceiled to be accurate. We get an error margin of ceil(denom) - denom, and we want to know when enough error has accumulated that we'll get a difference of 1. If that point happens further than 4294967295 / 19, then the approximation is valid for every integer in our division domain. We need to check for this:
It holds, meaning that the approximation is accurate for any unsigned 32-bit integer that we can throw at it. Yay! This verification is important, because we wouldn't want to transform something that is not really a division into a division.
Generalizing
Clang generates 5 or 6 different patterns to divide by (or get the remainder of division with) constant integers. Interestingly enough, there is little to no variety in how signed division works, but there are several distinguishable patterns with unsigned division.
For the pattern that was just discussed, as a lazy person, I just threw the formula in Wolfram|Alpha and asked it to isolate the denominator in it:
Where is the numerator (which is variable), is the denominator (which we want to find), is the large multiplier constant, and , and are the different exponents of two that are used for right shifts. It came back with this:
This formula is easy enough to plug into fcd, and the verification code is equally easy to use.
I didn't find a lot of documentation about this optimization. RE.SE has two answers to this question; the most upvoted one uses an example to show how you could come up with these numbers and covers one case the hard way. Compiler people have better information on how to come up with these numbers, but this is somewhat beyond what I'm interested in for fcd's purposes.
As of this time, fcd gets signed division and remainder right, unsigned division right, and some of unsigned remainder. It turns out that the unsigned remainder operation does a few weird things that I'm not sure how to interpret, and unfortunately, my lazy options are more limited as Wolfram|Alpha has trouble understanding modulos (or, more probably, I have trouble expressing what I want to do in its language). Still, I'm happy to report that udiv19 now decompiles as arg / 19.