git-blame - Show what revision and author last modified each line of a file
git blame [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--incremental]
[-L <range>] [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>]
[--abbrev=<n>] [<rev> | --contents <file> | --reverse <rev>] [--] <file>
Annotates each line in the given file with information from the revision which last modified the line. Optionally, start annotating from the given revision.
When specified one or more times, -L restricts annotation to the requested lines.
The origin of lines is automatically followed across whole-file renames (currently there is no option to turn the rename-following off). To follow lines moved from one file to another, or to follow lines that were copied and pasted from another file, etc., see the -C and -M options.
The report does not tell you anything about lines which have been deleted or replaced; you need to use a tool such as git diff or the "pickaxe" interface briefly mentioned in the following paragraph.
Apart from supporting file annotation, Git also supports searching the development history for when a code snippet occurred in a change. This makes it possible to track when a code snippet was added to a file, moved or copied between files, and eventually deleted or replaced. It works by searching for a text string in the diff. A small example of the pickaxe interface that searches for blame_usage:
$ git log --pretty=oneline -S*(Aqblame_usage*(Aq 5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file> ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output
-b
Show blank SHA-1 for boundary commits. This can also be controlled via the blame.blankboundary config option.
--root
Do not treat root commits as boundaries. This can also be controlled via the blame.showroot config option.
--show-stats
Include additional statistics at the end of blame output.
-L <start>,<end>, -L :<regex>
Annotate only the given line range. May be specified multiple times. Overlapping ranges are allowed.
<start> and <end> are optional. (lq-L <start>(rq or (lq-L <start>,(rq spans from <start> to end of file. (lq-L ,<end>(rq spans from start of file to <end>.
<start> and <end> can take one of these forms:
h'-04'(buh'+03'c
number
If <start> or <end> is a number, it specifies an absolute line number (lines count from 1).
h'-04'(buh'+03'c
/regex/
This form will use the first line matching the given POSIX regex. If <start> is a regex, it will search from the end of the previous -L range, if any, otherwise from the start of file. If <start> is (lq^/regex/(rq, it will search from the start of file. If <end> is a regex, it will search starting at the line given by <start>.
h'-04'(buh'+03'c
+offset or -offset
This is only valid for <end> and will specify a number of lines before or after the line given by <start>.
If (lq:<regex>(rq is given in place of <start> and <end>, it denotes the range from the first funcname line that matches <regex>, up to the next funcname line. (lq:<regex>(rq searches from the end of the previous -L range, if any, otherwise from the start of file. (lq^:<regex>(rq searches from the start of file.
-l
Show long rev (Default: off).
-t
Show raw timestamp (Default: off).
-S <revs-file>
Use revisions from revs-file instead of calling git-rev-list(1).
--reverse
Walk history forward instead of backward. Instead of showing the revision in which a line appeared, this shows the last revision in which a line has existed. This requires a range of revision like START..END where the path to blame exists in START.
-p, --porcelain
Show in a format designed for machine consumption.
--line-porcelain
Show the porcelain format, but output commit information for each line, not just the first time a commit is referenced. Implies --porcelain.
--incremental
Show the result incrementally in a format designed for machine consumption.
--encoding=<encoding>
Specifies the encoding used to output author names and commit summaries. Setting it to none makes blame output unconverted data. For more information see the discussion about encoding in the git-log(1) manual page.
--contents <file>
When <rev> is not specified, the command annotates the changes starting backwards from the working tree copy. This flag makes the command pretend as if the working tree copy has the contents of the named file (specify - to make the command read from the standard input).
--date <format>
The value is one of the following alternatives: {relative,local,default,iso,rfc,short}. If --date is not provided, the value of the blame.date config variable is used. If the blame.date config variable is also not set, the iso format is used. For more information, See the discussion of the --date option at git-log(1).
-M|<num>|
Detect moved or copied lines within a file. When a commit moves or copies a block of lines (e.g. the original file has A and then B, and the commit changes it to B and then A), the traditional blame algorithm notices only half of the movement and typically blames the lines that were moved up (i.e. B) to the parent and assigns blame to the lines that were moved down (i.e. A) to the child commit. With this option, both groups of lines are blamed on the parent by running extra passes of inspection.
<num> is optional but it is the lower bound on the number of alphanumeric characters that Git must detect as moving/copying within a file for it to associate those lines with the parent commit. The default value is 20.
-C|<num>|
In addition to -M, detect lines moved or copied from other files that were modified in the same commit. This is useful when you reorganize your program and move code around across files. When this option is given twice, the command additionally looks for copies from other files in the commit that creates the file. When this option is given three times, the command additionally looks for copies from other files in any commit.
<num> is optional but it is the lower bound on the number of alphanumeric characters that Git must detect as moving/copying between files for it to associate those lines with the parent commit. And the default value is 40. If there are more than one -C options given, the <num> argument of the last -C will take effect.
-h
Show help message.
-c
Use the same output mode as git-annotate(1) (Default: off).
--score-debug
Include debugging information related to the movement of lines between files (see -C) and lines moved within a file (see -M). The first number listed is the score. This is the number of alphanumeric characters detected as having been moved between or within files. This must be above a certain threshold for git blame to consider those lines of code to have been moved.
-f, --show-name
Show the filename in the original commit. By default the filename is shown if there is any line that came from a file with a different name, due to rename detection.
-n, --show-number
Show the line number in the original commit (Default: off).
-s
Suppress the author name and timestamp from the output.
-e, --show-email
Show the author email instead of author name (Default: off).
-w
Ignore whitespace when comparing the parent(cqs version and the child(cqs to find where the lines came from.
--abbrev=<n>
Instead of using the default 7+1 hexadecimal digits as the abbreviated object name, use <n>+1 digits. Note that 1 column is used for a caret to mark the boundary commit.
In this format, each line is output after a header; the header at the minimum has the first line which has:
h'-04'(buh'+03'c
40-byte SHA-1 of the commit the line is attributed to;
h'-04'(buh'+03'c
the line number of the line in the original file;
h'-04'(buh'+03'c
the line number of the line in the final file;
h'-04'(buh'+03'c
on a line that starts a group of lines from a different commit than the previous one, the number of lines in this group. On subsequent lines this field is absent.
This header line is followed by the following information at least once for each commit:
h'-04'(buh'+03'c
the author name ("author"), email ("author-mail"), time ("author-time"), and time zone ("author-tz"); similarly for committer.
h'-04'(buh'+03'c
the filename in the commit that the line is attributed to.
h'-04'(buh'+03'c
the first line of the commit log message ("summary").
The contents of the actual line is output after the above header, prefixed by a TAB. This is to allow adding more header elements later.
The porcelain format generally suppresses commit information that has already been seen. For example, two lines that are blamed to the same commit will both be shown, but the details for that commit will be shown only once. This is more efficient, but may require more state be kept by the reader. The --line-porcelain option can be used to output full commit information for each line, allowing simpler (but less efficient) usage like:
# count the number of lines attributed to each author git blame --line-porcelain file | sed -n *(Aqs/^author //p*(Aq | sort | uniq -c | sort -rn
Unlike git blame and git annotate in older versions of git, the extent of the annotation can be limited to both line ranges and revision ranges. The -L option, which limits annotation to a range of lines, may be specified multiple times.
When you are interested in finding the origin for lines 40-60 for file foo, you can use the -L option like so (they mean the same thing (em both ask for 21 lines starting at line 40):
git blame -L 40,60 foo git blame -L 40,+21 foo
Also you can use a regular expression to specify the line range:
git blame -L *(Aq/^sub hello {/,/^}$/*(Aq foo
which limits the annotation to the body of the hello subroutine.
When you are not interested in changes older than version v2.6.18, or changes older than 3 weeks, you can use revision range specifiers similar to git rev-list:
git blame v2.6.18.. -- foo git blame --since=3.weeks -- foo
When revision range specifiers are used to limit the annotation, lines that have not changed since the range boundary (either the commit v2.6.18 or the most recent commit that is more than 3 weeks old in the above example) are blamed for that range boundary commit.
A particularly useful way is to see if an added file has lines created by copy-and-paste from existing files. Sometimes this indicates that the developer was being sloppy and did not refactor the code properly. You can first find the commit that introduced the file with:
git log --diff-filter=A --pretty=short -- foo
and then annotate the change between the commit and its parents, using commit^! notation:
git blame -C -C -f $commit^! -- foo
When called with --incremental option, the command outputs the result as it is built. The output generally will talk about lines touched by more recent commits first (i.e. the lines will be annotated out of order) and is meant to be used by interactive viewers.
The output format is similar to the Porcelain format, but it does not contain the actual lines from the file that is being annotated.
h'-04' 1.h'+01'c
Each blame entry always starts with a line of:
<40-byte hex sha1> <sourceline> <resultline> <num_lines>
Line numbers count from 1.
h'-04' 2.h'+01'c
The first time that a commit shows up in the stream, it has various other information about it printed out with a one-word tag at the beginning of each line describing the extra commit information (author, email, committer, dates, summary, etc.).
h'-04' 3.h'+01'c
Unlike the Porcelain format, the filename information is always given and terminates the entry:
"filename" <whitespace-quoted-filename-goes-here>
and thus it is really quite easy to parse for some line- and word-oriented parser (which should be quite natural for most scripting languages).
Note
For people who do parsing: to make it more robust, just ignore any lines between the first and last one ("<sha1>" and "filename" lines) where you do not recognize the tag words (or care about that particular one) at the beginning of the "extended information" lines. That way, if there is ever added information (like the commit encoding or extended commit commentary), a blame viewer will not care.
If the file .mailmap exists at the toplevel of the repository, or at the location pointed to by the mailmap.file or mailmap.blob configuration options, it is used to map author and committer names and email addresses to canonical real names and email addresses.
In the simple form, each line in the file consists of the canonical real name of an author, whitespace, and an email address used in the commit (enclosed by < and >) to map to the name. For example:
Proper Name<EMAIL_ADDRESS>The more complex forms are:
<EMAIL_ADDRESS><EMAIL_ADDRESS>which allows mailmap to replace only the email part of a commit, and:
Proper Name<EMAIL_ADDRESS><EMAIL_ADDRESS>which allows mailmap to replace both the name and the email of a commit matching the specified commit email address, and:
Proper Name<EMAIL_ADDRESS>Commit Name<EMAIL_ADDRESS>which allows mailmap to replace both the name and the email of a commit matching both the specified commit name and email address.
Example 1: Your history contains commits by two authors, Jane and Joe, whose names appear in the repository under several forms:
Joe Developer<EMAIL_ADDRESS>Joe R. Developer<EMAIL_ADDRESS>Jane Doe<EMAIL_ADDRESS>Jane Doe <jane@laptop.(none)> Jane D. <jane@desktop.(none)>
Now suppose that Joe wants his middle name initial used, and Jane prefers her family name fully spelled out. A proper .mailmap file would look like:
Jane Doe <jane@desktop.(none)> Joe R. Developer<EMAIL_ADDRESS>Note how there is no need for an entry for <jane@laptop.(none)>, because the real name of that author is already correct.
Example 2: Your repository contains commits from the following authors:
nick1<EMAIL_ADDRESS>nick2<EMAIL_ADDRESS>nick2<EMAIL_ADDRESS>santa<EMAIL_ADDRESS>claus<EMAIL_ADDRESS>CTO<EMAIL_ADDRESS>Then you might want a .mailmap file that looks like:
<EMAIL_ADDRESS><EMAIL_ADDRESS>Some Dude<EMAIL_ADDRESS>nick1<EMAIL_ADDRESS>Other Author<EMAIL_ADDRESS>nick2<EMAIL_ADDRESS>Other Author<EMAIL_ADDRESS><EMAIL_ADDRESS>Santa Claus<EMAIL_ADDRESS><EMAIL_ADDRESS>Use hash # for comments that are either on their own line, or after the email address.
Part of the git(1) suite


Top
Close ×
Close ×
Hyperledger Fabric Bank
Check Balance
Username
Get Balance
Transfer Amount
From User
To User
Amount
Reason
Friendly Help
Emergency Help
Payback Loan
House Rent
Transfer


To the Editor of the Star. Liverpool, Feb. 27, 1841.
Dear Brother,—Having perused in your number of last month, some strictures
upon Mr. Hainings’ "..." I conceived that a few remarks from me upon that subject might not
be nninteresting, as I am acquainted with the whole of the circumstances of
the coming forth of that publication: it was my labours in Douglas (Isle of
Man,) that first gave rise to his important discoveries, and brought into
existence that production, which for ought I know may be considered of
importance among the friends of sectarianism at a distance from home; but
those who are acquainted with its relations, its parentage, the time, manner,
and circumstances of its coming into being consider it lighter than vanity;
and it is treated by all intelligent men with the contempt that such
productions deserve.
Permit me, sir, to mention a few circumstances that took place previous to the
delivery of "..." about the middle of last September I
visited the Isle of Man, accompanied by Elder Hyrum Clark, and preached in the
town of Douglas, where I hired the Wellington room, a large hall capable of
containing one thousand persons; and commenced delivering a course of lectures
to attentive and respectable congregations. I had not proceeded above two or
three nights before I was interrupted in a very indecorous, anti-christian,
and ungentlemanly manner by a party of Primitive Methodist Preachers and a
Wesleyan Methodist Local Preacher, whose conduct was not very dissimilar from
that of the pious and zealous disorderlies that you speak of in Bolton, who
were bound over to keep the peace, and who if they had obtained justice would
unquestionably have shared the same fate; and, had it not been for some
gentlemen present who interfered, who possessed more prudence and
discretion than religious bigotry, it would have been difficult to prevent an
indignant public from putting them out of doors. The next day I received a
challenge from the head champion, Mr. Hamilton, a Primitive Methodist
itinerant preacher, which was so surcharged with calumny and vile abuse that
if I had not been a stranger there, and known that the public knew nothing
about me, or my principles but what they obtained through a false medium, I
should have treated with contempt; as it was I submitted to it, not with a
view of having my principles investigated, for I knew that they were out of
the reach of his critical acumen,—not to have him detect error, for I was
aware that he was utterly incapable of discerning the difference between truth
and error; nor had I the least idea of teaching him, for I felt convinced with
Solomon, that "..." but merely to remove public prejudice, and to let it be
known that I courted publicity and light, and was not afraid of bringing my
principles to the touchstone of truth.
This is the same individual, sir, whose extensive acquaintance with history
enabled him to inform the public that in some countries where there was no
water they baptized with oil!!! about which opinion I had the hardihood to be
a little skeptical despite of his great proficiency in historical lore; for I
was foolish enough to wonder (as any old woman would do who did not possess
the same knowledge of history as himself,) what they made use of as a beverage
in that country!! as oil would not be very palatable to drink at all times,
and also what they cooked their victuals with. It was the same individual, sir,
who on being asked his authority to preach answered "..." I was
led to tell him that I was of that opinion before, but that he had confirmed
my impressions; that I had thought from the beginning that God had nothing to
do
with sending him out. Yet foolish, ignorant, and untaught as he was, there are
those, sir, (who think that because the Scriptures says "..." that any and every person
is qualified to preach the gospel merely because they are fools, whether God
calls them or not;) who had it not been for this exposure, might have mistaken
him for a wise man and have thought that he was called of God.—The result of
that discussion as taken from the Manx Liberal is found in your number for
November.
The public began then to see that the doctrine of the Latter-Day Saints was
not so awful and blasphemous, as it had been represented to be by some of
these pious men, which excited the jealousy of a Mr. Hays, a Wesleyan
Methodist Superintendent Preacher, whose craft was in danger, and who saw
clearly that truth would not destroy truth; and having no better weapon,
commenced propagating falsehood by publishing a statement purporting to be
made by a Mr. Hale, Joseph Smith’s father-in-law, professing to give an
account of the character of Joseph Smith, and of the coming forth of the Book
of Mormon: but as he was not acquainted with a document containing some other
lies published by Mr. Livesey, a Rev. brother of his, which also gave an
account of the coming forth of the Book of Mormon; it so happened that they
did not agree in their statement in regard to its author, origin, or
coming forth; so for the benefit of the public I published the counter
statement of his Rev. brother, whose testimonies did no more agree than the
testimony of the false witnesses that appeared against our Saviour. He then
published another and vainly attempted to hide his shame, which was replied to
by me in a tract called "..." He then
published another and I answered in one entitled "..." (all of which may be
had at the "...")
About the same time arose another defender of the faith, a Doctor Curran, who
attacked me in the public press, and I answered him through the same medium,
which may be seen in full in the Manx Sun and Liberal of that date, for
several successive weeks. Two of my answers to him are found in the Nov. and
Dec. numbers of the "..." The Doctor is a learned gentleman, a connoisseur
in religion, a sectarian anatomist, who knows how to dissect better than to
put together, or unite the system: he had stood some time in the town and
vicinity as the champion in polemics; when he threw down the gauntlet scarce
any one could be found who had the hardihood to take it up. Mistaking these
for some of the wild chimeras and dogmas of men, he made several furious
onsets, but found himself as frequently repulsed, without having sufficient
honesty to acknowledge the truth; he retired feeble, helpless, and maimed from
the field. I have often, sir, been surprised at the weakness of the arguments
that are made use of against us even by men of literary attainments, and of
great talent when employed in any other cause. The Doctor further stated, that
"..." referring to our opposition
to what he considered to be truth (alias sectarianism and false doctrine); and
yet although he intimated that pure religion had been revived, he elsewhere
stated that there never was a time when the church was more "..." hence we are all right and all wrong; we have
something Godlike; yet this Godlike something is ignorant, unhealthy,
corrupt!!! He also expressed a sorrow that I should have been attacked by my
opponents on the only true point of my doctrine, viz. baptism,"..."the only true doctrine,"..."invisible without
body or parts;"..." of the
Methodists and worship in their temple.—[278] In this predicament without
congregation or influences, some Methodist local preachers and others who knew
his situation well, fearful that their fabric was falling, and that their
zealous Mr. Heys would not be able to prevent the wreck, put their heads
together to combine against what they considered to be their common foe;
premised to assist in pecuniary measures, and made use of the Rev. Mr. Haining
as their tool, to do what they could not get Mr. Heys to do; either to meet me
in public debate, or to deliver public lectures against my principles, (as on
his publishing those before-mentioned falsehoods, I challenged him to a public
investigation, and he refused. Mr. Haining in his turn wanted to increase his
congregation, and thinking that the present excitement that existed in the
religious community in that place, would be a favourable opportunity for doing
so commenced his lectures, (although he stated to a gentleman in Douglas after
hearing me for some time, that it would be better for the ministers to let me
alone, as they could not gainsay the doctrines that I advanced). Nor was he
mistaken in his views in regard to those matters, for numbers of the
interested part of the community, although they had differed heretofore among
themselves, were ready to cry out when their false principles were attacked,
"..." and were surprised to
find out that every body did not know that sectarianism fell down from heaven,
and that all the world worshipped their Diana. Mr. Haining took care, however,
to chose a time for his lectures when he thought that I could not attend—on
Sunday evenings. I managed however to go to his first one, and answered it on
a week night, in the following week to a crowded congregation, and Mr. Haining
himself present; as he had stated in his lecture that he wished to act fairly.
I desired him then, if he was sincere in his statements, to alter his nights
of lecturing, that I could attend, or otherwise to meet me face to face before
the public, substantiate his arguments, and prove the Book of Mormon, or any
of the principles that I believed in to be false if he could; and as many
other ministers were present who had frequently attacked me behind my back, I
challenged the whole or any of them to do it; not sir, that I am fond of
braggadocia, or a display of championship or words, but to stop the
foul-mouthed slander that had been industriously circulated by many of these
gentlemen, and to deliver the truth from their unhallowed grasp. But all
attempts to bring him to honourable terms were altogether fruitless: he could
do best alone in his own pulpit, (where I was going to say, no one could
oppose him or question the truth of what he said) but so notoriously false,
unscriptural, and absurd, were some of the principles that he advanced, and
statements that he made, that even one of his own society rose up in the
meeting, and told him that what he stated was false. As I had a large
congregation of my own to attend to, and could not consistently leave my
meeting, I got a reporter to attend to his meeting for two Sunday evenings,
and then in the week night gave another lecture in answer to his, but so weak,
irrelavent, so far fetched, and so foreign to the point were most of his
arguments, that I considered it only like beating the air to answer them, and
that it was a burlesque upon religion, [279] and an insult to the public to
call them together to listen to such unmeaning nonsense, and I told a crowded
congregation then assembled, that unless he, or some of the ministers of
Douglas, would meet me face to face, I should not impose upon their good sense
in listening to such stuff; I should consider that their own fabric was bad,
their foundation false, their principles untenable,
that they were convinced themselves that their statements were untrue, and
that they "..." As my principles had been wantonly attacked, my motives impugned, and
misrepresentation, calumny and abuse been gratuitously heaped upon me by them,
and none of them (but Mr. H.) had the hardihood to come forward and
substantiate his charges, prove his assertions, or in any wise make good his
statements; but that they had left their offspring like the ostrich did its
eggs, either to hatch of themselves, or to be trodden under foot by any passer
by.
I never once thought that Mr. Haining would have attempted to publish those
lectures with any design to militate against the truth, after making so
puerile an attack in Douglas, for (e.g.) one of his lectures was principally
taken up in proving that the bible is true; this of course we believe in as
well as him; one of his arguments in support of the bible is—"..." this we also believe in, and as I
told him the only difference that there is between him and us, is, that he
believes in a changeable God and we in an unchangeable one; he believes that
God did reveal himself formerly, but does not now; and we believe that he now
gives revelations, visions, prophecy, &c., as formerly. He next goes on to
state that the bile is "..."
we believe the two first of these statements, but feel convinced that if Mr.
Haining does that he cannot believe his last assertion—that it is "..." for the bible speaks of more than twenty books that we have not
got; and "..." and a "..." cannot testify to a
falsehood. It would be fruitless for me to follow him through all his
meanderings, and would be foreign to my purpose at the present time. I would
just remark that the truth came off victorious in the Isle of Man, and
although I may say with Paul "..." yet I
feel thankful to my heavenly Father that I have escaped unhurt. The standard
of eternal truth is planted there, many are rejoicing in the liberty of the
gospel of Jesus Christ, having followed their Lord and Master into the waters
of baptism, and many more are believing, and on the eve of coming forth. Since
I left there Elder Blakslee from America has been labouring there
successfully, he is now on his way to the land of his fathers, and Priest Wm.
Mitchell from Liverpool is gone to labour there: Elder Joseph Fielding is also
on his way there. There has been about seventy baptized in all; thus in spite
of all the combined powers of earth and hell, the "..."
the inhabitants of that island will hear the sound of the everlasting gospel,
and all the honest in heart will be gathered out.
The work of the Lord is progressing in Liverpool, and many enquiring the way
of salvation; we baptized eight last week, and sixteen this week.
I remain yours in the everlasting covenant, JOHN TAYLOR.


Chapter 3
open the developer console to check the output (shortcut F12)
Ney York
Chicago
Denver
Los Angeles


[1]
dinner was very important reason that ionian park must get a terrible rating from me.
[2]
dinner restaurant staff was very important reason that ionian park must get a terrible rating from me.


The purpose of a notice is to convey the next course of action for a task or flow. The notice must be clear and concise, with minimum cognitive load.
A notice may appear at page-level or inline-level, with a status of attention, confirmation, or information.
A page-level notice typically appears prominently at the top of the page or directly above a module. To aid discoverabilty of such important content for assistive technology, we make each page notice a landmark region with heading.
Congrats! You just listed "Spam and Eggs From the Cow's Perspective (paperback)."
Error. Please take another look at the following:
Card number, Expiration date & Security code.
Good news! You get free shipping on your next pair of shoes! Learn more.
Congrats! You just listed "Spam and Eggs From the Cow's Perspective (paperback)."
Error. Please take another look at the following:
Card number, Expiration date & Security code.
Good news! You get free shipping on your next pair of shoes! Learn more.
Append a button with class page-notice__close to create a dismissable page notice.
Congrats! You just listed "Spam and Eggs From the Cow's Perspective (paperback)."
You can check your listing or sell another item
Good news! You get free shipping on your next pair of shoes! Learn more.
Congrats! You just listed "Spam and Eggs From the Cow's Perspective (paperback)."
You can check your listing or sell another item
Good news! You get free shipping on your next pair of shoes! Learn more.
Use an anchor or button tag to create a 'call-to-action' page notice tile.
IMPORTANT: A call-to-action can only have one action, i.e. a link or button tag cannot contain any nested links or buttons.
{% highlight html %}Congrats! You are the highest bidder!
{% endhighlight %}An inline-level notice is typically located near a form field or user interface control.
Delivered on May 1, 2017
Tracking number:<PHONE_NUMBER>9376898908657567
Update your credit card.
Global Shipping Program transaction.
Delivered on May 1, 2017
Tracking number:<PHONE_NUMBER>9376898908657567
Update your credit card.
Global Shipping Program transaction.


Hi everyone!
I finally managed to (almost) end the little project that should allow me to read temperature and data wirelessly.
Everything works great but I am able to get perfect data only if RFM12Pi and TinyTX are in the same room.
If I put the TinyTX in the other room (walls are quite big but the distance is no more than 7/8 meters) no data gets on the Rasbperry.
Batteries have 1.53 volts each and, using the suggested https://www.sparkfun.com/products/10967 I get rock stable 3.3 volts.
I _think_ that maybe I've constructed a bad antenna for the TinyTX.
I did a 165 cm mm antenna (like was written in the back of the RFM12Pi) with a normal copper wire of a quite small gauge, I soldered it to the lower right connector of the RFM12b and then I mad it like a piggy tail...
Is this wrong?
A pic is worth a thousand words:
Re: RFM12Pi and TinyTX transmitting and receiving data only if in the same room
That is not the best way to make an antenna. You should have a monopole, that is a straight wire perpendicular to the ground. In your case "ground" is not very well defined - but think of it as most of the pcb! It will radiate (and receive) least along a line in the direction that the wire points, therefore the transmitting and receiving antennas should be roughly parallel.
You are working at 433 MHz?
Re: RFM12Pi and TinyTX transmitting and receiving data only if in the same room
Very interesting!
Yessir: 433 Mhz.
So I have to change my wire with a larger one and not turn it?
Re: RFM12Pi and TinyTX transmitting and receiving data only if in the same room
The wire diameter will make very little difference. It is the length that must be correct, and if you have 165 mm - NOT cm (clearly from your picture you do not have 165 cm = 1.65 m) all you need to do is make it straight and point away from the PCB.
Re: RFM12Pi and TinyTX transmitting and receiving data only if in the same room
Ehm lol you're right :D
I will try to make both antennas straight tomorrow and let you know...
Since I would like to keep the dht22 in a small box is there any kind of compact alternative to a 165mm antenna?
Thanks a lot: keep you posted :)
Re: RFM12Pi and TinyTX transmitting and receiving data only if in the same room
You can "shorten" the antenna with a loading coil at the base, but RF is not my area of expertise, so beyond suggesting you turn to your favourite search engine with "antenna loading coil", I can't help you there.
Re: RFM12Pi and TinyTX transmitting and receiving data only if in the same room
Hello,
The compact antenna you're asking about is commonly referred to as a "rubber duck" Here's a link to a picture of a few of them:
www.alibaba.com/showroom/rubber-duck-433mhz-antenna.html
If you decide to use one, you'll need a short length of coaxial cable with the appropriate connector on one end. (often referred to as a pig-tail, and usually sold by the vendor you buy the antenna from)
The overall length is of the first one listed on the page is 50 mm.
The picture is just for reference, (chinese website) but hopefully, a google search will turn up a local seller.
One thing to keep in mind, as this type of antenna is a compromise, the range may not be as good as with a wire monopole.
Re: RFM12Pi and TinyTX transmitting and receiving data only if in the same room
Hi everyone and thanks for great suggestions...
I think I'll go for the "rubber duck", after checking better how to solder it to my TinyTX: I just need it to work 5 meters away from the pi :)
I'll come back and write news as soon as I've done
Have a great day!
Re: RFM12Pi and TinyTX transmitting and receiving data only if in the same room
Here's a link to a pigtail similar to the one you'll need. Again, for reference...
http://www.alibaba.com/product-detail/solder-pigtail-cable-with-sma-female_1372840210.html?s=p
With the short distance between your transmitter and receiver, the rubber duck will work fine.
Re: RFM12Pi and TinyTX transmitting and receiving data only if in the same room
Hi there!
Appreciate all the suggestions...
This model looks easier to solder, ultra cheap and compact:
http://www.ebay.it/itm/251172074951?ssPageName=STRK:MEWAX:IT&_trksid=p39...
Anybody tried anything similar?
I think it'll do the job...


Let us know how we can improve FreeCodeCamp
Which option best describes your current role?
How likely is that you would recommend freeCodeCamp to a friend?
What do you like most in FCC:
Things that should be improved in the future (check all that apply):
Any Comments or Suggestions?


Ekida Technologies
Caelum OS
V2.0 Blue Edition
Fri Sep 11 2015 10:00:44 GMT+1000 (E. Australia Standard Time)
/d1a/net/meta
My Home
Find me on IRC
(Look for Potato-Chan)


This page includes an image in an hidden paragraph (through CSS display:none), and allows to assess whether the browser rendering it loads the said image or not.
display:none
See the results.


pragma solidity ^0.4.15;
import './interfaces/ERC20Interface.sol';
import './utils/SafeMath.sol';
/**
* @title Token
* @dev Contract that implements ERC20 token standard
* Is deployed by `Crowdsale.sol`, keeps track of balances, etc.
*/
contract Token is ERC20Interface {
uint public totalSupply;
address owner;
mapping (address => uint) balances;
mapping (address => mapping (address => uint)) allowances;
event Transfer(address sender, address receiver, uint amount);
event Approval(address sender, address receiver, uint amount);
modifier onlyOwner() {Erequire(msg.sender == owner); _;}
function balanceOf(address user) public constant returns (uint) {
return balances[user];
}
function allowance(address sender, address receiver) public constant returns (uint) {
return allowances[sender][receiver];
}
function transfer(address receiver, uint amount) public returns (bool) {
Erequire(balances[msg.sender] >= amount);
balances[msg.sender] -= amount;
balances[receiver] = SafeMath.add(balances[receiver], amount);
Transfer(msg.sender, receiver, amount);
return true;
}
function approve(address receiver, uint amount) public returns (bool) {
allowances[msg.sender][receiver] += amount;
Approval(msg.sender, receiver, amount);
return true;
}
function transferFrom(address sender, address receiver, uint amount) public returns (bool) {
Erequire(balances[sender] >= amount);
require(allowances[sender][receiver] >= amount);
balances[sender] -= amount;
balances[receiver] += amount;
allowances[sender][receiver] -= amount;
Transfer(sender, receiver, amount);
return true;
}
event TokensBurned(address user, uint amount);
function Token(uint amountToSell) {
totalSupply = amountToSell;
balances[msg.sender] = amountToSell;
owner = msg.sender;
}
function refund(address holder, uint amount) public onlyOwner() {
Erequire(balances[holder] >= amount);
balances[holder] -= amount;
balances[owner] += amount;
}
function mint(address receiver, uint amount) public onlyOwner() {
totalSupply = SafeMath.add(totalSupply, amount);
balances[receiver] = SafeMath.add(balances[receiver], amount);
}
function burn(uint amount) public {
require(balances[msg.sender] >= amount);
totalSupply = SafeMath.sub(totalSupply, amount);
balances[msg.sender] = SafeMath.sub(balances[msg.sender], amount);
TokensBurned(msg.sender, amount);
}
}
|


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import uk.gov.hmrc.thirdpartydeveloperfrontend.domain.models.controllers.Crumb @import uk.gov.hmrc.thirdpartydeveloperfrontend.domain.models.developers.DeveloperSession @import views.emailpreferences.EmailPreferencesSummaryViewData @import views.html.include.DevMain @import uk.gov.hmrc.thirdpartydeveloperfrontend.controllers @this(devMain: DevMain) @(viewData: EmailPreferencesSummaryViewData)(implicit messages: Messages, loggedIn: DeveloperSession, request: play.api.mvc.Request[Any], appConfig: ApplicationConfig) @pageHeading = @{ if(viewData.unsubscribed) "You are unsubscribed" else "Manage your Developer Hub email preferences" } @userHasEmailPreferences = @{ loggedIn.developer.emailPreferences.interests.nonEmpty || loggedIn.developer.emailPreferences.topics.nonEmpty } @devMain( title = pageHeading, userFullName = loggedIn.loggedInName, breadcrumbs = Seq( Crumb.viewAllApplications, Crumb.home ), developerSession = Some(loggedIn) ) { @if(viewData.unsubscribed) {
Preferences for @loggedIn.developer.email.text
@for(taxRegimeInterest <- loggedIn.developer.emailPreferences.interests.sortBy(_.regime).zipWithIndex) {All @viewData.taxRegimeDisplayName(taxRegimeInterest._1.regime) APIs
} else {Change the topics you are interested in
You have selected no email preferences.
} @EmailPrefsBulletInfoView() }Check the service availability page for information about live incidents (opens in new tab).
}


An item in yesterday's Guardian mentioned the Royal Society for the Prevention of Accidents (ROSPA). Let us consider the wonderful mysticism of that title. First, it is “Royal”, imbued with a lordly, monarchist ethos far above the common herd of humankind. Then, it is a “Society”, a fraternity or sorority one supposes, an esoteric band of adepts, sworn together by bonds of ritual secrecy. And on what purpose are they bent, these shadowy yet somehow noble figures? Nothing less than the “Prevention of Accidents”! If one thinks of an accident as an Act of God, which must surely be a common definition, then here we have a group dedicated to averting or undoing the whims of the Almighty. Whether that is heroic or abominable, it is incontrovertibly blasphemous. And so we find, lurking behind the innocuous “ROSPA”, that myth-shrouded medieval organisation the Mystical Order of Divine Saboteurs.


Action
Action
Another action
Something else here
Separated link
Action
Action
Another action
Something else here
Separated link


Connection
Message
You can change the message and send multiple times. Press "Send" to send the message to server.
Console
Local Client
Alternativity, If you would like to connect via your own scripts, you can download this program and use it in the following way. You need python2 and to install the websocket-client library
$ pip install websocket-client --userOnce this works, 'inspect element' to view your cookies. Copy the value of 'uberproxy_auth' and use this as:
python code: from pwn import * p = process(["./cli-relay", "UBERPROXY COOKIE", "HOST"]) p.interactive()


module Stream: sig .. end
type t('a);
'a
.exception Failure;
exception Error(string);
let from: (int => option('a)) => t('a);
Stream.from f
returns a stream built from the function f
.
To create a new stream element, the function f
is called with
the current stream count. The user function f
must return either
Some <value>
for a value or None
to specify the end of the
stream.
Do note that the indices passed to f
may not start at 0
in the
general case. For example, [< '0; '1; Stream.from f >]
would call
f
the first time with count 2
.
let of_list: list('a) => t('a);
let of_string: string => t(char);
let of_bytes: bytes => t(char);
let of_channel: Pervasives.in_channel => t(char);
let iter: ('a => unit, t('a)) => unit;
Stream.iter f s
scans the whole stream s, applying function f
in turn to each stream element encountered.let next: t('a) => 'a;
let empty: t('a) => unit;
()
if the stream is empty, else raise Stream.Failure
.let peek: t('a) => option('a);
Some
of "the first element" of the stream, or None
if
the stream is empty.let junk: t('a) => unit;
let count: t('a) => int;
let npeek: (int, t('a)) => list('a);
npeek n
returns the list of the n
first elements of
the stream, or all its remaining elements if less than n
elements are available.


Brad
Bass
tester/developer for hire
HOME
|
CV
|
CONTACT
|
TESTPAGE
|
TESTPAGE2
CONTACT
Brad Bass
Address: North York, ON
Email:
<EMAIL_ADDRESS>Phone:<PHONE_NUMBER>


Form Fields
MDC Form Field aligns an MDC Web form field (for example, a checkbox) with its label and makes it RTL-aware. It
also activates a ripple effect upon interacting with the label.
References
Import
Design & API Documentation
Selector:
mdc-form-field
Properties
Description
fluid: boolean
Width expands and contracts as the screen size changes.
alignEnd: boolean
Position the input after the label.
Basic Usage
EDIT
IN STACKBLITZ
Text Field - Fluid
Fluid: {{demoFluid.fluid ? 'On' :
'Off'}}
*Required
Checkbox
Align End: {{demofield.alignEnd ? 'On' :
'Off'}}
Checkbox
Radio
Align End:
{{formfieldradio.alignEnd ? 'On' : 'Off'}}
Radio
Switch
Align End:
{{demoformswitch.alignEnd ? 'On' : 'Off'}}
off/on


Test #1
I am first element above 1200px window width
I am first element on and below 1200px window width
Test #2
I am first element above 500px window height
I am first element on and below 500px window height
Test #3
I am first element if (min-width: 1200px) and (min-height: 500px) does not match
I am first element if (min-width: 1200px) and (min-height: 500px) matches
Test #4
I am first element if foobar
is set to false
I am first element if foobar
is set to true
Current value:
false
Test #5
I will appear here if foobaz
is set to false and above 1200px window width
I will appear here if foobaz
is set to true and above 1200px window width
I will appear here below 1200px window width, no matter the foobaz
value
Current value:
false


Your source file must be a valid MQL4 script. Providing invalid mql4 script may results to generate invalid JS file without any warning


{{> header}}
Instruction: Make sure your blah blha{{size}}
1.What is that shit?
A) Red
B) Yellow
C) Red
D) Yellow
2.What is that shit?
Red
Yellow


7th Heaven
Your Own Personal Heaven
Home
My Account
Musically Gifted
JOE WRIGHT QUANTUM SPLIT GREEN WILSON RODNEY KEVILLE
HTML Comment Box
is loading comments...


abstract fun connector(connectorConfiguration: ConnectorConfiguration): Connector
Provides a new Connector instance from the specified ConnectorConfiguration.


Do you have a favorite recipe that you want to share with the world? With this project we will use code to write a recipe that looks as good as it tastes.
A great project for: Foodies, chefs, sandwich aficionados, and anyone looking to learn the basics of web design and Glitch.
Make sure to create an account on Glitch to save your projects! Navigate to glitch.com
Our very first step with each lesson will be to create a new Glitch project. On the main Glitch website you will see a button that says "Start a New Project", and below that there is a section that says "Your Projects". Keep scrolling to see Featured Projects, and down farther a section called Hello Worlds - these are starter, or "boilerplate", projects that will help you become familiar with many different languages and projects you can make. After that are many more example projects in different categories, take a look whenever you want. Now, let’s make our own program!
Now we’re going to take a look at our new project. All Glitch projects have the same features so let’s take a second to familiarize ourselves with them.
Integrated Development Environment
When you begin a new project you can see the Glitch integrated development environment, or IDE for short. What does that mean? An IDE is a software application that allows you as the programmer to develop your software in a fluid way. Rather than switching between many programs, this has it all in one! A source code editor (which usually has autocomplete abilities), build tools (that compile your source code into that pretty final website!), and debugging tools (that shows you where errors are). What we’re looking at is the source code for our new web project, keep reading to learn about the parts of this IDE.
Awesome feature alert!
If you ever have trouble with your code and get stuck Glitch has this awesome feature to get help from the community. All you have to do is highlight the lines of code that you think are the issue and a little icon with a raised hand will appear. Click on that, fill it out, and click the "Ask for Help" button. This will show up on the main Glitch website where other users can look at your code and offer help! Neat, huh?
Now that we know a little bit about what’s under the hood let’s take a look at what our project looks like right now. Click the "Show Live" button to see your site.
Live View
Place the development environment and the live preview of your website side by side as displayed above. To do this in many browsers you can drag one of the tabs out of the window to open it in a new window. Now resize and move them next to each other, that way you can code and see your changes instantly!
Now that we know our way around let’s start coding! All Glitch website projects start with a little bit of code already in them so let’s use what’s there and build on it.

Hi there!

The Perfect PB&J

Now that we know how to change the content of tags, let’s change a few more and add some new ones to start putting together our recipe.

I'm your cool new webpage. Made with Glitch

Ours looks like this:

This peanut butter and jelly sandwich is my favorite sandwich. It has the perfect balance of ingredients and looks great when made right.

Your code should look like this:

The Perfect PB&J

Description

This peanut butter and jelly sandwich is my favorite sandwich. It has the perfect balance of ingredients and looks great when made right.

Now our recipe title and section title are butting into one another. That’s no good. Let’s add a line between them to keep them separate and divide the recipe into distinct sections.
Between the
 and
 tags make a new line and add a single
 tag.
It should look like this:

The Perfect PB&J

Description

Remember, all tags need to be closed. There are, however, some elements that are simple and don't contain content. These tags close themselves, using the slash (/) at the end of the tag.
The
 tag is one of those tags. HR stands for “Horizontal Rule” and it’s an HTML element designed to divide content on a page.
Take a look. See how the
 line separates the title from the description?
Any good recipe needs a list of ingredients. Fortunately HTML gives us an easy way to make list using tags.
Our code looks like this:

 Ingredients

Now let’s add a new type of tag called an “un-ordered list.” An un-ordered list tag produces a nice list of things, each with their own bullet point. In fact, you’re reading an un-ordered list right now!
Un-ordered lists actually use two tags. One starts and ends the list. It looks like this
. The other sits in between those tags and identifies a list item. It looks like this
.
Ours looks like this:

 Ingredients

2 slices of white bread

1 jar of grape jelly

1 jar of smooth peanut butter

A butter knife

A sharp knife

A cutting board

In the last step, we made an un-ordered list for our ingredients. Now let’s make an ordered list to describe each step we need to make our recipe. Ordered lists look like un-ordered lists except they have numbers instead of bullets.
Our code looks like this:

 Directions

Lay both slices of bread next to each other on a cutting board.

With the butter knife, spread a 1/8 inch layer of peanut butter on the left side

On the right side, spread a 1/8 inch layer of jelly.

Carefully place the two halves together so that the jelly is on top

With the sharp knife, carefully trim the crust from the sandwich.

Cut the sandwich diagonally.

Enjoy the PB&J!

Our recipe has come together nicely so far. We have all the basic elements in place. What we need now is an image. So let’s add one. If you don’t have an image of your own you can use this one for now:
Drag it to your desktop or download it someplace where you can get access to it easily. We will be uploading it into Glitch soon.
It should look like this. Notice the src="" part. That's an attribute of the img tag that will let us specify the image we want to load.

It should look something like this:

Here's an example:

Try adding height and width attributes to your  tag. See what happens when you only use either the height or width attribute, but not the other. Did the image get squished or did it stretch evenly? Play around with different measurements until you like the way it looks on the page.
So far we’ve only been adding new code to the HTML section. This is the content of our project, the text and images that make up our recipe. The text we’ve added, the headings, the lists, and the paragraphs all have a default style applied to them. The browser is picking the type, size, and color of the font. Let’s customize it the way we want using CSS.
h1 { color: fuchsia; }
CSS is what we use to style HTML elements. Just like HTML tags, it needs to be written a specific way to work.
Generally, CSS styles look like this, keep an eye on those curly braces. They are very important and mark the start and finish of a style:
selector { property: value; }
h1 { color: fuchsia; padding-left: 50px; padding-top: 30px; }
Now that we know a little about styles, let’s start writing our own. Let's begin by making our content centered.
Your code should look like this:
body {
}
body { width: 700px; }
body { width: 700px; margin: auto; }
h1 { color: fuchsia; padding-left: 50px; padding-top: 30px; font-family: courier, monospace; font-size: 50px; font-weight: bold; }
Take a look, the heading is now a different font, size, and bold!
Let's mix up the color on the page to make it more interesting.
You can use color names to apply colors in CSS. These are generic values, though and aren’t always exactly the color you want. If you want a little more control over color then you’ll need to use Hex values.
Hex values are codes that help a browser show color. They look like this: #FF0000. That’s the hex value for red. Hex codes are six digits long and contain only the number 0-9 and the letters A-F.
Here are some other example hex values:
#00FF00 - only green
#0000FF - only blue
#C0392B - softer red
#16A085 - softer green
#3498D8 - softer blue
#D977D4 - pink
#F1C40F - yellow
#F39C12 - orange
#FFFFFF - white
#000000 - black
#999999 - grey
Instead of a color name try adding a hex value into the color property and see what happens. Try changing the numbers as well to see what new colors you can create. You can also head over to Google and search for "color picker" which will bring up a color selection tool. This will display the Hex value for the color, as well as some others that you will learn about later. We've picked a nice blue color with a Hex value.
This is what our code looks like now:
h1 { color: #119be0; padding-left: 50px; padding-top: 30px; font-family: courier, monospace; font-size: 50px; font-weight: bold; }
Now that we’ve styled our h1 we’ve got to style everything else. The good news is that we’ve actually finished most of the work. All we need to do now is copy the h1 style we’ve created and change a few things to create new styles for h2, p, and li. Let’s start with h2.
Our code looks like this:
h2 { color: #119be0; padding-left: 50px; font-family: courier, monospace; font-size: 30px; font-weight: bold; }
Congrats, you’ve finished your recipe! It’s nicely laid out and easy to read, isn’t it? Good thing, too. You’ve probably worked up an appetite with all this coding. Now you have an idea of what to make for lunch.
Now that we have our recipe, let’s see what else we can do with the skills we’ve learned.
Maybe you don’t want a sandwich. Maybe you’re in the mood for some cake? Let’s rewrite the recipe to be your favorite meal, whatever it is. Try adding longer, more complicated steps. Maybe you need to add more sections?
Sometimes it helps to have a visual for each step of a recipe. Try adding images to each step that show the stages of the recipe.
You've got a taste, but there’s a whole lot more that you can do with CSS and HTML. Try these other coder projects to make more cool things and learn more useful stuff.
Note: Remember, if the tutorials have been converted for the Glitch IDE the "Open Project" button will be yellow, otherwise they are purple and will lead you to the original Coder for Pi website.
Paint makes a mess. Code is so much cleaner. Use this project to recreate a classic Modern artwork, Piet Mondrian’s Composition II in Red, Blue, and Yellow in your browser with CSS and HTML.
Open ProjectMake a simple game to play with your friends and family. See if you can find all the penguins without waking the Yeti!
Open Project


HiyaCFW (Flipnotehax)
If you need help, ask the Nintendo Homebrew Discord!.
Make sure to follow the guide closely to ensure that you do everything correctly.
Make sure to download the right files before proceeding with the guide.
What you need
- The latest release of Flipnotehax (select from chart below corresponding to your reigon)
| Releases | Flipnotehax (USA) | Flipnotehax (EUR) | Flipnotehax (JPN) |
- An SD Card with at least 128MB of space
- Flipnote Studio for Nintendo DSi
- The latest release of RocketLauncher .nds Maker
- The latest release of HiyaCFW
- The latest release of FWTool
- A Nintendo DS Game Card labelled as NTR (see the picture below to know if you have an NTR-labelled Game Card)
Instructions
- Power off your device
- Insert your SD card into your computer
- Copy the contents of
flipnotehax.zip
to the root of your SD card - Copy the contents of
HiyaCFW.zip
to the root of your SD card and renameHiyaCFW.nds
to boot.nds - Copy the contents of
FWTool.zip
to the root of your SD card and renameFWTool
to 2222.nds - Rename
RocketLauncher.nds
to2222.nds
and place the file in the root of your SD - Remove the SD card from your computer and insert it into the SD card slot on your DSi
- Insert your NTR-labelled Game Card
- Power on your device and open Flipnote Studio
- Find the folder named
ugopwn
and open it - Select the first Flipnote and press
Details
, then - "Copy" the first frame
- Exit the Flipnote, and proceed to open and edit the second one
- On the second Flipnote, in the frame menu, press right on the D-Pad (if right handed) or the A button (if left handed)
- Tap the
Paste
button exactly 122 times - Press the
Erase
button, followed by thePaste
button. - Choose the options to dump
nand_dsi.bin
andCID.bin
- Power off your device
- Copy
nand_dsi.bin
andCID.bin
to your PC - Obtain the ROM file of the NTR cart you have. You can also dump it with a 3DS using GodMode9. NOTE: We do not condone piracy.
- Open
RocketLauncherNDSMaker.exe
- Follow the on-screen instructions and put the resulting file(s) on your SD Card
- Rename
RocketLauncher.nds
to2222.nds
and choose replace. - Once again, power on your device and open Flipnote Studio
- Find the folder named
ugopwn
and open it - Select the first Flipnote and press
Details
, then - "Copy" the first frame
- Exit the Flipnote, and proceed to open and edit the second one
- On the second flipnote, in the frame menu, press right on the D-Pad (if right handed) or the A button (if left handed)
- Tap the
Paste
button exactly 122 times - Press the
Erase
button, followed by thePaste
button. - You should now be running HiyaCFW! You must repeat the Flipnote process every time to start HiyaCFW.
Edit
Edit
Continue to Finalizing Setup


Economic prosperity is no longer secured through being a large country or empire nor by using military force to gain access to markets.
There is no longer a link between the size of a country and its economic success. That a small country the size of Wales can prosper is evident.
Those that argue otherwise are either unable to accept the evidence for this, or must believe there is something peculiar about the people of Wales that means they’re incapable of making a success of things. Wales, a country of 3 million people, is not too small to survive as an independent country. It is a fact that there are over 100 other independent countries in the world that are smaller than Wales.
In fact, of the top 10 wealthiest countries in terms of GDP per capita, 9 have a population of less than 5 million, and 7 of those have a smaller population than Wales.
Too Poor?
OK - what makes you think Wales is too poor?
being able to run a country is as simple as being able to balance the books. If you think we can't afford it because of how poor Wales is now, when the majority of our decisions are stil made in Westminister, despite devolution, then surely thats a reason to say we can't afford NOT to run our own affairs?
The numbers currently include 'our share' of many large scale Westminister expenses that an Indy Wales either simply would'nt want - such as Nuclear Missiles (£205bn) or doesnt actually see, for example, HS2 not a single inch or track in Wales, but the project is costing £56bn and we are being charged for it.
This is before we even start on the postive numbers - Wales is far richer than anyone is ever allowed to consider. It was recently revealed that Wales as a nation is the 5th largest exporter of Electricity - not to mention our limitless, clean, renewable natural resource that economists are calling 'the oil of the 21st Century' - Water, which we currently give away for free.
It's hardly fair to say we cannot afford to run our own affairs while we have one hand tied behind our backs!
Undefendable?
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.
Better off in a Union
Wales alone can't lay claim to being the only part of the British Isles that doesn't benefit from being a part of the UK.
From the tip of Scotland, through the North of England all the way to Lands End - no where outisde of London and the South-East benefits from being a part of this un-equal union.
In one aspect - you're not wrong - Wales does belong in a Union, but rather one that treats it as an Equal.
Such as say, the United Nations.
Other Idea Here
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.
Submarine
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.


Windows Server
Endorsed by ADELEKE BADEJO and 2 others who are highly skilled at this
Endorsed by 2 of Kunle’s colleagues at Coram
Active Directory
Endorsed by ADELEKE BADEJO and 1 other who is highly skilled at this
Network Administration
Endorsed by Abiola Babsalaam and 4 others who are highly skilled at this


An AUnit test case is a pair (valuation, command) where:
     A valuation is: an assignment of values to the sets and relations of the model.
     A command is: any valid Alloy command over the model.
To see this in action, consider the following Alloy model:
Example of a Valuation:
Visual representation:
Textual representation:
note: the textual representation shows how a valuation is simply stating directly the values the signatures and relations within the model should take. The valuation portion of the test case can be thought of as a specific instance that you want to test your model over. This may be a satisfying instance or not, the anticipated behavior of this instance over your model is captured in the second component of a test case: the command.
Example of a command:
note: The facts of the model are tested with every command, since the command is used to capture the behavior the tester thinks should occur for the instance she defined, which includes any facts. In this case, the tester believes that valuation "ObjectDisconnected" should NOT be produced as a instance for allObjectsInSet ("!allObjectsInSet[]").


Thom Evans has 'sworn off sex' so he's not distracted from X Factor dream
Rugby Hunk Thom has decided to abstain from 'indulging in women' until the end of the celebrity singing competition
by Tiffany WallisRugby player Thom Evans is reportedly abstaining from sex throughout his Celebrity X Factor experience.
The hunky sportsman, 34, is currently competing in Simon Cowell 's spin-off singing competition alongside fellow Rugby stars Ben Foden and Levi Davis in their band Try Star.
Thom recently told The Sun that he is so dedicated to Try Star's singing success, that he has decided to steer clear of any romance.
He also admitted that he continues to receive a lot of sexual and romantic advances from both men and women.
The band member confessed to the publication: "I have lots of men and women sliding into my DMs. I always try to reply."
However, the star revealed he is only into the old-school way of dating and refuses to "date anyone from Instagram or an app."
Shockingly, the X Factor hopeful also hinted at potential romances with his fellow singing contestants on the show, but said he is choosing not to "indulge".
He teased: "I’m single and there are lots of lovely girls on X Factor but I’ve been focused on the band.
"It’s been pretty stressful learning the songs so I’ve no time to indulge in women."
Thom's severe dedication has come at a cost as he decided to give up his love of women in hope of winning the show and earning a record contract.
Try Star have been wowing the judges from day one, when they stole the show during auditions with a very British and very unexpected rendition of Blackstreet's iconic No Diggity.
The rugby boys are adamant they are in the competition to win it and want to be taken seriously.
Thom's honesty about his love life comes after the star suffered an awkward clash with Louis Walsh.
Last week, Thom didn't take too kindly to being called a "backing singer" along with Ben, over their latest performance with co-member Levi Davis.
The trio were forced to change their song last minute as mentor Simon Cowell wasn't a fan, so they instead performed No Diggity for the second time.
Louis blasted this decision, before claiming Levi was the star and his co-members were just "backing singers".
The X Factor: Celebrity continues Saturday evenings on ITV.


In this project, you'll use generative adversarial networks to generate new images of faces.
You'll be using two datasets in this project:
Since the celebA dataset is complex and you're doing GANs in a project for the first time, we want you to test your neural network on MNIST before CelebA. Running the GANs on MNIST will allow you to see how well your model trains sooner.
If you're using FloydHub, set data_dir
to "/input" and use the FloydHub data ID "R5KrjnANiKVhLWAkpXhNBe".
data_dir = './data'
# FloydHub - Use with data ID "R5KrjnANiKVhLWAkpXhNBe"
#data_dir = '/input'
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import helper
helper.download_extract('mnist', data_dir)
helper.download_extract('celeba', data_dir)
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
%matplotlib inline
import os
from glob import glob
from matplotlib import pyplot
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'mnist/*.jpg'))[:show_n_images], 28, 28, 'L')
pyplot.imshow(helper.images_square_grid(mnist_images, 'L'), cmap='gray')
The CelebFaces Attributes Dataset (CelebA) dataset contains over 200,000 celebrity images with annotations. Since you're going to be generating faces, you won't need the annotations. You can view the first number of examples by changing show_n_images
.
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'img_align_celeba/*.jpg'))[:show_n_images], 28, 28, 'RGB')
pyplot.imshow(helper.images_square_grid(mnist_images, 'RGB'))
Since the project's main focus is on building the GANs, we'll preprocess the data for you. The values of the MNIST and CelebA dataset will be in the range of -0.5 to 0.5 of 28x28 dimensional images. The CelebA images will be cropped to remove parts of the image that don't include a face, then resized down to 28x28.

You'll build the components necessary to build a GANs by implementing the following functions below:
model_inputs
discriminator
generator
model_loss
model_opt
train
This will check to make sure you have the correct version of TensorFlow and access to a GPU
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
from distutils.version import LooseVersion
import warnings
import tensorflow as tf
# Check TensorFlow Version
assert LooseVersion(tf.__version__) >= LooseVersion('1.0'), 'Please use TensorFlow version 1.0 or newer. You are using {}'.format(tf.__version__)
print('TensorFlow Version: {}'.format(tf.__version__))
# Check for a GPU
if not tf.test.gpu_device_name():
warnings.warn('No GPU found. Please use a GPU to train your neural network.')
else:
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
Implement the model_inputs
function to create TF Placeholders for the Neural Network. It should create the following placeholders:
image_width
, image_height
, and image_channels
.z_dim
.Return the placeholders in the following the tuple (tensor of real input images, tensor of z data)
import problem_unittests as tests
def model_inputs(image_width, image_height, image_channels, z_dim):
"""
Create the model inputs
:param image_width: The input image width
:param image_height: The input image height
:param image_channels: The number of image channels
:param z_dim: The dimension of Z
:return: Tuple of (tensor of real input images, tensor of z data, learning rate)
"""
# TODO: Implement Function
inputs_real = tf.placeholder(tf.float32, (None, image_width, image_height, image_channels), name='input_real')
inputs_z = tf.placeholder(tf.float32, (None, z_dim), name='input_z')
lr = tf.placeholder(tf.float32, name='learning_rate')
return inputs_real, inputs_z, lr
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_inputs(model_inputs)
Implement discriminator
to create a discriminator neural network that discriminates on images
. This function should be able to reuse the variabes in the neural network. Use tf.variable_scope
with a scope name of "discriminator" to allow the variables to be reused. The function should return a tuple of (tensor output of the generator, tensor logits of the generator).
def discriminator(images, reuse=False):
"""
Create the discriminator network
:param image: Tensor of input image(s)
:param reuse: Boolean if the weights should be reused
:return: Tuple of (tensor output of the discriminator, tensor logits of the discriminator)
"""
# TODO: Implement Function
with tf.variable_scope('discriminator', reuse=reuse):
# 28*28*3
x1 = tf.layers.conv2d(images, 128, 5, strides=2, padding='same')
relu1 = tf.maximum(0.01 * x1, x1)
# 14*14*128
x2 = tf.layers.conv2d(relu1, 256, 5, strides=2, padding='same')
bn2 = tf.layers.batch_normalization(x2, training=True)
relu2 = tf.maximum(0.01 * bn2, bn2)
# 7*7*256
x3 = tf.layers.conv2d(relu2, 512, 5, strides=2, padding='same')
n3 = tf.layers.batch_normalization(x3, training=True)
relu3 = tf.maximum(0.01 * n3, n3)
#4x4x512
# Flatten it
flat = tf.contrib.layers.flatten(relu3)
logits = tf.layers.dense(flat, 1)
out = tf.sigmoid(logits)
return out, logits
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_discriminator(discriminator, tf)
Implement generator
to generate an image using z
. This function should be able to reuse the variabes in the neural network. Use tf.variable_scope
with a scope name of "generator" to allow the variables to be reused. The function should return the generated 28 x 28 x out_channel_dim
images.
def generator(z, out_channel_dim, is_train=True):
"""
Create the generator network
:param z: Input z
:param out_channel_dim: The number of channels in the output image
:param is_train: Boolean if generator is being used for training
:return: The tensor output of the generator
"""
# TODO: Implement Function
with tf.variable_scope('generator', reuse=not is_train):
# First fully connected layer
x1 = tf.layers.dense(z, 7*7*512)
# Reshape it to start the convolutional stack
x1 = tf.reshape(x1, (-1, 7, 7, 512))
x1 = tf.layers.batch_normalization(x1, training=is_train)
x1 = tf.maximum(0.01 * x1, x1)
# 7x7x512 now
x2 = tf.layers.conv2d_transpose(x1, 256, 5, strides=2, padding='same')
x2 = tf.layers.batch_normalization(x2, training=is_train)
x2 = tf.maximum(0.01 * x2, x2)
# 14x14x256 now
x3 = tf.layers.conv2d_transpose(x2, 128, 5, strides=2, padding='same')
x3 = tf.layers.batch_normalization(x3, training = is_train)
x3 = tf.maximum(0.01 * x3, x3)
# 28x28x128 now
# Output layer
logits = tf.layers.conv2d_transpose(x3, out_channel_dim, 5, strides=1, padding='same')
# 28x28x3 now
out = tf.tanh(logits)
return out
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_generator(generator, tf)
Implement model_loss
to build the GANs for training and calculate the loss. The function should return a tuple of (discriminator loss, generator loss). Use the following functions you implemented:
discriminator(images, reuse=False)
generator(z, out_channel_dim, is_train=True)
def model_loss(input_real, input_z, out_channel_dim):
"""
Get the loss for the discriminator and generator
:param input_real: Images from the real dataset
:param input_z: Z input
:param out_channel_dim: The number of channels in the output image
:return: A tuple of (discriminator loss, generator loss)
"""
# TODO: Implement Function
g_model = generator(input_z, out_channel_dim, is_train=True)
d_model_real, d_logits_real = discriminator(input_real)
d_model_fake, d_logits_fake = discriminator(g_model, reuse=True)
d_loss_real = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_real, labels=tf.ones_like(d_model_real)))
d_loss_fake = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake, labels=tf.zeros_like(d_model_fake)))
g_loss = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake, labels=tf.ones_like(d_model_fake)))
d_loss = d_loss_real + d_loss_fake
return d_loss, g_loss
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_loss(model_loss)
Implement model_opt
to create the optimization operations for the GANs. Use tf.trainable_variables
to get all the trainable variables. Filter the variables with names that are in the discriminator and generator scope names. The function should return a tuple of (discriminator training operation, generator training operation).
def model_opt(d_loss, g_loss, learning_rate, beta1):
"""
Get optimization operations
:param d_loss: Discriminator loss Tensor
:param g_loss: Generator loss Tensor
:param learning_rate: Learning Rate Placeholder
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:return: A tuple of (discriminator training operation, generator training operation)
"""
# TODO: Implement Function
t_vars = tf.trainable_variables()
d_vars = [var for var in t_vars if var.name.startswith('discriminator')]
g_vars = [var for var in t_vars if var.name.startswith('generator')]
# Optimize
with tf.control_dependencies(tf.get_collection(tf.GraphKeys.UPDATE_OPS)):
d_train_opt = tf.train.AdamOptimizer(learning_rate, beta1=beta1).minimize(d_loss, var_list=d_vars)
g_train_opt = tf.train.AdamOptimizer(learning_rate, beta1=beta1).minimize(g_loss, var_list=g_vars)
return d_train_opt, g_train_opt
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_opt(model_opt, tf)
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import numpy as np
def show_generator_output(sess, n_images, input_z, out_channel_dim, image_mode):
"""
Show example output for the generator
:param sess: TensorFlow session
:param n_images: Number of Images to display
:param input_z: Input Z Tensor
:param out_channel_dim: The number of channels in the output image
:param image_mode: The mode to use for images ("RGB" or "L")
"""
cmap = None if image_mode == 'RGB' else 'gray'
z_dim = input_z.get_shape().as_list()[-1]
example_z = np.random.uniform(-1, 1, size=[n_images, z_dim])
samples = sess.run(
generator(input_z, out_channel_dim, False),
feed_dict={input_z: example_z})
images_grid = helper.images_square_grid(samples, image_mode)
pyplot.imshow(images_grid, cmap=cmap)
pyplot.show()
Implement train
to build and train the GANs. Use the following functions you implemented:
model_inputs(image_width, image_height, image_channels, z_dim)
model_loss(input_real, input_z, out_channel_dim)
model_opt(d_loss, g_loss, learning_rate, beta1)
Use the show_generator_output
to show generator
output while you train. Running show_generator_output
for every batch will drastically increase training time and increase the size of the notebook. It's recommended to print the generator
output every 100 batches.
def train(epoch_count, batch_size, z_dim, learning_rate, beta1, get_batches, data_shape, data_image_mode):
"""
Train the GAN
:param epoch_count: Number of epochs
:param batch_size: Batch Size
:param z_dim: Z dimension
:param learning_rate: Learning Rate
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:param get_batches: Function to get batches
:param data_shape: Shape of the data
:param data_image_mode: The image mode to use for images ("RGB" or "L")
"""
# TODO: Build Model
steps = 0
_, image_width, image_height, image_channels = data_shape
input_real, input_z, lr = model_inputs(image_width, image_height,image_channels, z_dim)
d_loss, g_loss = model_loss(input_real, input_z,image_channels)
d_opt, g_opt = model_opt(d_loss, g_loss, lr, beta1)
is_train = tf.placeholder(tf.bool)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for epoch_i in range(epoch_count):
for batch_images in get_batches(batch_size):
# TODO: Train Model
steps += 1
# Sample random noise for G
batch_z = np.random.uniform(-1, 1, size=(batch_size, z_dim))
batch_z = batch_z*2
# Run optimizers
_ = sess.run(d_opt, feed_dict={input_real: batch_images, input_z: batch_z, lr: learning_rate})
_ = sess.run(g_opt, feed_dict={input_z: batch_z, input_real: batch_images, lr: learning_rate})
if steps % 10 == 0:
# At the end of each epoch, get the losses and print them out
train_loss_d = d_loss.eval({input_z: batch_z, input_real: batch_images})
train_loss_g = g_loss.eval({input_z: batch_z})
print("Epoch {}/{}...".format(epoch_i+1, epoch_count),
"Discriminator Loss: {:.4f}...".format(train_loss_d),
"Generator Loss: {:.4f}".format(train_loss_g))
if steps % 100 == 0:
show_generator_output(sess, 50, input_z, image_channels, data_image_mode)
Test your GANs architecture on MNIST. After 2 epochs, the GANs should be able to generate images that look like handwritten digits. Make sure the loss of the generator is lower than the loss of the discriminator or close to 0.
batch_size = 128
z_dim = 100
learning_rate = 0.0001
beta1 = 0.1
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 2
mnist_dataset = helper.Dataset('mnist', glob(os.path.join(data_dir, 'mnist/*.jpg')))
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, mnist_dataset.get_batches,
mnist_dataset.shape, mnist_dataset.image_mode)
Run your GANs on CelebA. It will take around 20 minutes on the average GPU to run one epoch. You can run the whole epoch or stop when it starts to generate realistic faces.
batch_size = 128
z_dim = 100
learning_rate = 0.0001
beta1 = 0.1
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 1
celeba_dataset = helper.Dataset('celeba', glob(os.path.join(data_dir, 'img_align_celeba/*.jpg')))
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, celeba_dataset.get_batches,
celeba_dataset.shape, celeba_dataset.image_mode)
When submitting this project, make sure to run all the cells before saving the notebook. Save the notebook file as "dlnd_face_generation.ipynb" and save it as a HTML file under "File" -> "Download as". Include the "helper.py" and "problem_unittests.py" files in your submission.


Classes
ActivityLog
Base
BillingItem
DataFile
DataType
Deployment
Executable
Fee
InstanceType
InstanceTypePrice
Invoice
Job
JobOutcome
JobStatusTime
Organization
Payment
PlatformPrice
Region
Resource
ResourcePrice
ResourceType
Software
SoftwarePrice
Storage
StoragePrice
StorageType
Tag
User |


| GEOS SDK TechDocs
|
|
| 1 Introduction
| 3 Deleting a DataStore
DataStoreCreate()
To create a new datastore, specify its attributes in a
DataStoreCreateParams
structure and call
DataStoreCreate()
.
typedef struct {
TCHAR *DSCP_name;
DataStoreFlags DSCP_flags;
FieldDescriptor *DSCP_keyList;
word DSCP_keyCount;
optr DSCP_notifObject;
DataStoreOpenFlags DSCP_openFlags;
} DataStoreCreateParams;
-
DSCP
_name
-
Name of the datastore. Used when opening, deleting or renaming a datastore. Any legal filename is acceptable.
-
DSCP
_flags
-
Only the following flags may be passed:
-
DSF_PRIVATE
Restricts access to the datastore to the owner only (
i.e.
, the application that created the datastore).
-
DSF_TIMESTAMP
Creates a timestamp field and makes it the first field of the datastore. This field is updated whenver a record is modified.
-
DSF_NO_PRIMARY_KEY
Specifies that the datastore will contain no key field. When passing this flag, you must set DSCP
_keyCount
to zero.
-
DSCP
_keyList
-
Pointer to an array of fields that make up the key. The term "key field" is not used in the relational database sense. In a datastore, the key field does not uniquely identify a record; it simply determines storage order of the records if no callback is passed in
DataStoreSaveRecord()
(see "Adding Records," Adding Records
for a complete discussion of storage order).
typedef struct {
FieldData FD_data;
TCHAR *FD_name;
} FieldDescriptor;
typedef struct {
FieldType FD_type;
FieldCategory FD_category;
FieldFlags CFD_flags;
} FieldData;
-
Fields of
FieldType
DSFT_TIMESTAMP and DSFT_BINARY may not be part of the key and the only
FieldFlag
which may be passed is FF_DESCENDING (default sort order is ascending).
-
Once you create a datastore, you cannot redefine the key later (by adding, deleting or changing the key field(s)) nor can you add a key to a datastore that was created without one.
-
DSCP
_keyCount
-
Number of fields that make up the primary key.If you pass zero, then you must pass DSF_NO_PRIMARY_KEY in
DSCP_flags
.
-
DSCP
_notifyObject
-
Object to be notified when changes to the datastore occur. This object will receive MSG_META_NOTIFY_WITH_DATA_BLOCK which will pass a
DataStoreChangeNotification
structure. See the GCN chapter.
Passing NullOptr means no object will receive notification.
-
DSCP
_openFlags
-
Passing zero allows multiple applications to open the datastore simultaneously. Passing DSOF_EXCLUSIVE gives exclusive access to the calling application.
Adding Fields
Adding Records
Deleting Records
Deleting Fields
| GEOS SDK TechDocs
|
|
| 1 Introduction
| 3 Deleting a DataStore


CONTACT
This is where you'll find the contacts of all Medical Practitioners, so you could relate to them One on One
Dr Ogunsanmi is the only Doctor available for now, check back later for updates..


| Class | DOSDisk |
| In: |
lib/DOSDisk.rb
|
| Parent: | DSK |
Disk image with a standard Apple DOS 3.3 VTOC at track $11, sector $00
VTOC : Volume Table of Contents (from Beneath Apple DOS pp 4-2 & 4-3)
00 not used 01 track number of first catalog sector 02 sector number of first catalog sector 03 release number of DOS used to INIT this disk 04-05 not used 06 Diskette volume number (1-254) 07-26 not used 27 maximum number of track/sector pairs which will fit in one file track/sector list sector (122 for 256 byte sectors) 28-2F not used 30 last track where sectors were allocated 31 direction of track allocation (+1 or -1) 32-33 not used 34 number of tracks per diskette (normally 35) 35 number of sectors per track (13 or 16) 36-37 number of bytes per sector (LO/HI format) 38-3B bit map of free sectors in track 0 3C-3F bit map of free sectors in track 1 40-43 bit map of free sectors in track 2 ... BC-BF bit map of free sectors in track 33 CO-C3 bit map of free sectors in track 34 C4-FF bit maps for additional tracks if there are more than 35 tracks per diskette
CATALOG (from Beneath Apple DOS p 4-6)
00 Not Used 01 track number of next catalog sector 02 sector number of next catalog sector 03-0A not used 0B-2D First file descriptive entry 2E-50 Second file descriptive entry 51-73 Third file descriptive entry 74-96 Fourth file descriptive entry 97-B9 Fifth file descriptive entry BA-DC Sixth file descriptive entry DD-FF Seventh file descriptive entry
FILE DESCRIPTIVE ENTRY (from Beneath Apple DOS p 4-6)
00 Track of first track/sector list sector, if this is a deleted file this contains FF and the original track number is copied to the last byte of the file name (BYTE 20) If this byte contains a 00, the entry is assumed to never have been used and is available for use. (This means track 0 can never be used for data even if the DOS image is 'wiped' from the disk) 01 Sector of first track/sector list sector 02 File type and flags: 80+file type - file is locked 00+file type - file is not locked 00 - TEXT file 01 - INTEGER BASIC file 02 - APPLESOFT BASIC file 04 - BINARY file 08 - S type file 10 - RELOCATABLE object module file 20 - a type file 40 - b type file 03-20 File Name (30 characters) 21-22 Length of file in sectors (LO/HI format)
TRACK/SECTOR LIST FORMAT (from Beneath Apple DOS p 4-6)
00 Not used 01 Track number of next T/S list of one is needed or zero if no more t/s list 02 Sector number of next T/S list (if one is present) 03-04 Not used 05-06 Sector offset in file of the first sector described by this list 07-oB Not used 0C-0D Track and sector of first data sector or zeros 0E-0F Track and sector of second data sector or zeros 10-FF Up to 120 more track and sector pairs


Data on Reopening PoliciesOn an ongoing basis, our research team classifies the reopening policies of 52 jurisdictions: 34 OECD countries, 5 US states, 10 Canadian provinces and 3 Canadian territories. For each jurisdiction, we classify a total of 9 different sectors: Stores/Non-Essential Businesses, Schooling/Youth Activities, Eateries, Leisure Activities, Contact Services, Manufacturing/Construction, Gatherings, Borders/Movement, and Cultural. Each sector is assigned a level of reopening from Level 1 (Complete Lockdown) to Level 5 (Unrestricted Access). For a full description of each category, see Reopening Indicators. We rely on a combination of official government statements and media coverage to make these classifications. Note that the classification of OECD countries is primarily based on policies in place at the national level. Likewise, the classification of US states and Canadian provinces and territories is primarily based on policies in place at the state/provincial/territorial level. In both instances, there may be additional policy variation at the local level. For a more detailed description of each jurisdiction’s reopening policies, see Country Insights. |
Twitter DataThe Twitter data is provided by colleagues at the Media Ecosystem Observatory (MEO). It aims to capture the entire Canadian Twitter conversation. To do so, MEO identified a set of politicians, political journalists, public intellectuals, and Canadian-specific hashtags and collected every Twitter user that touched one of these themes or individuals. MEO then evaluated each individual, looking at their follower or friending behaviour, biographies, self-identified location, and hashtag use and included them in the sample if they were determined to be algorithmically likely to be Canadian. The dataset continues to grow as new users are identified. The dataset contains approximately 200,000 tweets a day. MEO divides the dataset into two groups: (1) the public; and (2) MPs, senators, and journalists. The analysis uses a 10% sample of the public’s daily tweets and the full set of daily tweets from MPs, senators, and journalists. For each group, the percentages reported in the graphs reflect the proportion of daily tweets containing one or more keywords associated with the particular topic. |
Survey DataThe measures of participation in social distancing and of government approval are derived from a series of surveys of Canadians run in partnership with the Media Ecosystem Observatory (MEO). Each survey has a sample size of approximately 2,500 people. For each survey, we worked with a leading sample provider to generate a nationally representative, online sample of Canadians. In addition, following data collection, we applied survey weights to each survey so that—within each province—the sample is representative of the population age and gender. Aggregate Measure of Participation in Social Distancing We asked Canadians whether, as a result of the pandemic, they had taken any of the 6 following actions: avoided crowded places; avoided in-person contact with friends, family, and acquaintances; maintained 2 metre distance from others; avoided domestic travel; avoided public transit; and avoided the grocery store at peak times. The graph displays the percentage of these measures taken by the average survey participant. Net Approval of Government Handling of the Pandemic - By Region We asked Canadians whether they approved of how each level of government (the federal government, their provincial government, and their local government) was handling the coronavirus pandemic so far. To obtain a net approval score, participants’ answers were coded as follows: strongly approve (1); somewhat approve (0.5); neither approve, nor disapprove (0); somewhat disapprove (-0.5); and strongly disapprove (-1). The graph displays the average score. |


Process Definitions
Process Instances
My Tasks
[[${whose}]] Tasks
Name
Owner
Assignee
Created Date
Due Date
Priority
Status
Name
Owner
Assignee
Created Date
Due Date
Priority
Status
Review


Press OK to Exit
Please scan your area QR code
Scanned QR Code does not contain valid information. Please try again.


[1]
small camera to do editing or just viewing ....very difficult.
[2]
small camera to do editing or just viewing ....very difficult shots with easy menus.


Mobile
Library
Parnassus Floor 1
Computers
Elevators
Photocopiers
Reshelving Area
Restrooms
Stairs
Conference Rooms: 119, 128-129
Administration: 128


India is known for its tradition and varied cultural heritage. Women are given respect since ancient time. Gone are the days where women are restricted to stay inside houses. Nowadays, we can see that women excel in all possible spheres of life. The mindset of the people is more focused towards imparting western culture in day to day lifestyle. This disrupts safety of women and places a major risk factor in today's modern world. The number of death rate figures due to harassment against women increases rapidly. Women safety should be taken seriously and the technology grip in protecting women should provide a conducive atmosphere in brightening the future of women in all aspects. Some of the most common crimes against women are given below:
Can your idea supports safe guarding women and offers a helping hand in resolving harassment issues and help in achieving a sustainable society?


We open sourced React Native last week and the community reception blew away all our expectations! So many of you tried it, made cool stuff with it, raised many issues and even submitted pull requests to fix them! The entire team wants to say thank you!
#reactnative is like when you get a new expansion pack, and everybody is running around clueless about which NPC to talk to for the quests
— Ryan Florence (@ryanflorence) March 28, 2015
Give us 6 months. At Facebook, we strive to only open-source projects that we are using in production. While the Android backend for React Native is starting to work (see video below at 37min), it hasn't been shipped to any users yet. There's a lot of work that goes into open-sourcing a project, and we want to do it right so that you have a great experience when using it.
If you are getting started with React Native, you should absolutely use this tutorial from Colin Eberhardt. It goes through all the steps to make a reasonably complete app.
Colin also blogged about his experience using React Native for a few weeks and gives his thoughts on why you would or wouldn't use it.
Spencer Ahrens and I had the great pleasure to talk about React Native on The Changelog podcast. It was really fun to chat for an hour, I hope that you'll enjoy listening to it. :)
Less than 24 hours after React Native was open sourced, Simarpreet Singh built an Hacker News reader app from scratch. It's unbelievable how fast he was able to pull it off!
There's a huge ecosystem of JavaScript modules on npm and React Native was designed to work well with the ones that
don't have DOM dependencies. Parse is a great example; you can npm install parse
on your React Native
project and it'll work as is. :) We still have a
few issues to solve; please create an issue if your
favorite library doesn't work out of the box.
Giulio Canti is the author of the tcomb-form library for React. He already ported it to React Native and it looks great!
One of the reason we built React Native is to be able to use all the libraries in the native ecosystem. Brent Vatne leads the way and explains how to use Facebook Login with React Native.
Jay Garcia spent a lot of time during the beta working on a NES music player with React Native. He wrote a blog post to share his experience and explains some code snippets.
React Native ships with a custom packager and custom ES6 transforms instead of using what the open source community settled on such as webpack and Babel. The main reason for this is performance – we couldn't get those tools to have sub-second reload time on a large codebase.
Roman Liutikov found a way to use webpack and Babel to run on React Native! In the future, we want to work with those projects to provide cleaner extension mechanisms.
Clay Allsopp wrote a post about all the crazy things you could do with a JavaScript engine that renders native views. What about native embeds, seamless native browser, native search engine or even app generation…
We've spent a lot of efforts getting the onboarding as easy as possible and we're really happy that people noticed. We still have a lot of work to do on documentation, stay tuned!
Wow. Getting started with React Native might have been the smoothest experience I've ever had with a new developer
product.
— Andreas Eldh (@eldh) March 26, 2015


More flexible EntityManager setup with JPA module
JpaModule.createServerModule(...) comes with a new flavor that allows to pass the EntityManager
as java.util.Supplier. Every time a repository makes use of the EntityManager, the supplier is called and must
return an instance. The supplier together with the existing TransactionRunner
allows for custom JPA setups and transaction handling.
Allow QuerySpec conversion to Criteria query
The following code snipped shows how to convert a QuerySpec to Criteria query without involving repositories:
JpaCriteriaQueryFactory queryFactory = JpaCriteriaQueryFactory.newInstance(em);
PathSpec idAttr = PathSpec.of(TestEntity.ATTR_id);
QuerySpec querySpec = new QuerySpec(TestEntity.class);
querySpec.addFilter(idAttr.filter(FilterOperator.GT, 0L));
querySpec.addSort(idAttr.sort(Direction.DESC));
querySpec.includeField(PathSpec.of("oneRelatedValue"));
JpaCriteriaQuery<TestEntity> query = queryFactory.query(TestEntity.class);
JpaQueryExecutor<TestEntity> executor = query.buildExecutor(querySpec);
List<TestEntity> resultList = executor.getResultList();
OpenTracing Support
OpenTracing is a vendor-neutral API to write trace information. crnk-monitor-opentracing introduces a new module OpenTracingServerModule
that brings support for OpenTracing to Crnk. It can be used properly set the names of spans. More information is available
in the documentation.
Singular Nested Resources
Support for nested resources has been improved by introducing support singular nested resources. Thereby a parent can hold a single nested resource as
single-valued relationships. Urls then look like:
http://example.com/posts/1/header
An example looks like:
@JsonApiResource(type = "header", nested = true)
public class PostHeader {
@JsonApiId
@JsonApiRelationId
private String postId;
private String value;
@JsonApiRelation(opposite = "header", lookUp = LookupIncludeBehavior.AUTOMATICALLY_WHEN_NULL,
repositoryBehavior = RelationshipRepositoryBehavior.FORWARD_OWNER)
private Post post;
...
}
More information can be found here.
Enum support for Activiti
crnk-jpa maps Enum types to Strings for Activiti. This to by-pass the regular Activiti serialization mechanism that
treats the enum like a java.lang.Object by storing it is as serialized blob and not supporting filtering.


Web Developer Choi Bum Sik
Menu
About
Portfolio
Skills
Cording
Contact
Welcome To My Page!
Let me introduce myself
Resume
Portfolio
Portfolio
Web Developer
Contact Me
Send Message


This is just a quick email to let you know we have successfully reset your password at {{app_name}}. Please login and change this immediately!
{{password}}
That's it just login and change it haha or keep it, if you keep it make sure no one seems this email. Infact memorise it and delete it quick. Ok i'll give you three seconds.. 1.. 2.. 3.. BOOM! this email is now deleted. Hmm, your still reading it. Well pretend it's deleted whenever you check your inbox i'm not here.
Be gone..


--- layout: post title: "My Week in Review" date: 2016-10-16 05:05:00 +0000 tags: image: https://s3.amazonaws.com/audreywatters/2016-10-16-hb.jpg imagecredits: https://www.flickr.com/photos/surreal_badger/30277688571/in/dateposted-public/ ---
Icon credits: The Noun Project


Degrees degrees(const G& g)
returns array of node degrees
return as the following structure:
struct Degrees { array<unsigned> in_degree, out_degree; };
+void ErdosRenyi_generate(Graph& g, unsigned nodes, unsigned links, urand& uni);+
Generate an Erdös-Rényi random graph with given nodes and links. Links are attached randomly to the nodes, drawn from uni.
+PreferentialAttach_generate(Graph& g, unsigned nodes, urand& uni, random_gen& indegree_dist=default_indegree)+
Barabasi-Albert Preferential attachment algorithm. For each node, an
indegree value is drawn from indegree_dist
(defaults to a
constant value of 1). This many links are then preferentially attached
to other nodes, according to their outdegree.


Hello! 👋
My name is Angelo Fallaria. I am a Python developer, Math lover and Linux enthusiast studying Machine Learning.
I am a student at Mapúa University.
Technologies
Python, pandas, NumPy, Matplotlib, scikit-learn, Jupyter Notebook,
C, C++, MATLAB, Vim, git/github, Linux
Currently Learning
Harvard CS50x,
Kaggle 30 Days of ML
Projects
MathMouse - Discord math quiz bot (WIP)
Tech used: Python, discord.py, Heroku
Deployed on my section's Discord server with over 10+ members


Looking for a web developer?
You're in the right place. Scroll down to see some of the things I've worked on.
Do you like it? Let's talk! You'll find various ways of getting in touch with me in the contact section.
I am a freelance web developer based in Southern Spain, I make web stuff with various stuff. Well this is an exercise, not a real portfolio, so I don't have many things to write here. I don't even know yet whether I'll prefer to focus on front-end or backend.


RAII wrapper for the PxScene read lock.
More...
#include <PxSceneLock.h>
RAII wrapper for the PxScene read lock.
Use this class as follows to lock the scene for reading by the current thread for the duration of the enclosing scope:
PxSceneReadLock lock(sceneRef);
- See also
- PxScene::lockRead(), PxScene::unlockRead(), PxSceneFlag::eREQUIRE_RW_LOCK
◆ PxSceneReadLock() [1/2]
◆ PxSceneReadLock() [2/2]
| PxSceneReadLock::PxSceneReadLock |
( |
PxScene & |
scene, |
|
|
const char * |
file = NULL , |
|
|
PxU32 |
line = 0 |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
| scene | The scene to lock for reading |
| file | Optional string for debugging purposes |
| line | Optional line number for debugging purposes |
◆ ~PxSceneReadLock()
| PxSceneReadLock::~PxSceneReadLock |
( |
| ) |
|
|
inline |
◆ operator=()
◆ mScene
The documentation for this class was generated from the following file:


{% extends "base.html" %} {% block title %}Transfer Ownership?{% endblock %} {% block content %}
Are you sure you want to transfer ownership of the organization "{{ organization }}"?
After this action, you will become a helper.