4.1
domestic | safety | access to buildings | 2007
Every
building
must be designed and
constructed
in such a way that
all occupants and visitors are provided with safe, convenient and
unassisted means of access to the
building
.
Limitation:
There is no requirement to provide access for a wheelchair user to:
(a)
a
house
, between either the point of access to or from any car
house
where it is not
reasonably practicable
to do so; or
(b)
a common entrance of a
domestic building
not served by a lift,
where there are no
dwellings
entered from a common area on the
entrance
storey
.
4.1.0 Introduction
An inclusive approach to design should be taken to ensure that
buildings
are
as accessible to as wide a range of people as possible. Solutions should be
integral to a design rather than an afterthought added in order to meet duties
under building standards or other legislation.
Inclusive Design
Inclusive design is not just relevant to
buildings
. It applies throughout any
internal or external environment, where people go about everyday
activities. It should be a continuous process, through all stages of the
development of a
building
and involve potential users. Advice on this topic is
available in the joint BSD/Scottish Executive Planning Division Planning
Advice Note PAN 78: ‘Inclusive Design’ which promotes the merits of an
inclusive approach to the design of the
built
environment.
Whilst the guidance to this standard reflects general good practice, certain
issues remain outwith the scope of the building regulations. There are
numerous publications offering additional guidance on accessibility and
inclusive design, including those listed below:
•
BS 8300: 2009 – ‘Design of buildings and their approaches to meet the
needs of disabled people – code of practice’;
•
Housing for Varying Needs, Parts 1 & 2 – Communities Scotland;
•
‘Guidance on the Use of Tactile Paving Surfaces’, published jointly by The
Scottish Office and the Department for the Environment, Transport and
the Regions (DETR).
In the case of conversions, as specified in regulation 4, the
building
as
converted
shall meet the requirements of this standard in so far as is
reasonably practicable
, and in no case be worse than before the
conversion
(regulation 12, schedule 6).
4.1
—
4.1.0
•
Inclusive Mobility – Department of Transport, 2002;
domestic | safety | access to buildings | 2007
4.1.1 Accessible car parking to flats or maisonettes
The need for car parking serving a
domestic building
will commonly be
determined by a developer and may also be a condition of planning
containing
flats
or
maisonettes
, it should include accessible spaces.
A proportion of car parking spaces should be designed to be accessible to a
person with mobility impairment, including a wheelchair user, and designated
for use as such. These parking spaces should be:
a. provided at a ratio of at least 1 per 20 parking spaces, or part thereof; and
b. located on a
road
surface that is level (with a gradient of not more than 1
in 50); and
c. not more than 45 m from a common entrance; and
d. clearly marked with the international symbol of access; and
e. provided with a dropped kerb access to an accessible route; and
f. where perpendicular or at an angle to a
road
, at least 4.8 m long x 2.4 m
wide, outwith which a delineated access zone at least 1.2 m wide to each
long side and between the end of the bay and any
road
is shown; or
g. where parallel to a
road
, at least 6.6 m long by 3.6 m wide, as shown
below.
Off- and on-street accessible car parking
4.1.2 Car parking within the curtilage of a dwelling
should be able to alight from a vehicle directly onto the firm surface of an
accessible route to the
dwelling
.
Where a driveway or car parking space forms part of an accessible route to a
dwelling
, it should be at least 3.3 m wide to allow a 900 mm wide pedestrian
route past a parked car. That portion of the driveway surface should be in
accordance with the recommendations in clause 4.1.4.
4.1.1
—
4.1.2
domestic | safety | access to buildings | 2007
4.1.3 Accessible routes
should then be able to travel conveniently and without assistance to an
poorly surfaced, or that contain steps or other obstructions, will make access
difficult or impossible for many people. To prevent this, a route to an
entrance should be provided that is accessible to everyone.
An accessible route should contain no barriers, such as kerbs, steps or
similar obstructions that may restrict access. Street furniture can present a
hazard, particularly to a wheelchair user or a person with a visual impairment
and should be located outwith the width of an accessible route. Use of
low-level bollards or chain-linked posts, for example, can be particularly
hazardous.
a
road
; and
•
There should be an accessible route to the common entrance of a
building
containing
flats
or
maisonettes
and to an accessible entrance of any
dwelling
not reached through a common entrance, from:
•
a
road
; and
•
Gradient of accessible
route
As steeper gradients are more difficult to negotiate, level or gently sloping
routes should be used wherever possible, in preference to ramps. An
accessible route should be:
•
level, which for the purpose of this guidance is a gradient of not more than
1 in 50; or
•
gently sloping, which for the purpose of this guidance is a gradient of more
than 1 in 50 and not more than 1 in 20; or
•
ramped, with a gradient of more than 1 in 20 and not more than 1 in 12.
The cross-fall on any part of an accessible route should not exceed 1 in 40.
Gently sloping
gradients
Gently sloping gradients should be provided with level rest points of not less
than 1.5 m in length, at intervals dependent on the gradient of the sloping
surface. This should follow the same relationship given for ramp
flights
, e.g.
up to 20 m apart for a slope of 1 in 30, 30 m for a slope of 1 in 40 and so on.
Recommendations for ramps are provided in the guidance to standard 4.3.
Complimentary
steps
Ramps are not necessarily safe or convenient for an ambulant person with
mobility impairment, and can be more difficult and dangerous to negotiate
than steps. Therefore, on a route serving more than 1
dwelling
, any ramped
access having a rise of more than 300 mm should be complemented by an
alternate, stepped means of access.
Stepped access to a
single
house
There may be stepped access to a route serving a single
house
where it is
not
reasonably practicable
to
construct
an accessible route, such as on a
steeply sloping
site
. As a guideline, if a ramp to an accessible entrance can
between the bottom of the ramp and the top landing, access should be
considered
reasonably practicable
.
4.1.3
—
4.1.3
domestic | safety | access to buildings | 2007
Where an accessible route cannot be provided from a
road
, it may still be
practicable to
construct
an accessible route by providing a car parking space
within the
curtilage
of the
dwelling
. It is only where is not
reasonably
practicable
to
construct
an accessible route from either a
road
or from car
solution may be proposed.
4.1.4 Surfaces to accessible routes
For safety and convenience in use, the surface of an accessible route should
be firm, uniform and of a material and finish that will permit ease in
manoeuvring. It should provide a degree of traction that will minimise the
possibility of slipping. This should take into account both anticipated use and
environmental conditions.
The surface of an accessible route, whether composed of modular paving
units, formless materials such as tarmac, or another durable material, should
have a profile that will not offer a trip hazard or result in standing water. It
should be installed in accordance with a code of practice relevant to the
material, where such exists.
Surface elements such as drainage gratings and manhole covers should be
of a type that will not create a trip or entrapment hazard. Uneven surfaces,
such as cobbles, or loose-laid materials, such as gravel, will present
difficulties to many people and should not be used.
Tactile paving
At a location where the footpath is level with a
road
surface, such as at a
dropped kerb, tactile paving should be used to warn a person with a visual
impairment of the presence of a vehicular route. This need not apply to a
paving on footpaths is given in 'Guidance on the Use of Tactile Paving
Surfaces'.
4.1.5 Length of accessible routes
The longer a pedestrian route, the greater difficulty it can present to many
people. Therefore, in addition to minimising gradients where possible, as
recommended in clause 4.1.3, the length of an accessible route to an
accessible entrance of a
building
should be limited to 45 m.
4.1.6 Width of accessible routes
The width of a pedestrian route to a
building
should reflect how it will be
used. For example, most public footpaths are at least 1.8 m wide, which
allows two-way traffic under most circumstances.
The clear and unobstructed surface width of an accessible route should
generally be at least 1.8 m, unless:
•
giving access to not more than 10
dwellings
, where the minimum surface
width may be not less than 1.2 m. This will accommodate any person
where traffic is in a single direction of travel. To allow for passing,
localised widening of any route less than 1.8 m wide to at least 1.8 m
should be made at any junction and change of direction and, where the
whole length of the route is not visible, also at not more than 10 m
intervals along the route; or
•
giving access to a single
dwelling
, where effective width may be not less
than 900 mm, recognising reduced levels of traffic.
4.1.3
—
4.1.6
domestic | safety | access to buildings | 2007
On an accessible route serving more than one
dwelling
, a level footpath of
not less than 1.0 m in width should be maintained to the rear of the slope of
any dropped kerb.
Any gate across an accessible route should offer a clear opening width of at
least 850 mm.
4.1.7 Accessible entrances
Each common entrance to a
domestic building
and at least one entrance to a
dwelling
should be an accessible, designed to present as little restriction to
passage as possible.
Whilst an accessible entrance to a
house
is commonly the front or main
entrance, an alternate entrance may be designated as the accessible
entrance where this provides a more convenient or practical route into the
dwelling
.
An accessible entrance to a
building
should:
a. have an unobstructed entrance platt of at least 1.2 m by 1.2 m, with a
crossfall of not more than 1 in 50, if required to prevent standing water;
and
b. have a means of automatic illumination above or adjacent to the door; and
c. have an accessible threshold; and
d. have a door leaf giving a clear opening width of at least 800 mm in
accordance with the diagram below; and
e. if fitted with a door closing device, be operable with an opening force of
not more than 30 N (for first 30º of opening) and 22.5 N (for remainder of
swing) when measured at the leading edge of any door leaf; and
f. if not a powered door, have an unobstructed space to the opening face of
the door, next to the leading edge, of at least 300 mm.
However where there is not an accessible route to a single house, the
guidance in subclauses a and c above need not be followed.
Accessible entrance door
Clear opening width
The projection of ironmongery which extends across the width of a door leaf,
such as an emergency push bar for escape or a horizontal grab rail, should
be subtracted when calculating the clear opening width.
4.1.6
—
4.1.7
domestic | safety | access to buildings | 2007
4.1.8 Common entrances
In addition to the recommendations in clause 4.1.7, a common entrance to a
domestic building
should have:
a. an unobstructed entrance platt, measuring at least 1.5 m by 1.5 m, with a
crossfall of not more than 1 in 50 if required to prevent standing water; and
b. a canopy, recessed entrance or similar means of protecting people
entering the
building
from exposure to the elements; and
c. a
glazed
vision panel, as described below; and
d. a door entry system.
Weather protection
The form that weather protection should take will vary with location and
exposure of the
building
. However an example of minimum provision might
be a canopy or recess, 750 mm deep, across the width of the entrance platt,
with an underside not more than 2.3 m above entrance level. It is recognised
that there are circumstances where provision of weather protection may not
be practicable or may be constrained by other permissions.
Glazed
vision panels
To assist in preventing collisions, a clear
glazed
vision panel or panels to a
door should give a zone of visibility from a height of not more than 500 mm to
at least 1.5 m above finished floor level. This may be interrupted by a solid
element between 800 mm and 1.15 m above floor level. A vision panel is not
needed to a powered door controlled by automatic sensors or where adjacent
glazing
offers an equivalent clear view to the other side of a door.
Guidance relevant to specific door types such as revolving doors or powered
doors is given in the non-domestic Technical Handbook.
4.1.9 Accessible thresholds
To be accessible, a door should not present unnecessary barriers to use,
such as a step or raised profile at a threshold that might present difficulties to
a wheelchair user or be an entrapment or trip hazard to an ambulant person,
whether or not using a walking aid.
Generic Threshold Profile
An accessible threshold should meet the following criteria:
•
thresholds should be designed to prevent the ingress of rain. Details in
the DETR publication ‘Accessible Thresholds in New Housing’ gives
guidance on how this might be achieved;
•
externally, the surface of the platt should be not more than 10 mm below
the leading edge of any sill, with any exposed edge chamfered or
rounded;
•
an external sill or internal transition unit should be at an angle of not more
than 15º from the horizontal and, if sloping, be not more than 150 mm in
length;
•
the threshold should either be level or of a height and form that will neither
4.1.8
—
4.1.9
domestic | safety | access to buildings | 2007
impede unassisted access by a wheelchair user nor create a trip hazard.
A threshold piece should have a height of not more than 15 mm, with any
vertical element of more than 5 mm height being pencil-rounded or
chamfered to an angle of not more than 45º from the horizontal;
•
if the finished internal floor level is more than 15 mm below the top of the
threshold, an internal transition unit, of not more than 15º to the horizontal,
finishing not more than 5 mm above the internal floor surface may be
used, in accordance with the guidance above. In new
buildings
, this
should normally only be needed to allow flexibility in subsequent fitting of
differing thickness of floor coverings.
Where a
dwelling
does not have an accessible entrance, one need not be
provided to the existing
dwelling,
or to the extension, as this will not result in
the
building
failing to meet the standard to a greater degree.
Where an accessible entrance exists, any
works
should ensure that the
existing entrance remains accessible. If this is not possible, a new
accessible entrance should be provided elsewhere into the
dwelling
. Such
an entrance should also maintain accessibility within the
dwelling
, as set out
in guidance to standard 4.2.
4.1.9
—
4.1.10


@(restaurant: List[Restaurant])
Restaurant City: @restaurant.city
Restaurant pincode: @restaurant.pincode
Restaurant name: @restaurant.name


This is a simplified simulation of the cipher (without the "frame counter" step before register initialization). It consists of three steps:
Tip: If you don't want to click many times, then you can click on the desired button and then continue with the Enter key instead of clicking mouse left key.
maj(x8, y10, z10) = maj(0, 0, 0) = 0
| x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 | x11 | x12 | x13 | x14 | x15 | x16 | x17 | x18 |
| y0 | y1 | y2 | y3 | y4 | y5 | y6 | y7 | y8 | y9 | y10 | y11 | y12 | y13 | y14 | y15 | y16 | y17 | y18 | y19 | y20 | y21 |
| z0 | z1 | z2 | z3 | z4 | z5 | z6 | z7 | z8 | z9 | z10 | z11 | z12 | z13 | z14 | z15 | z16 | z17 | z18 | z19 | z20 | z21 | z22 |
Explanation: Blue register names, indicate that this register stepped.
Implemented by Bastian Raschke and Nils Tegetmeyer and Amir Khazaie.


Equipment for research
In sum
- Use the following equipment to help you with your design research.
- It’s stored in the research listening room.
- Some equipment may not be set up or may be out of batteries. Allow time to check the equipment before you use it.
Equipment
- 2 PC laptops (off network
- 3 wireless mouse
- 3 wired mice
- 2 mouse pads
- Laptop bag
- Digital voice recorder
- Microphone (USB)
- Variety of old iPhones and Android phones
- Mr. Tappy camera and recording sled for mobile devices
- Last updated by Colin on March 25, 2019


osgi-framework-bootstrap
/
net.corda.osgi.framework
/
OSGiFrameworkMain
/
baseDirectory
baseDirectory
var
baseDirectory
:
Path
The node working directory where all the files are kept. (default:
.
).


Recipe 8 Reading a “Streaming” JSON (ndjson) Data File With Drill & R
8.1 Problem
You have ndjson JSON data files and want to read and query them with Drill and R.
8.2 Solution
Put the files into an organized, accessible directory by Drill and query it with R and sergeant
.
8.3 Discussion
The previous recipe covered the two basic flavours of JSON, traditional (a complete, syntactically correct object) and streaming/ndjson which is a file of flattened JSON records one per-line.
One example with a likely familiar data layout is an archive of 170 million tweets collected during the 3 months leading up to the 2012 U.S. presiential election.19. Another example would be Rapid7’s “Forward DNS (FDNS)” studies20. Yet another is the Yelp Challenge dataset21. Those archives are multiple gigabytes (and, in some cases, substantially more) each and a previous recipe already took up 2+GB of data on your system, so asking folks to download additional files of this size would be more than unkind. Unfortunately, the ndjson format (and, Drill, for that matter) was designed to solve “big data” problems and ndjson is often used in the context of large data sets.
If you have smaller ndjson data sets that could be used for this example, please file an issue. The goal of the cookbook is to be as “real world” helpful to folks as possible and “real” data beats tutorial-crafted data any day.
We’ll reuse some existing data and give a sneak peek at a powerful capability of Drill that we’ll see in later recipes. This feature is the ability to write data out to different file types or storage engines. In this case, we’ll convert a few of the files from Recipe 5 (reading in a directory of CSV files) into streaming JSON and do some light querying with them.
You’ll need to bring up a terminal/command shell for this work since we need to operate in a contained session since we’re going to alter the default output format to JSON and convert three CSV files for use in the examples here. Assuming you followed the advice to run Drill as a server/service and also followed the advice in the Drill manual and added the Drill bin
directory to your system PATH
, you can start a Drill query session at the command line with:
$ drill-conf
apache drill 1.13.0
"drill baby drill"
0: jdbc:drill:>
You can always
cd
to thedrill
directory andbin/dill-conf
if the directory is not in yourPATH
.
Now, we need to alter the session data storage format to ‘json’:
0: jdbc:drill:> ALTER SESSION SET `store.format`='json';
+-------+------------------------+
| ok | summary |
+-------+------------------------+
| true | store.format updated. |
+-------+------------------------+
1 row selected (0.133 seconds)
By default, the dfs.root
schema is immutable (i.e. “read only”). This is a very sane setting and changing it is not recommended. For now, we’ll store our new ndjson files in the default temporary (which is /tmp
on Linux systems and TBD
on Windows) and use the Drill CREATE TABLE AS
(CTAS)22 command
0: jdbc:drill:> CREATE TABLE dfs.tmp.`/1996-97` AS SELECT * FROM dfs.root.`/Users/bob/Data/CollegeScorecard_Raw_Data/MERGED1996_97_PP.csv`;
+-----------+----------------------------+
| Fragment | Number of records written |
+-----------+----------------------------+
| 0_0 | 6794 |
+-----------+----------------------------+
1 row selected (11.9 seconds)
0: jdbc:drill:> CREATE TABLE dfs.tmp.`/1997-98` AS SELECT * FROM dfs.root.`/Users/bob/Data/CollegeScorecard_Raw_Data/MERGED1997_98_PP.csv`;
+-----------+----------------------------+
| Fragment | Number of records written |
+-----------+----------------------------+
| 0_0 | 6699 |
+-----------+----------------------------+
1 row selected (9.743 seconds)
0: jdbc:drill:> CREATE TABLE dfs.tmp.`/1998-99` AS SELECT * FROM dfs.root.`/Users/bob/Data/CollegeScorecard_Raw_Data/MERGED1998_99_PP.csv`;
+-----------+----------------------------+
| Fragment | Number of records written |
+-----------+----------------------------+
| 0_0 | 6480 |
+-----------+----------------------------+
1 row selected (9.536 seconds)
0: jdbc:drill:> CREATE TABLE dfs.tmp.`/1999-00` AS SELECT * FROM dfs.root.`/Users/bob/Data/CollegeScorecard_Raw_Data/MERGED1999_00_PP.csv`;
+-----------+----------------------------+
| Fragment | Number of records written |
+-----------+----------------------------+
| 0_0 | 6466 |
+-----------+----------------------------+
1 row selected (9.459 seconds)
The temporary directory will now have three new subdirectores with a single JSON file in them:
/tmp/1996-97
└── [328M] 0_0_0.json
/tmp/1997-98
└── [327M] 0_0_0.json
/tmp/1998-99
└── [329M] 0_0_0.json
/tmp/1999-00
└── [342M] 0_0_0.json
While you haven’t downloaded a few hundred MB more data, you have created a three more large files and if you were to compare these each file to its CSV counterpart, you’d see they are much larger (uncompressed). This is due to ndjson repeating key:value
pairs for each record. Now, we’ll compress them:
$ gzip /tmp/1996-97/0_0_0.json
$ gzip /tmp/1997-98/0_0_0.json
$ gzip /tmp/1998-99/0_0_0.json
$ gzip /tmp/1999-00/0_0_0.json
and see that they compress quite nicely:
/tmp/1996-97
└── [ 38M] 0_0_0.json.gz
/tmp/1997-98
└── [ 40M] 0_0_0.json.gz
/tmp/1998-99
└── [ 40M] 0_0_0.json.gz
/tmp/1999-00
└── [ 43M] 0_0_0.json.gz
In fact, each file is now smaller than its CSV counterpart.
We’re going to remove these files in the long run, so we’ll keep them in this temporary directory but let’s move them underneath a common subdirectory since organized data is way better than disorganized data:
$ mkdir /tmp/college-scorecard
$ mv /tmp/1996-97/0_0_0.json.gz /tmp/college-scorecard/1996-1997.json.gz
$ mv /tmp/1997-98/0_0_0.json.gz /tmp/college-scorecard/1997-1998.json.gz
$ mv /tmp/1998-99/0_0_0.json.gz /tmp/college-scorecard/1998-1999.json.gz
$ mv /tmp/1999-00/0_0_0.json.gz /tmp/college-scorecard/1999-2000.json.gz
Leaving us with:
/tmp/college-scorecard/
├── [ 38M] 1996-1997.json.gz
├── [ 40M] 1997-1998.json.gz
├── [ 40M] 1998-1999.json.gz
└── [ 43M] 1999-2000.json.gz
Now we can work with these in Drill and R. You’ve already kinda seen the data before so we’ll just work with a few fields from it. By referencing the data dictionary23 we can see that:
col_UNITID
is the unique “unit id” for the institutionINSTNM
is the institution nameCITY
&STABBR
is the city/state location information for the institution, andPCIP27
is ‘Percentage of degrees awarded in Mathematics And Statistics.’
However, no field in the data dictionary specifies a year or date/timestamp for the record. That data is encoded in the names of the files in the original CSVs. Thankfully, we carried that over to our ndjson format and can use one of Drill’s implicit columns24 and can include that in any queries.
Let’s see what the average percentage of degrees awarded in math+stats by state for the four years we’ve converted. While we could just use:
scorecards <- tbl(db, "dfs.tmp.`/college-scorecard/*.json.gz`")
we need the filename
field and that means a using custom query to generate the table. So we’ll also thin out the data we’re retrieving at the same time:
library(sergeant)
library(tidyverse)
db <- src_drill("localhost")
tbl(db, "(
SELECT
SUBSTR(filename, 1, 4) AS start_year,
STABBR AS state,
PCIP27 AS pct_math_stats
FROM dfs.tmp.`/college-scorecard/*.json.gz`
)") -> scorecards
scorecards
## # Source: table<( SELECT SUBSTR(filename, 1, 4) AS start_year, STABBR AS
## # state, PCIP27 AS pct_math_stats FROM
## # dfs.tmp.`/college-scorecard/*.json.gz` )> [?? x 3]
## # Database: DrillConnection
## start_year state pct_math_stats
## <int> <chr> <dbl>
## 1 1997 AL 0
## 2 1997 AL 0.00830
## 3 1997 AL 0.00580
## 4 1997 AL 0
## 5 1997 AL 0
## 6 1997 AL 0.0365
## 7 1997 AL 0.0316
## 8 1997 AL 0.00300
## 9 1997 AL 0
## 10 1997 AL 0.0241
## # ... with more rows
Now, we accomplsh our goal of looking at the average percentage across states by year. However since the CSV file used NULL
vs null
for missing data, the built-in JSON converter had no way to convert it to a SQL missing value, so we’ll need to do some more wrangling before computing the means:
mutate(scorecards, pct_math_stats = ifelse(pct_math_stats == 'NULL', 0, pct_math_stats)) %>%
mutate(pct_math_stats = as.numeric(pct_math_stats)) %>%
group_by(start_year, state) %>%
summarise(mean_pct = mean(pct_math_stats)) %>%
collect() %>% # NOTE: all the above were in-Drill operations until this collect() line
ungroup() -> stats_avg
That pretty readable bit of R code generates this SQL query in Drill:
SELECT `start_year`, `state`, AVG(`pct_math_stats`) AS `mean_pct`
FROM (SELECT `start_year`, `state`, CAST(`pct_math_stats` AS DOUBLE) AS `pct_math_stats`
FROM (SELECT `start_year`, `state`,
CASE WHEN (`pct_math_stats` = 'NULL') THEN (0.0)
WHEN NOT(`pct_math_stats` = 'NULL') THEN (`pct_math_stats`)
END AS `pct_math_stats`
FROM (
SELECT
SUBSTR(filename, 1, 4) AS start_year,
STABBR AS state,
PCIP27 AS pct_math_stats
FROM dfs.tmp.`/college-scorecard/*.json.gz`
) ) `raqjqhtatv`) `fjxlsbemuv`
GROUP BY `start_year`, `state`
library(hrbrthemes)
mutate(stats_avg, start_year = as.Date(sprintf("%s-01-01", start_year))) %>%
ggplot(aes(start_year, mean_pct)) +
ggbeeswarm::geom_quasirandom(color="lightslategray") +
scale_y_percent(limits=c(0,0.02)) +
labs(
x=NULL, y=NULL,
title="Annual Mean (per-institution) Percentage of degrees awarded\nin Mathematics And Statistics in U.S. Colleges & Universities\n"
) +
theme_ipsum(grid="Y")


Topics
Video Tutorials
Slides
Links
Distributed System
Foundations - Characterization of DS
System Models
Networking and Internetworking
Interprocess Communication
Remote Invocation
Indirect Communication
Operating System Support Middleware
Dist. Objects and Components
Web Services
Peer-to-Peer Systems
System services – Security
Distributed File Systems
Name Services
Distributed algorithms - Time and Global States
Coordination and Agreement Shared data
Transactions and Concurrency Control
Distributed Transactions and Replication
New challenges - Mobile and Ubiquitous
Computing Lab: Introduction to Message passing technology
Message passing technology's applications
Sockets Programming
Remote Procedure Calls code implementation
Synchronization assignments
Group Communication code implementation
Distributed mutual exclusion assignment
Implementation of Election Algorithms
Implementation of Distributed File system
MapReduce, Spanner
Distributed Systems Design assignments
Cloud Services
Content Delivery Networks configuration


Tracker
login/sign up
about
Amount
Item
Add item
Nothing tracked yet, add something!
Clear tracked items


The plugin requires write permission to your GitHub repositories. We only modify the repositories for which you enable the plugin.


Easiest Database Ever
Community
Are you currently working on a project using GUN or perhaps you would like more information before you make up your mind.
We always love to be in touch with our community and listen about what you're working on and maybe we can give you a hand. Click the button below and talk to us on Gitter!
API
gun.map
Loop over each property in a node, and subscribe to future changes. It's essentially performing a .path on each field.
Read moreInteractive explainers
Databases can be scary, which is why we are making a series of explainers to educate everyone. Young or old, our goal is to show you that these ideas are actually simple.
Projects
Our GUN community is working on great projects here are the promising ones.


This is a work-in-progress. I'm building it off the framework of CurieVR, but instead of only having pre-made simulations like CurieVR, it will provide the tools for users to make their own educational physics simulation and lessons, and share them with others. It is multi-user and cross-platform, working on mobile and PC 6DoF VR systems.
CurieVR is a multi-user virtual physics classroom, for use in online education. It is available on Steam for PC VR in a closed beta. If you'd like a key, please email: phil at curievr.com. It contains interactive simulations to visualize and experiment with physics concepts, as well as learning tools such as a networked blackboard, slide deck, calculator, stopwatch, and tape measure.
Users can share their own slides in the app via an embedded chromium browser. The app communicates with a simple Flask server written in Python and hosted on Google App Engine. The server accesses the Google Slides API to query data from the slide deck in order to create buttons that can be clicked in the app to jump to different slides and read widgets on the current slide to pose questions or load a simulation.
PhysicsVerse was an early experiment in creating a 3D networked environment to learn physics in, and it’s main purpose was just for me to learn C# and VR development. I explored gamifying various aspects of the education. It was built in Unity3D, used the SteamVR Interaction Template heavily, and used the High-Level Unity networking system (UNET)


Anti-nuclear protests first emerged in the late 1950s and early 1960s.[1] In the United Kingdom, the first Aldermaston March, organised by the Campaign for Nuclear Disarmament, took place in 1958.[2][3] In 1961, at the height of the Cold War, about 50,000 women brought together by Women Strike for Peace marched in 60 cities in the United States to demonstrate against nuclear weapons.


pyinfra target_ip_address exec -- command_name_and_arguments- Execute contents of a deploy file on a list of targets:
pyinfra path/to/target_list.py path/to/deploy.py- Execute commands on locally:
pyinfra @local path/to/deploy.py- Execute commands over Docker:
pyinfra @docker/container path/to/deploy.py


Emilia Clarke's three-word message to Brits ahead of general election
Clarke hopes the seasonal tale and its message will resonate in Brexit Britain, and said it is "vital" to tell the stories of the dispossessed
by James Rodger, https://www.facebook.com/jamesrodgerjournalistEmilia Clarke has said "we can dream" about her latest film influencing the upcoming General Election with a message about Brexit.
Last Christmas follows the fraught life of a refugee in London, whose life is changed during the festive period.
Clarke hopes the seasonal tale and its message will resonate in Brexit Britain, and said it is "vital" to tell the stories of the dispossessed.
The Game Of Thrones star said the message of the movie, co-written by Dame Emma Thompson, is important in the current political climate.
Asked if the message could prove timely ahead of a divisive General Election, she told the PA news agency: "There's a chance, right, there's a chance.
"We can all dream. But we could, we could just do it."
The star spoke at the premiere of Last Christmas at the BFI Southbank in London, where she was joined by director Paul Feig and Dame Emma.
Her co-star and love interest in the film, Henry Golding, also made an appearance on the red carpet.
Clarke, whose character is part of a refugee family from the former Yugoslavia, believes such stories of suffering should be more prominent following the Brexit referendum.
She said: "I think it's hugely important. We don't get to hear this side of the story very often.
"This was an actual human tale where you got to live with that family, and you got to see what that might feel like where you have been brought from your home and placed in another, and just trying to make the best out of it.
"I think it's vital that these stories keep getting told regardless of the outcome."
Dame Emma has been outspoken in her criticism of the decision to leave the EU.
The film is released in cinemas on November 15.


title = "features"
url = "/features"
layout = "default"
is_hidden = 0
==
{% put jumbotron %}
Bootstrap 4
This is a simple Bootstrap 4 template for October CMS
It supports several useful features right out of the box. All you have to do is to put it to work
{% endput %}
Features
- Bootstrap 4
- Bootstrap is the most popular HTML, CSS, and JS framework in the world for building responsive, mobile-first projects on the web.
- http://v4-alpha.getbootstrap.com
- jQuery
- jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
- https://jquery.com
- Font Awesome
- Font Awesome gives you scalable vector icons that can instantly be customized — size, color, drop shadow, and anything that can be done with the power of CSS.
- http://fontawesome.io
- Animate.css
- Just-add-water CSS animations.
- https://daneden.github.io/animate.css
- Wow.js
- Reveal Animations When You Scroll. Very Animate.css Friend :-) Easily customize animation settings: style, delay, length, offset, iterations...
- http://mynameismatthieu.com/WOW
- Holder.js
- Holder renders image placeholders entirely in browser.
- http://holderjs.com
- Plyr
- A simple, accessible and customizable HTML5, YouTube and Vimeo media player.
- https://plyr.io
- Bower updatable
- Everything is updatable with a simple
$ bower update
in the themes root folder.
- https://bower.io


AbstractExtractor.getExtractionExpression()
.HeaderExtractor
, sets AbstractExtractor.extractionExpression
and creates an ArrayList for
AbstractExtractor.result
.HeaderExtractor
HeaderExtractor
with multiple AbstractValidationMethod
.HeaderExtractor
with multiple AbstractValidationMethod
.HtmlXmlXpathExtractorExecutor
for Html and Xml content typesWebResponse
.HttpcodeValidator
and sets HttpcodeValidator.httpcode
.


Comments
-
Greg Hurrell
The standard binary distribution of MacVim, which links against the system Ruby, works well. I've also built MacVim from source (directly, not using homebrew) and that works well too; note that it also links against the system Ruby.
I'd recommend you try one of those configurations, as the further off you get into the weeds, the more likely you are to run into problems. If you figure out how to get things working with your set-up, please do share what you had to do to get it working.
-
Greg Hurrell
Closing due to lack of updates.
-
Greg Hurrell
Status changed:
- From: open
- To: closed
Add a comment
Comments are now closed for this issue.


jqGrid for PHP comes with a large number of predefined language packs and settings for almost all popular languages. They are located in the installation package, in the /js/i18n folder. Language packs are in the form of javascript files, containing definitions for all strings in the grid that can be localized - this includes messages, captions, paging information, search/add/delete dialog labels, etc.
In order to use a particular language pack, you need to include the javascript language pack to the head section of your page, after the jQuery library reference (since language packs depend on jQuery) and before referencing the jqGrid javascript file (since it is dependent on the language pack). A typical setup for English localization would look like this:
... <head> <!-- The jQuery UI theme that will be used by the grid --> <link rel="stylesheet" type="text/css" media="screen" href="/themes/redmond/jquery-ui-1.7.1.custom.css" /> <!-- The jQuery UI theme extension jqGrid needs --> <link rel="stylesheet" type="text/css" media="screen" href="/themes/ui.jqgrid.css" /> <!-- jQuery runtime minified --> <script src="/js/jquery-1.3.2.min.js" type="text/javascript"></script> <!-- The localization file we need, English in this case --> <script src="/js/i18n/grid.locale-en.js" type="text/javascript"></script> <!-- The jqGrid client-side javascript --> <script src="/js/jquery.jqGrid.min.js" type="text/javascript"></script> ... </head> ...
If you want to use the Norwegian localization of jqGrid, just use something along the lines of:
... <head> <!-- The jQuery UI theme that will be used by the grid --> <link rel="stylesheet" type="text/css" media="screen" href="/themes/redmond/jquery-ui-1.7.1.custom.css" /> <!-- The jQuery UI theme extension jqGrid needs --> <link rel="stylesheet" type="text/css" media="screen" href="/themes/ui.jqgrid.css" /> <!-- jQuery runtime minified --> <script src="/js/jquery-1.3.2.min.js" type="text/javascript"></script> <!-- The localization file we need, Norwegian in this case --> <script src="/js/i18n/grid.locale-no.js" type="text/javascript"></script> <!-- The jqGrid client-side javascript --> <script src="/js/jquery.jqGrid.min.js" type="text/javascript"></script> ... </head> ...


This information is for you to learn to the best of your ability, at home with the assistanc of parents/guardians.
For promotion to 9th Kup
(Yellow stripe)
For promotion to 8th Kup
(Yellow belt)
For promotion to 7th Kup
(Green stripe)
For promotion to 6th Kup
(Green belt)
For promotion to 5th Kup
(Blue stripe)
For promotion to 4th Kup
(Blue belt)
For promotion to 3rd Kup
(Red stripe)
For promotion to 2nd Kup
(Red belt)
For promotion to 1st Kup
(Black stripe)
For promotion to 1st Dan
(Black)
Please read this document carefully. It has been prepared to give you a summary of what is expected of the practitioner during his/her training of Taekwon-Do at the MWTA Academy.


The Nobel Prizes: So male?
By Harry Stevens | 9 October, 2017
For over a hundred years, men have dominated the Nobel Prizes. And even as women have entered public life, men continue to win most of the prizes. Why?
The last of 2017’s Nobel Prizes was announced today, with Richard Thaler, the pathbreaking behavioural economist, receiving the prize in economics. He joined 10 other men and one organisation as this year’s batch of laureates. Hover over the dots to learn more about the winners.
The group does not include a single woman. It makes you wonder — is that normal? Let’s go back in time to find out. Scroll
Last year, 11 men won Nobel Prizes. Among them were the Colombian politician Juan Manuel Santos, who negotiated a peace treaty to end his country’s civil war, and the legendary American musician Bob Dylan.
But again, the Nobel judges did not find any women worthy of the prize. There is an old saying: two is a coincidence, three is a trend. So how about the year before? Scroll
In 2015, two women — the Ukranian writer Svetlana Alexievich and the Chinese chemist Youyou Tuwon — won Nobel Prizes. They were joined by eight men and one organisation. Scroll
Let’s do a quick tally: in the last three years, two of the winners have been organisations, two have been women, and 29 have been men.
That's about 6%, 6% and 88%, respectively.
Scroll
If we take a slightly longer view — all winners since the turn of the century — we get similar results: 8 organisations 4%, 19 women 9%, and 189 men 87%. Scroll
Since 1901, the Nobel Prizes have been awarded to 27 organisations 3%, 49 women 5%, and 847 men 92%.
Since 1901, the Nobel Prizes have been awarded to , , and . Due to rounding, the percentages might not add up to 100.
Use the slider to adjust the years. Try to find any span of time in which more women won than men.
To be sure, the brilliant men who have received the Nobel Prize deserved the honour. Still, it’s a wonder that they have not been joined by more women.
One possibility is that women simply do not participate in academia as much as men do. But that explanation is unlikely. The statistician Melanie Kovalchik found that up until the 1970s, women received Nobel Prizes in science roughly in proportion to the number of women who were professional scientists. But as the number of women scientists increased in the following decades, their Nobel Prize wins did not.
The same phenomenon has played out across all six Nobel categories. Even as women have claimed more space for themselves in public life, the Nobel Prize awards have not kept pace.
Perhaps the gender imbalance is reflected in the judges’ genders. Of the 36 judges of this year’s prizes, 27 were men and nine were women. Only in the categories of literature and peace were there an equal number of female and male judges. In economics, all six judges were men.
Of course, there is no guarantee that a male judge will favour male nominees, or that a female judge will favour female ones. But whatever the reason, the Nobel committee has acknowledged the gender gap.
“The panel says they are concerned and they are taking measures to improve the situation,” the Guardian reported. “They think things will improve and hope it will be different in five to ten years time.”
Image credit: Wikipedia. Download the data - Winners 1901-2017 (CSV), Judges 2017 (CSV).


addpart
Tells the Linux kernel about the existence of the specified partition.
The command is a simple wrapper around the `add partition` ioctl.
More information: home page
- Tell the kernel about the existence of the specified partition:
addpart device partition start length


Idle Timer.
Keeps track of transitions between active and idle. This class is built on
top of ActivityMonitor. Whenever an active user becomes idle, this class
dispatches a BECOME_IDLE event. Whenever an idle user becomes active, this
class dispatches a BECOME_ACTIVE event. The amount of inactive time it
takes for a user to be considered idle is specified by the client, and
different instances of this class can all use different thresholds.
Event target that will give notification of state changes between active and
idle. This class is designed to require few resources while the user is
active.


Brutalize elements with some javascript-based effects.
Baffle adds an animated obfuscation effect to any text. Reload page to see effect.
Classes:
.baffle - Baffles once upon page load.
.baffle-longer - Baffles once, but for a longer duration (3 seconds).
.baffle-forever - .baffle-forever - Baffles endlessly.
Fittext makes any text aggressively responsive. Re-size your browser window to see them scale!
.fittext - Best scales text to fit within container.
Brutalist Framework
.fittext-compress - Increases compression.
Brutalist Framework
.fittext-uncompress - Decreases compression.
Brutalist Framework
Warp your text into curves, spirals, circles, and waves! Works best on paragraphs.  It is fully responsive, too!
Equal heights makes boxes the same height within a multi-column layout. In the example below, notice how all 3 column boxes have the same height.
.equal-height
Column One
This box has 2 lines of text
Column Two
This box has several lines of text.
Some small text.
Another small text line.
Column Three
This box has 2 lines of text
Got pride? Add a rainbow color filter to any image! Apply the class .pride to the img tag. To apply to multiple images, simply wrap them within a div with the pride class.
Original Image
.pride
Add a glitch effect to any element! Works on images and text, or even entire areas! It is entirely CSS-based. Apply .glitch class to any element.
Glitched Circle Image
Glitched Paragraph
This is a rather glitchy paragraph. You could even baffle all your firking enemies!
This paragraph has just one glitched word, using the span tag.
Download
Version BETA 3


Ocala events
-
shadows restaurant san francisco
KTM PISTON KITS - JE Pistons - Manufacturers
. DUAL SPORT | SUPERMOTO - Powersports Parts & Performance Service. . JE Pistons KTM 250SXF (05-07) Piston Kit - 249cc / 76mm / 13:1 Compression . JE Pistons KTM 450SX 450SMC 450SMR (03-06) Piston Kit - 449cc / 95mm .
http://www.xrsonly.com/manufacturers/je-pistons/ktm-piston-kitsKTM Motorcycles - Motorcycle USA
Street bikes models include the dual-sport 990 Adventure, 690 supermoto and the high-performance naked Super Duke. KTM took street performance to the .
http://www.motorcycle-usa.com/297/Motorcycles/KTM-Motorcycles.aspx
michael vick home with black walls Upcoming events in Ocala
- Sponsored event
skinniest cat in the world
Apr 6 - Dance It Studio
fowler glass tampa fl kansas guidelines for marital dissolution
mens ruffled shirts chicago Hottest Tickets
-
Apr 11realty one la vegas nv
Amway Center -
Apr 28san diego exhaust hoods
Amway Center -
Jun 25hot wheels collector 917
Bob Carr Performing Arts Center -
Mar 30va geo-thermal heating real estate
Amway Center -
Aug 27how to store blueberreis
Amway Center -
Jun 21euston rail station left luggage
Amway Center -
Sep 13picture of chevrolet nomas 1955
Francis Field -
Mar 17abuse and neglet policy nursing home
St Augustine Amphitheatre -
Oct 8man say super song
Amway Center -
May 4stephen hawkings and carls sagan
Bob Carr Performing Arts Center
Ocala's best venues
-
Headlights: Electrical<PHONE_NUMBER> from POINT VIEW CYCLE
X2 LIGHT. 11. X2 LIGHT. $299.99-$324.99. KTM. View Details (3 Options Available) . BAJA DESIGNS DUAL SPORT KITS FOR KTM. 20 . 2013 KTM 450SX-F .
http://www.pointviewcycle.com/searchResults.htm?t=Headlights:%20Electrical~q=fidaa95zztidaa1606zz~r=~ -
New and Used KTM, American Beta, Husaberg, and Kymco specials ...
All, ATV, Dirt Bikes, Dual Sport, Side x Side, Tools . This is a 2013 85 SX with a 105 kit, Nahilo head,FMF 105 pipe and shorty . 2013 KTM 450 SX-F (KTM) .
http://www.actionmotorsportsktm.com/showcaseproductlist.htm -
KTM Motorcycle Reviews and Tests - Motorcycle USA
Best known for its dirt bikes including enduro, off-road and motocross bikes, KTM has recently expanded into dual-sport, street and sportbike motorcycle .
http://www.motorcycle-usa.com/65/Motorcycles/KTM-Motorcycle-Reviews.aspxpeers and hilton henley on thames
98 people's favorite
-
KTM 450SXF - KTM SX Models - KTM Parts - DIRT BIKE Parts
CV4 Radiator Hose Kit - KTM 450SX-F (2007-2009) . available in RED and GRAY and delivers the legendary logo for your dirt bike and dual sport motorcycle.
http://www.xrsonly.com/dirt-bike-parts/ktm-dirt-bike-parts/ktm-sx-models/ktm-450sxf -
KTM 950 Adventure | Motorcycles | Gumtree Australia Swan Area ...
Mar 8, 2013 . KTM Dual sport adventure tourer with all the extras Includes new pirelli scorpions , akro pipes, oberon slave kit, Hepco Becker luggage and .
http://www.gumtree.com.au/s-ad/bullsbrook/motorcycles/ktm-950-adventure/1015546539


1 write to PipelineVariable
System.Management.Automation (1)
engine\CommonCommandParameters.cs (1)
232
set { _commandRuntime.
PipelineVariable
= value; }
8 references to PipelineVariable
System.Management.Automation (8)
engine\CommonCommandParameters.cs (1)
230
get { return _commandRuntime.
PipelineVariable
; }
engine\MshCommandRuntime.cs (7)
975
if (string.IsNullOrEmpty(this.
PipelineVariable
))
986
_pipelineVarReference = new PSVariable(this.
PipelineVariable
);
991
_pipelineVarReference = _state.PSVariable.Get(this.
PipelineVariable
);
3766
if (this.
PipelineVariable
!= null)
3776
_pipelineVarReference = _state.PSVariable.Get(this.
PipelineVariable
);
3807
if (this.
PipelineVariable
!= null)
3812
_state?.PSVariable.Remove(this.
PipelineVariable
);


Stack
A Stack isn't a stream, but can be used in conjunction with streams, actions, and
transformers to make debugging much easier. Using pushAction
, 'pushState,
pushTransformer, and
pushLog, you can create a log of state changes and
their causes. Calling
dump,
dumpToLog, and
dumpWhen` will give you control
over when to view to stack.
Constructor Summary
| Public Constructor | ||
| public |
constructor(size: number, debug: boolean): Stack constructor - A stack takes a size for the stack and a boolean to determine whether the stack should be enabled on creation. |
Member Summary
| Public Members | ||
| public |
debug: * |
|
| public set |
set size - sets the size of the stack. |
|
| public get |
get size - getter for returning the current size of the stack. |
Method Summary
| Public Methods | ||
| public |
dump(): Immutable.List dump - Returns the stack, removing any undefined items. |
|
| public |
dumpToLog(stateAccessor: array) dumpToLog - When dumpToLog is called, it logs out the current stack to the console, formatting the different types of items in the stack for clarity. |
|
| public |
dumpWhen - adds a test function to the stack that will run whenever new state is added to the stack. |
|
| public |
pushAction(fnName: string, args: object) pushAction - Adds an action to the stack. |
|
| public |
pushLog - Adds a text log to the stack. |
|
| public |
pushState - Adds a state Map to the stack. |
|
| public |
pushTransformer(fnName: string, args: object) pushTransformer - Adds a transformer to the stack. |
Public Constructors
Public Members
public debug: * source
Public Methods
public dump(): Immutable.List source
dump - Returns the stack, removing any undefined items.
Return:
| Immutable.List | the stack. |
public dumpToLog(stateAccessor: array) source
dumpToLog - When dumpToLog is called, it logs out the current stack to the console, formatting the different types of items in the stack for clarity. It takes an optional array for only logging a particular part of the state objects.
Params:
| Name | Type | Attribute | Description |
| stateAccessor | array | takes an array of strings for logging only a certain part of the state |
public dumpWhen(testFn: function, callbackFn: function) source
dumpWhen - adds a test function to the stack that will run whenever new state is added to the stack. The test function takes the state as an argument and returns a boolean. If the test function returns true, it will then run the callback function, passing the current stack as an argument.
public pushLog(text: string) source
pushLog - Adds a text log to the stack.
Params:
| Name | Type | Attribute | Description |
| text | string | The text to be added to the stack. |


Turkey's planned safe zone in n. Syria established
by DAILY SABAH145-km-long, 30-km-deep safe zone has been established in northern Syria, Defense Minister Akar says.
145-km-long, 30-km-deep safe zone has been established in northern Syria, Defense Minister Akar says.


NumPy is a scientific computing package for Python programming language which is highly used when matrices and vectors are involved for computations. Some of the domains where NumPy is used are Deep Learning, Computer Vision, Machine Learning, Image Processing, Data Analytics etc.
In this page, you will find the syntax and most common how to’s of NumPy in Python. This might be useful for python beginners to find syntax and code quickly online in a single page.
Contents
- Check numpy version
- Basic Array Representation
- How to create a numpy array of ones?
- How to create a numpy array of zeros?
- How to create a identity matrix in numpy?
- Math operations in numpy
- How to perform dot product in numpy?
- How to concatenate numpy arrays?
- How to concatenate numpy arrays along particular axis?
- How to compute sum of a matrix?
- How to reshape a numpy array?
- How to flatten a numpy array?
- How to expand the shape of a numpy array?
- How to find unique items in a numpy array?
Check numpy versioncode
1 2 | import numpy as np print np.__version__ # prints "1.11.3" for me |
Basic Array Representationcode
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # create a 3x1 array (datatype="int" chosen by numpy) a = np.array([1,2,3]) print a # prints "[1,2,3]" print a.shape # prints "[3L,]" print type(a) # prints "<type 'numpy.ndarray'>" # create a 3x1 array with datatype "float" b = np.array([1.1,2.2,3.3], dtype="float") print b # prints "[1.1,2.2,3.3]" print b.shape # prints "[3L,]" print type(b) # prints "<type 'numpy.ndarray'>" # accessing elements in the numpy array print a[0] # prints "1" print b[2] # prints "3.3" print type(a[2]) # prints "<type 'numpy.int32'>" print type(b[1]) # prints "<type 'numpy.float64'>" # create a 2x2 array c = np.array([[1,2],[3,4]]) print c # prints "[[1,2],[3,4]]" print c.shape # prints "(2L, 2L)" |
How to create a numpy array of ones?code
1 2 3 4 5 6 7 8 | # create a 2x2 array full of ones (dtype=float64 chosen by numpy) d = np.ones((2,2)) print d # prints "[[ 1. 1.] # [ 1. 1.]]" print d.shape # prints "(2L, 2L)" print type(d) # prints "<type 'numpy.ndarray'>" print type(d[0][0]) # prints "<type 'numpy.float64'>" |
How to create a numpy array of zeros?code
1 2 3 4 5 6 7 8 9 | # create a 3x3 array full of zeros (dtype=float64 by default) e = np.zeros((3,3)) print e # prints "[[ 0. 0. 0.] # [ 0. 0. 0.] # [ 0. 0. 0.]]" print e.shape # prints "(3L, 3L)" print type(e) # prints "<type 'numpy.ndarray'>" print type(e[0][0]) # prints "<type 'numpy.float64'>" |
How to create a numpy array of random values?code
1 2 3 4 5 6 | # create a 2x2 matrix with random values f = np.random.random((2,2)) print f # prints "[[ 0.65155439 0.39628659] # [ 0.33349215 0.03323669]]" for me print f.shape # prints (2L, 2L) |
How to create a identity matrix in numpy?code
1 2 3 4 5 6 | # create an identity matrix of order 3 g = np.eye(3) print g # prints "[[ 100. 100.] # [ 100. 100.]]" print g.shape # prints (2L, 2L) |
How to create a numpy array with a identical values?code
1 2 3 4 5 6 | # create a 2x2 constant matrix of value "100" in each cell (dtype=float64 by default) h = np.full((2,2), 100) print h # prints "[[ 100. 100.] # [ 100. 100.]]" print h.shape # prints (2L, 2L) |
Math operations in numpycode
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # create two 2x2 matrices a = np.array([[2,2],[2,2]]) b = np.array([[2,2],[2,2]]) # element-wise addition add = a + b print add # prints "[[4 4] print np.add(a,b) # [4 4]]" # element-wise subtraction sub = a - b print sub # prints "[[0 0] print np.subtract(a,b) # [0 0]]" # element-wise multiplication mul = a * b print mul # prints "[[4 4] print np.multiply(a,b) # [4 4]]" # element-wise division div = a / b print div # prints "[[1 1] print np.divide(a,b) # [1 1]]" |
How to perform dot product in numpy?code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # create a matrix and a vector W = np.random.random((3,3)) x = np.array([1,2,3]) print W # prints "[[ 0.3342051 0.87642564 0.35777489] # [ 0.24531674 0.36355452 0.39563227] # [ 0.83769694 0.7987359 0.97012682]]" print x # print "[1 2 3]" print W.shape # prints "(3L, 3L)" print x.shape # prints "(3L,)" # take dot product between matrix and vector inner = np.dot(W,x) print inner # prints "[ 3.16038104 2.15932259 5.34554919]" print inner.shape # prints "(3L,)" |
How to concatenate numpy arrays?code
1 2 3 4 5 6 7 8 9 10 11 12 | # create two arrays v1 = np.array([1,2,3]) v2 = np.array([4,5,6]) print v1.shape # prints "(3L,)" print v2.shape # prints "(3L,)" # concatenate arrays concat = np.concatenate((v1, v2)) # note that arrays must be passed as tuples print concat # prints "[1 2 3 4 5 6]" print concat.shape # prints "(6L,)" |
How to concatenate numpy arrays along particular axis?code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # create two matrices v3 = np.array([[1,2,3],[4,5,6]]) v4 = np.array([[40,40,40],[50,50,50]]) print v3.shape # prints "(2L,3L)" print v4.shape # prints "(2L,3L)" # concatenate arrays along different axis concat_0 = np.concatenate((v3, v4), axis=0) # concatenate along axis=1 concat_1 = np.concatenate((v3, v4), axis=1) # concatenate along axis=1 # vertical stack : same as np.concatenate with axis=0 v_stack = np.vstack((v3,v4)) # horizontal stack : same as np.concatenate with axis=1 h_stack = np.hstack((v3,v4)) print concat_0 # prints "[[ 1 2 3] print v_stack # [ 4 5 6] # [40 40 40] # [50 50 50]]" print concat_0.shape # prints "(4L, 3L)" print concat_1 # prints "[[ 1 2 3 40 40 40] print h_stack # [ 4 5 6 50 50 50]]" print concat_1.shape # prints "(2L, 6L)" |
How to find transpose of a matrix in numpy?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # create a 2x3 matrix m = np.random.random((2,3)) # take the transpose of matrix mT = m.T print m # prints "[[ 0.91066068 0.43176095 0.3599931 ] # [ 0.3701366 0.26224812 0.76553986]]" print mT # prints "[[ 0.91066068 0.3701366 ] # [ 0.43176095 0.26224812] # [ 0.3599931 0.76553986]]" print m.shape # prints "(2L, 3L)" print mT.shape # prints "(3L, 2L)" |
How to compute sum of a matrix?code
1 2 3 4 5 6 7 | # create a 2x3 matrix p = np.array([[10,20,30],[40,50,60]]) print p.shape # prints "(2L, 3L)" print np.sum(p) # prints "210" print np.sum(p, axis=0) # sum of each column: prints "[50 70 90]" print np.sum(p, axis=1) # sum of each row : prints "[60 150]" |
How to reshape a numpy array?code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import numpy as np # create a 2x3 array a = np.array([[1,1,1],[2,2,2]]) print a # prints "[[1 1 1] # [2 2 2]]" print a.shape # prints "(2, 3)" # make 2x3 array to 6x1 array b = np.reshape(a, 6) print b # prints "[1 1 1 2 2 2]" print b.shape # prints "(6,)" # make 6x1 array to 3x2 array c = np.reshape(b, (3,2)) print c # prints "[[1 1] # [1 2] # [2 2]]" print c.shape # "(3, 2)" |
How to flatten a numpy array?code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # create a 3x3 array c = np.array([[1,2,3],[4,5,6],[7,8,9]]) print c # prints "[[1 2 3] # [4 5 6] # [7 8 9]]" print c.shape # prints "(3, 3)" # flatten the input array d = np.ravel(c) e = c.flatten() print d # prints "[1 2 3 4 5 6 7 8 9]" print e # prints "[1 2 3 4 5 6 7 8 9]" # you can use order to specify how the array needs to be flattened # order='F' --> To index elements in column major # order='C' --> To index elements in row major print np.ravel(c, order='F') # prints "[1 4 7 2 5 8 3 6 9]" print np.ravel(c, order='C') # prints "[1 2 3 4 5 6 7 8 9]" |
How to expand the shape of a numpy array?code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # create an array with 3 elements a = np.array([500,200,100]) print a # print "[500 200 100]" print a.shape # print "(3,)" # insert a new axis along the row b = np.expand_dims(a, axis=0) # insert a new axis along the column c = np.expand_dims(a, axis=1) print b # prints "[[500 200 100]]" print b.shape # prints "(1, 3)" print c # prints "[[500] # [200] # [100]]" print c.shape # prints "(3, 1)" |
How to find unique items in a numpy array?code
1 2 3 4 5 6 7 8 9 10 11 | # create an array with 5 elements m = np.array([1,2,1,1,4]) print m # prints "[1 2 1 1 4]" print m.shape # prints "(5,)" # get the unique elements and thier indexes n, indices = np.unique(m, return_index=True) print n # prints "[1 2 4]" print indices # prints "[0 1 4]" |
In case if you found something useful to add to this article or you found a bug in the code or would like to improve some points mentioned, feel free to write it down in the comments. Hope you found something useful here.
Happy learning!


Class constructor
Constructor for Container
CF_Container
__construct
( &$cfs_auth, &$cfs_http, string $name, [int $count = 0], [int $bytes = 0], [ $docdn = True], obj $cfs_auth, obj $cfs_http)
-
obj
$cfs_auth: CF_Authentication instance
-
obj
$cfs_http: HTTP connection manager
-
string
$name: name of Container
-
int
$count: number of Objects stored in this Container
-
int
$bytes: number of bytes stored in this Container
-
&$cfs_auth
-
&$cfs_http
-
$docdn
Enable ACL restriction by referer for this container.
Example:
# ... authentication code excluded (see previous examples) ...
#
$public_container = $conn->get_container("public");
# Enable Referrer
$public_container->acl_referrer("http://www.example.com/gallery.php");
boolean
acl_referrer
([ $cdn_acl_referrer = ""])
Enable ACL restriction by User Agent for this container.
Example:
# ... authentication code excluded (see previous examples) ...
#
$public_container = $conn->get_container("public");
# Enable ACL by Referrer
boolean
acl_user_agent
([ $cdn_acl_user_agent = ""])
Create a new remote storage Object
Return a new Object instance. If the remote storage Object exists, the instance's attributes are populated.
Example:
# ... authentication code excluded (see previous examples) ...
#
$public_container = $conn->get_container("public");
# This creates a local instance of a storage object but only creates
# it in the storage system when the object's write() method is called.
#
obj
create_object
([string $obj_name = NULL])
-
string
$obj_name: name of storage Object
Helper function to create "path" elements for a given Object name
Given an Object whos name contains '/' path separators, this function will create the "directory marker" Objects of one byte with the Content-Type of "application/folder".
It assumes the last element of the full path is the "real" Object and does NOT create a remote storage Object for that last element.
void
create_paths
( $path_name)
Delete a remote storage Object
Given an Object instance or name, permanently remove the remote Object and all associated metadata.
Example:
# ... authentication code excluded (see previous examples) ...
#
$images = $conn->get_container("my photos");
# Delete specific object
#
boolean
delete_object
(obj $obj)
-
obj
$obj: name or instance of Object to delete
Return an Object instance for the remote storage Object
Given a name, return a Object instance representing the remote storage object.
Example:
# ... authentication code excluded (see previous examples) ...
#
$public_container = $conn->get_container("public");
# This call only fetches header information and not the content of
# the storage object. Use the Object's read() or stream() methods
# to obtain the object's data.
#
obj
get_object
([string $obj_name = NULL])
-
string
$obj_name: name of storage Object
Return an array of Objects
Return an array of Object instances in this Container.
Example:
# ... authentication code excluded (see previous examples) ...
#
$images = $conn->get_container("my photos");
# Grab the list of all storage objects
#
# Grab subsets of all storage objects
#
# Note the use of the previous result's last object name being
# used as the 'marker' parameter to fetch the next 10 objects
#
# Grab images starting with "birthday_party" and default limit/marker
# to match all photos with that prefix
#
# Assuming you have created the appropriate directory marker Objects,
# you can traverse your pseudo-hierarchical containers
# with the "path" argument.
#
$animals =
$images->get_objects(0,NULL,NULL,"pictures/animals");
$dogs =
$images->get_objects(0,NULL,NULL,"pictures/animals/dogs");
array
get_objects
([int $limit = 0], [int $marker = NULL], [string $prefix = NULL], [string $path = NULL])
-
int
$limit: optional only return $limit names
-
int
$marker: optional subset of names starting at $marker
-
string
$prefix: optional Objects whose names begin with $prefix
-
string
$path: optional only return results under "pathname"
Check if this Container is being publicly served via CDN
Use this method to determine if the Container's content is currently available through the CDN.
Example:
# ... authentication code excluded (see previous examples) ...
#
$public_container = $conn->get_container("public");
# Display CDN accessability
#
$public_container->is_public() ? print
"Yes" : print
"No";
boolean
is_public
()
Return a list of Objects
Return an array of strings listing the Object names in this Container.
Example:
# ... authentication code excluded (see previous examples) ...
#
$images = $conn->get_container("my photos");
# Grab the list of all storage objects
#
# Grab subsets of all storage objects
#
# Note the use of the previous result's last object name being
# used as the 'marker' parameter to fetch the next 10 objects
#
# Grab images starting with "birthday_party" and default limit/marker
# to match all photos with that prefix
#
# Assuming you have created the appropriate directory marker Objects,
# you can traverse your pseudo-hierarchical containers
# with the "path" argument.
#
$animals =
$images->list_objects(0,NULL,NULL,"pictures/animals");
$dogs =
$images->list_objects(0,NULL,NULL,"pictures/animals/dogs");
array
list_objects
([int $limit = 0], [int $marker = NULL], [string $prefix = NULL], [string $path = NULL])
-
int
$limit: optional only return $limit names
-
int
$marker: optional subset of names starting at $marker
-
string
$prefix: optional Objects whose names begin with $prefix
-
string
$path: optional only return results under "pathname"
Enable log retention for this CDN container.
Enable CDN log retention on the container. If enabled logs will be periodically (at unpredictable intervals) compressed and uploaded to a ".CDN_ACCESS_LOGS" container in the form of "container_name.YYYYMMDDHH-XXXX.gz". Requires CDN be enabled on the account.
Example:
# ... authentication code excluded (see previous examples) ...
#
$public_container = $conn->get_container("public");
# Enable logs retention.
boolean
log_retention
([ $cdn_log_retention = False])
Disable the CDN sharing for this container
Use this method to disallow distribution into the CDN of this Container's content.
NOTE: Any content already cached in the CDN will continue to be served from its cache until the TTL expiration transpires. The default TTL is typically one day, so "privatizing" the Container will take up to 24 hours before the content is purged from the CDN cache.
Example:
# ... authentication code excluded (see previous examples) ...
#
$public_container = $conn->get_container("public");
# Disable CDN accessability
# ... still cached up to a month based on previous example
#
boolean
make_private
()
Enable Container content to be served via CDN or modify CDN attributes
Either enable this Container's content to be served via CDN or adjust its CDN attributes. This Container will always return the same CDN-enabled URI each time it is toggled public/private/public.
Example:
# ... authentication code excluded (see previous examples) ...
#
$public_container = $conn->create_container("public");
# CDN-enable the container and set it's TTL for a month
#
$public_container->make_public(86400/
2); # 12 hours (86400 seconds/day)
string
make_public
([int $ttl = 86400])
-
int
$ttl: the time in seconds content will be cached in the CDN
String representation of Container
Pretty print the Container instance.
string
__toString
()


Below you will find a tutorial to guide you through configuring a web server on your local computer with the use of docker. Now follow the instructions below.
Step 1 - Install apache2After following the steps in Linux type in the command below
$ apt- get install apache2
Step 2 - Install the vim text editor
Use the command below to be able to access the vim text editor
$ apt- get install vim
Step 3 - Exit the Ubuntu container
You can exit the ubuntu container by use the command "exit"
Step 4 - Commit the container to create a new containerUse the command below
$ docker pa -a
Create a new docker image with the command mentioned below and check if they are created with "docker images"
$ docker commit 4b9403fc31fc ubuntu-my_apache2
Step 5 - Share Data between Docker & Host
Use the command below which will connect to the direcory of the host computuer and "var/www/htm" is default location for the entry webpage.
$ dockerrun-it-p<IP_ADDRESS>:80:80-v C:/Docker_tutorial/local_dir:/var/www/htmlubuntu-my_apache2/bin/bash
Step 6 - VI Editor in UNIX
Create an index.html file the the syntax ""vi index.html" press i and insert the syxtax you want on your webpage. This step will should look like the below screenshots.
Step 7 - How to use Docker to host a websiteInside your Docker contain, use the command below so you can run an apache server on ubuntu.
$ /etc/init.d/apache2restart
Using a browser of your host computer, type in "<IP_ADDRESS>" and you'll be able to see your website.


WITNESS LIST Appropriations-S/C on General Government Committee February 23, 1999-8:00A Budget On: Calem, William (Texas Ethics Commission) Doebner, Thomas (Texas Department of Transportation) Heald, Charles (Texas Department of Transportation) Laney, David (Texas Department of Transportation) Pyka, Kathy (Railroad Commission) Sansom, Andrew (Texas Parks and Wildlife) Soward, Larry (General Land Office)


Margin, Border, & Padding: The Differences in CSS
April 19th, 2015
While building my site over the last few days, I've had quite a bit of experience working with CSS. It is a powerful, effective way to manipulate objects (text, boxes, images, or whatever) on a page. In CSS, you can add attributes to objects that can change the Margin, Padding, and Border of objects.
As you can see in the above image, the margin is the area outside of the actual object. You can increase the margins to keep objects farther away from each other. If you look at the button below, the margin is the beige space between the button and the rest of the page. All the dimensions (top, bottom, left, and right) of the margin can be changed together or separately in CSS.
Next, the border is the black line between the beige background and the white interior of the button. This line can be dotted or solid, in any color, and have any desired thickness. All these settings can be changed in CSS.
Finally, the padding is the space within the border. This is the white space between the text and the border in the button. You can adjust the dimensions of this in CSS to make the space between the border and the object larger.


Comments
#
# Foobar
Strings and csets
""
"Foo\"bar"
''
'a\'bcdefg'
Numbers
42
3.14159
5.2E+8
16rface
2r1101
Full example
# Author: Robert J. Alexander
global GameObject, Tree, Learn
record Question(question, yes, no)
procedure main()
GameObject := "animal"
Tree := Question("Does it live in water", "goldfish", "canary")
Get() # Recall prior knowledge
Game() # Play a game
return
end
# Game() -- Conducts a game.
#
procedure Game()
while Confirm("Are you thinking of ", Article(GameObject), " ",
GameObject) do Ask(Tree)
write("Thanks for a great game.")
if \Learn &Confirm("Want to save knowledge learned this session")
then Save()
return
end
# Confirm() -- Handles yes/no questions and answers.
#
procedure Confirm(q[])
local answer, s
static ok
initial {
ok := table()
every ok["y" | "yes" | "yeah" | "uh huh"] := "yes"
every ok["n" | "no" | "nope" | "uh uh" ] := "no"
}
while /answer do {
every writes(!q)
write("?")
case s := read() | exit(1) of {
# Commands recognized at a yes/no prompt.
#
"save": Save()
"get": Get()
"list": List()
"dump": Output(Tree)
default: {
(answer := \ok[map(s, &ucase, &lcase)]) |
write("This is a \"yes\" or \"no\" question.")
}
}
}
return answer == "yes"
end
# Ask() -- Navigates through the barrage of questions leading to a
# guess.
#
procedure Ask(node)
local guess, question
case type(node) of {
"string": {
if not Confirm("It must be ", Article(node), " ", node, ", right") then {
Learn := "yes"
write("What were you thinking of?")
guess := read() | exit(1)
write("What question would distinguish ", Article(guess), " ",
guess, " from ", Article(node), " ", node, "?")
question := read() | exit(1)
if question[-1] == "?" then question[-1] := ""
question[1] := map(question[1], &lcase, &ucase)
if Confirm("For ", Article(guess), " ", guess, ", what would the answer be")
then return Question(question, guess, node)
else return Question(question, node, guess)
}
}
"Question": {
if Confirm(node.question) then node.yes := Ask(node.yes)
else node.no := Ask(node.no)
}
}
end
# Article() -- Come up with the appropriate indefinite article.
#
procedure Article(word)
return if any('aeiouAEIOU', word) then "an" else "a"
end
# Save() -- Store our acquired knowledge in a disk file name
# based on the GameObject.
#
procedure Save()
local f
f := open(GameObject || "s", "w")
Output(Tree, f)
close(f)
return
end
# Output() -- Recursive procedure used to output the knowledge tree.
#
procedure Output(node, f, sense)
static indent
initial indent := 0
/f := &output
/sense := " "
case type(node) of {
"string": write(f, repl(" ", indent), sense, "A: ", node)
"Question": {
write(f, repl(" ", indent), sense, "Q: ", node.question)
indent +:= 1
Output(node.yes, f, "y")
Output(node.no, f, "n")
indent -:= 1
}
}
return
end
# Get() -- Read in a knowledge base from a file.
#
procedure Get()
local f
f := open(GameObject || "s", "r") | fail
Tree := Input(f)
close(f)
return
end
# Input() -- Recursive procedure used to input the knowledge tree.
#
procedure Input(f)
local nodetype, s
read(f) ? (tab(upto(~' \t')) & =("y" | "n" | "") &
nodetype := move(1) & move(2) & s := tab(0))
return if nodetype == "Q" then Question(s, Input(f), Input(f)) else s
end
# List() -- Lists the objects in the knowledge base.
#
$define Length 78
procedure List()
local lst, line, item
lst := Show(Tree, [ ])
line := ""
every item := !sort(lst) do {
if *line + *item > Length then {
write(trim(line))
line := ""
}
line ||:= item || ", "
}
write(line[1:-2])
return
end
#
# Show() -- Recursive procedure used to navigate the knowledge tree.
#
procedure Show(node, lst)
if type(node) == "Question" then {
lst := Show(node.yes, lst)
lst := Show(node.no, lst)
}
else put(lst, node)
return lst
end


#test-script-1 Meeting
Meeting started by MrBeige at 20:13:46 UTC
(full logs).
Meeting summary
-
- this command is just before the first
topic (T-Rex, 20:13:50)
- General command tests (MrBeige, 20:13:50)
- ACCEPTED: we will include this new format if we so
choose. (MrBeige, 20:13:50)
- REJECTED: we will not include this new format. (MrBeige,
20:13:50)
- Test of all commands with different arguments (MrBeige, 20:13:50)
- (MrBeige, 20:13:50)
- IDEA: (MrBeige,
20:13:50)
- (MrBeige, 20:13:50)
- ACTION: (MrBeige,
20:13:50)
- AGREED: (MrBeige,
20:13:50)
- HELP: (MrBeige,
20:13:50)
- ACCEPTED: (MrBeige, 20:13:50)
- REJECTED: (MrBeige, 20:13:50)
- Commands with non-ascii (MrBeige, 20:13:50)
- üáç€ (MrBeige, 20:13:50)
- IDEA: üáç€ (MrBeige,
20:13:50)
- üáç€ (MrBeige, 20:13:50)
- ACTION: üáç€
(MrBeige, 20:13:50)
- AGREED: üáç€
(MrBeige, 20:13:50)
- HELP: üáç€ (MrBeige,
20:13:50)
- ACCEPTED: üáç€ (MrBeige, 20:13:50)
- REJECTED: üáç€ (MrBeige, 20:13:50)
- IDEA: blah (MrBeige,
20:13:50)
- ACTION: blah
(MrBeige, 20:13:50)
- AGREED: blah
(Utahraptor, 20:13:50)
- Escapes (MrBeige, 20:13:50)
- IDEA: blah_ blah_ ReST
link reference... (Utahraptor, 20:13:50)
- IDEA: blah blah
blah (ReST1_, 20:13:50)
- IDEA: under_score (ReST2_, 20:13:50)
- IDEA: under_score (Re_ST, 20:13:50)
- IDEA: under1_1score (Re_ST, 20:13:50)
- IDEA: under1_score (Re_ST, 20:13:50)
- IDEA: under_1score (Re_ST, 20:13:50)
- IDEA: under-_score (Re_ST, 20:13:50)
- IDEA: under_-score (Re_ST, 20:13:50)
- Links (MrBeige, 20:13:50)
- http://test<b>.zgib.net
(Utahraptor, 20:13:50)
- ftp://test<b>.zgib.net
" (Utahraptor, 20:13:50)
-<EMAIL_ADDRESS>(Utahraptor, 20:13:50)
- http://test.zgib.net/&testpage
(Utahraptor, 20:13:50)
- prefix http://test.zgib.net/&testpage
suffix (Utahraptor, 20:13:50)
- prefix ftp://test.zg"ib.net/&testpage
suffix (Utahraptor, 20:13:50)
- prefix<EMAIL_ADDRESS>suffix (Utahraptor, 20:13:50)
- prefix http://google.com/. suffix
(Utahraptor, 20:13:50)
- prefix (http://google.com/)
suffix (Utahraptor, 20:13:50)
- Character sets (MrBeige, 20:13:50)
- IDEA: Nick with
accents. (Üţáhraptõr, 20:13:50)
Meeting ended at 20:13:52 UTC
(full logs).
Action items
- üáç€
- blah
People present (lines said)
- MrBeige (35)
- Utahraptor (13)
- Re_ST (6)
- T-Rex (5)
- ReST2_ (2)
- Üţáhraptõr (2)
- ReST1_ (1)
- áccents (0)
- not-here (0)
- ** (0)
- áccenẗs (0)
- someone-not-present (0)
- <b> (0)
Generated by MeetBot 0.1.4.


curl_multi_setopt - set options for a curl multi handle
NAME
curl_multi_setopt - set options for a curl multi handle
SYNOPSIS
#include <curl/curl.h>
CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param);
DESCRIPTION
curl_multi_setopt is used to tell a libcurl multi handle how to behave. By using the appropriate options to curl_multi_setopt, you can change libcurl's behaviour when using that multi handle. All options are set with the option followed by the parameter param. That parameter can be a long, a function pointer, an object pointer or a curl_off_t type, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call.
OPTIONS
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE
See CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE
See CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE
See CURLMOPT_MAX_HOST_CONNECTIONS
See CURLMOPT_MAX_PIPELINE_LENGTH
CURLMOPT_MAX_TOTAL_CONNECTIONS
See CURLMOPT_MAX_TOTAL_CONNECTIONS
See CURLMOPT_PIPELINING_SITE_BL
See CURLMOPT_PIPELINING_SERVER_BL
RETURNS
The standard CURLMcode for multi interface error codes. Note that it returns a CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl doesn't know of.
AVAILABILITY
This function was added in libcurl 7.15.4.
SEE ALSO
curl_multi_cleanup, curl_multi_init, curl_multi_socket, curl_multi_info_read
This HTML page was made with roffit.


| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file Cache/Basic.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Iface.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Bridge.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Cisco.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Extreme.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Asterisk/Indications.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Asterisk/Channels.php |
| error | 798 | No DocBlock was found for property $CHANNEL_STATES |
| error | 1108 | No DocBlock was found for property $CHANNEL_AMA_FLAGS |
| error | 1170 | No DocBlock was found for property $CHANNEL_ADSIs |
| error | 1280 | No DocBlock was found for property $CHANNEL_HANGUP_CAUSES |
| error | 1444 | No DocBlock was found for property $CHANNEL_TRANSFER_CAPABILITIES |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Entity.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/System.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/MRV/System.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Asterisk.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Extreme/Vlan.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Cisco/CDP.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Cisco/MST.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Cisco/VTP.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Cisco/RSTP.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file MIBS/Cisco/SMST.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file Cache.php |
| error | 51 | No DocBlock was found for method save() |
| error | 52 | No DocBlock was found for method load() |
| error | 53 | No DocBlock was found for method clear() |
| error | 54 | No DocBlock was found for method clearAll() |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file Platform.php |
| error | 107 | No DocBlock was found for method parse() |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file Timer.php |
| critical | 46 | No short description for property $_start |
| error | 52 | No DocBlock was found for method start() |
| error | 57 | No DocBlock was found for method end() |
| error | 62 | No DocBlock was found for method time() |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file SNMP.php |
| error | 740 | No DocBlock was found for method getPlatform() |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file Platforms/vendor_extreme.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file Platforms/vendor_netgear.php |
| Type | Line | Description |
|---|---|---|
| error | 0 | No page-level DocBlock was found in file Platforms/vendor_brocade.php |


{% extends 'templates/nhs_transaction_layout.html' %} {% block pageTitle %}NHS.UK prototyping kit{% endblock %} {% block content %} Item 2 from prescription 3432212 What did you dispense? Complete the missing information Drug name Carmellose Presentation Eye drops Supplier/manufacturer Strength 0.5% Number of items Pack size Pack price Submit NHS Patient Number: 83293293 Prescribed item Carmellose 0.5% eye drops 20 {% endblock %}
Complete the missing information
Drug name
Presentation
Supplier/manufacturer
Strength
Number of items
Pack size
Pack price
Submit
NHS Patient Number: 83293293