| PERLPODSPEC(1) | Perl Programmers Reference Guide | PERLPODSPEC(1) |
In this document, "must" / "must not", "should" / "should not", and "may" have their conventional (cf. RFC 2119) meanings: "X must do Y" means that if X doesn't do Y, it's against this specification, and should really be fixed. "X should do Y" means that it's recommended, but X may fail to do Y, if there's a good reason. "X may do Y" is merely a note that X can do Y at will (although it is up to the reader to detect any connotation of "and I think it would be nice if X did Y" versus "it wouldn't really bother me if X did Y").
Notably, when I say "the parser should do Y", the parser may fail to do Y, if the calling application explicitly requests that the parser not do Y. I often phrase this as "the parser should, by default, do Y." This doesn't require the parser to provide an option for turning off whatever feature Y is (like expanding tabs in verbatim paragraphs), although it implicates that such an option may be provided.
A line in a file consists of zero or more non-newline characters, terminated by either a newline or the end of the file.
A newline sequence is usually a platform-dependent concept, but Pod parsers should understand it to mean any of CR (ASCII 13), LF (ASCII 10), or a CRLF (ASCII 13 followed immediately by ASCII 10), in addition to any other system-specific meaning. The first CR/CRLF/LF sequence in the file may be used as the basis for identifying the newline sequence for parsing the rest of the file.
A blank line is a line consisting entirely of zero or more spaces (ASCII 32) or tabs (ASCII 9), and terminated by a newline or end-of-file. A non-blank line is a line containing one or more characters other than space or tab (and terminated by a newline or end-of-file).
(Note: Many older Pod parsers did not accept a line consisting of spaces/tabs and then a newline as a blank line. The only lines they considered blank were lines consisting of no characters at all, terminated by a newline.)
Whitespace is used in this document as a blanket term for spaces, tabs, and newline sequences. (By itself, this term usually refers to literal whitespace. That is, sequences of whitespace characters in Pod source, as opposed to "E<32>", which is a formatting code that denotes a whitespace character.)
A Pod parser is a module meant for parsing Pod (regardless of whether this involves calling callbacks or building a parse tree or directly formatting it). A Pod formatter (or Pod translator) is a module or program that converts Pod to some other format (HTML, plaintext, TeX, PostScript, RTF). A Pod processor might be a formatter or translator, or might be a program that does something else with the Pod (like counting words, scanning for index points, etc.).
Pod content is contained in Pod blocks. A Pod block starts with a line that matches "m/\A=[a-zA-Z]/", and continues up to the next line that matches "m/\A=cut/" or up to the end of the file if there is no "m/\A=cut/" line.
Within a Pod block, there are Pod paragraphs. A Pod paragraph consists of non-blank lines of text, separated by one or more blank lines.
For purposes of Pod processing, there are four types of paragraphs in a Pod block:
=head1 NOTES =item *
But they may span several (non-blank) lines:
=for comment Hm, I wonder what it would look like if you tried to write a BNF for Pod from this. =head3 Dr. Strangelove, or: How I Learned to Stop Worrying and Love the Bomb
Some command paragraphs allow formatting codes in their content (i.e., after the part that matches "m/\A=[a-zA-Z]\S*\s*/"), as in:
=head1 Did You Remember to C<use strict;>?
In other words, the Pod processing handler for "head1" will apply the same processing to "Did You Remember to C<use strict;>?" that it would to an ordinary paragraph (i.e., formatting codes like "C<...>") are parsed and presumably formatted appropriately, and whitespace in the form of literal spaces and/or tabs is not significant.
Whitespace is significant in verbatim paragraphs (although, in processing, tabs are probably expanded).
For example: consider the following paragraphs:
# <- that's the 0th column =head1 Foo Stuff $foo->bar =cut
Here, "=head1 Foo" and "=cut" are command paragraphs because the first line of each matches "m/\A=[a-zA-Z]/". "[space][space]$foo->bar" is a verbatim paragraph, because its first line starts with a literal whitespace character (and there's no "=begin"..."=end" region around).
The "=begin identifier" ... "=end identifier" commands stop paragraphs that they surround from being parsed as ordinary or verbatim paragraphs, if identifier doesn't begin with a colon. This is discussed in detail in the section "About Data Paragraphs and "=begin/=end" Regions".
=head1 Object Attributes =head3 What B<Not> to Do!
=pod This is a plain Pod paragraph. =pod This text is ignored.
=cut =cut The documentation ends here. =cut # This is the first line of program text. sub foo { # This is the second.
It is an error to try to start a Pod block with a "=cut" command. In that case, the Pod processor must halt parsing of the input file, and must by default emit a warning.
=over 3 =over 3.5 =over
=item =item * =item * =item 14 =item 3. =item C<< $thing->stuff(I<dodad>) >> =item For transporting us beyond seas to be tried for pretended offenses =item He is at this time transporting large armies of foreign mercenaries to complete the works of death, desolation and tyranny, already begun with circumstances of cruelty and perfidy scarcely paralleled in the most barbarous ages, and totally unworthy the head of a civilized nation.
It is advised that formatnames match the regexp "m/\A:?[-a-zA-Z0-9_]+\z/". Everything following whitespace after the formatname is a parameter that may be used by the formatter when dealing with this region. This parameter must not be repeated in the "=end" paragraph. Implementors should anticipate future expansion in the semantics and syntax of the first parameter to "=begin"/"=end"/"=for".
=begin formatname text... =end formatname
That is, it creates a region consisting of a single paragraph; that paragraph is to be treated as a normal paragraph if "formatname" begins with a ":"; if "formatname" doesn't begin with a colon, then "text..." will constitute a data paragraph. There is no way to use "=for formatname text..." to express "text..." as a verbatim paragraph.
A document having more than one "=encoding" line should be considered an error. Pod processors may silently tolerate this if the not-first "=encoding" lines are just duplicates of the first one (e.g., if there's a "=encoding utf8" line, and later on another "=encoding utf8" line). But Pod processors should complain if there are contradictory "=encoding" lines in the same document (e.g., if there is a "=encoding utf8" early in the document and "=encoding big5" later). Pod processors that recognize BOMs may also complain if they see an "=encoding" line that contradicts the BOM (e.g., if a document with a UTF-16LE BOM has an "=encoding shiftjis" line).
If a Pod processor sees any command other than the ones listed above (like "=head", or "=haed1", or "=stuff", or "=cuttlefish", or "=w123"), that processor must by default treat this as an error. It must not process the paragraph beginning with that command, must by default warn of this as an error, and may abort the parse. A Pod parser may allow a way for particular applications to add to the above list of known commands, and to stipulate, for each additional command, whether formatting codes should be processed.
Future versions of this specification may add additional commands.
There are two syntaxes for formatting codes:
That's what I<you> think! What's C<CORE::dump()> for? X<C<chmod> and C<unlink()> Under Different Operating Systems>
That's what I<< you >> think! C<<< open(X, ">>thing.dat") || die $! >>> B<< $foo->bar(); >>
With this syntax, the whitespace character(s) after the "C<<<" and before the ">>>" (or whatever letter) are not renderable. They do not signify whitespace, are merely part of the formatting codes themselves.
Finally, the multiple-angle-bracket form does not alter the interpretation of nested formatting codes, meaning that the following four example lines are identical in meaning:
B<example: C<$a E<lt>=E<gt> $b>> B<example: C<< $a <=> $b >>> B<example: C<< $a E<lt>=E<gt> $b >>> B<<< example: C<< $a E<lt>=E<gt> $b >> >>>
In parsing Pod, a notably tricky part is the correct parsing of (potentially nested!) formatting codes. Implementors should consult the code in the "parse_text" routine in Pod::Parser as an example of a correct implementation.
This code is unusual in that most formatters completely discard this code and its content. Other formatters will render it with invisible codes that can be used in building an index of the current document.
This code is unusual in that it should have no content. That is, a processor may complain if it sees "Z<potatoes>". Whether or not it complains, the potatoes text should ignored.
Consider:
C<$x ? $y : $z> S<C<$x ? $y : $z>>
Both signify the monospace (c[ode] style) text consisting of "$x", one space, "?", one space, ":", one space, "$z". The difference is that in the latter, with the S code, those spaces are not "normal" spaces, but instead are non-breaking spaces.
If a Pod processor sees any formatting code other than the ones listed above (as in "N<...>", or "Q<...>", etc.), that processor must by default treat this as an error. A Pod parser may allow a way for particular applications to add to the above list of known formatting codes; a Pod parser might even allow a way to stipulate, for each additional command, whether it requires some form of special processing, as L<...> does.
Future versions of this specification may add additional formatting codes.
Historical note: A few older Pod processors would not see a ">" as closing a "C<" code, if the ">" was immediately preceded by a "-". This was so that this:
C<$foo->bar>
would parse as equivalent to this:
C<$foo-E<gt>bar>
instead of as equivalent to a "C" formatting code containing only "$foo-", and then a "bar>" outside the "C" formatting code. This problem has since been solved by the addition of syntaxes like this:
C<< $foo->bar >>
Compliant parsers must not treat "->" as special.
Formatting codes absolutely cannot span paragraphs. If a code is opened in one paragraph, and no closing code is found by the end of that paragraph, the Pod parser must close that formatting code, and should complain (as in "Unterminated I code in the paragraph starting at line 123: 'Time objects are not...'"). So these two paragraphs:
I
...must not be parsed as two paragraphs in italics (with the I code starting in one paragraph and starting in another.) Instead, the first paragraph should generate a warning, but that aside, the above code must parse as if it were:
I Don't make me say it again!E<gt>
(In SGMLish jargon, all Pod commands are like block-level elements, whereas all Pod formatting codes are like inline-level elements.)
Future versions of this specification may specify how Pod can accept other encodings. Presumably treatment of other encodings in Pod parsing would be as in XML parsing: whatever the encoding declared by a particular Pod file, content is to be stored in memory as Unicode characters.
my $utf8_bom = "\x{FEFF}"; utf8::encode($utf8_bom);
%% POD::Pod2PS v3.14159, using POD::Parser v1.92  {\doccomm generated by Pod::Tree::RTF 3.14159 using Pod::Tree 1.08} .\" Pod::Man version 3.14159, using POD::Parser version 1.92
Formatters may also insert additional comments, including: the release date of the Pod formatter program, the contact address for the author(s) of the formatter, the current time, the name of input file, the formatting options in effect, version of Perl used, etc.
Formatters may also choose to note errors/warnings as comments, besides or instead of emitting them otherwise (as in messages to STDERR, or "die"ing).
use Foo; print Foo->VERSION
should be unified into one paragraph ("\tuse Foo;\n\n\tprint Foo->VERSION") before being passed to the formatter or other processor. Parsers may also allow an option for overriding this.
While this might be too cumbersome to implement in event-based Pod parsers, it is straightforward for parsers that return parse trees.
When referring to characters by using a E<n> numeric code, numbers in the range 32-126 refer to those well known US-ASCII characters (also defined there by Unicode, with the same meaning), which all Pod formatters must render faithfully. Characters whose E<> numbers are in the ranges 0-31 and 127-159 should not be used (neither as literals, nor as E<number> codes), except for the literal byte-sequences for newline (ASCII 13, ASCII 13 10, or ASCII 10), and tab (ASCII 9).
Numbers in the range 160-255 refer to Latin-1 characters (also defined there by Unicode, with the same meaning). Numbers above 255 should be understood to refer to Unicode characters.
This will likely require many formatters to have tables mapping from treatable Unicode codepoints (such as the "\xE9" for the e-acute character) to the escape sequences or codes necessary for conveying such sequences in the target output format. A converter to *roff would, for example know that "\xE9" (whether conveyed literally, or via a E<...> sequence) is to be conveyed as "e\\*'". Similarly, a program rendering Pod in a Mac OS application window, would presumably need to know that "\xE9" maps to codepoint 142 in MacRoman encoding that (at time of writing) is native for Mac OS. Such Unicode2whatever mappings are presumably already widely available for common output formats. (Such mappings may be incomplete! Implementers are not expected to bend over backwards in an attempt to render Cherokee syllabics, Etruscan runes, Byzantine musical symbols, or any of the other weird things that Unicode can encode.) And if a Pod document uses a character not found in such a mapping, the formatter should consider it an unrenderable character.
http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent
Then you can progress through any remaining notable Unicode characters in the range 0x2000-0x204D (consult the character tables at www.unicode.org), and whatever else strikes your fancy. For example, in xhtml-symbol.ent, there is the entry:
<!ENTITY infin "∞">
While the mapping "infin" to the character "\x{221E}" will (hopefully) have been already handled by the Pod parser, the presence of the character in this file means that it's reasonably important enough to include in a formatter's table that maps from notable Unicode characters to the codes necessary for rendering them. So for a Unicode-to-*roff mapping, for example, this would merit the entry:
"\x{221E}" => '\(in',
It is eagerly hoped that in the future, increasing numbers of formats (and formatters) will support Unicode characters directly (as (X)HTML does with "∞", "∞", or "∞"), reducing the need for idiosyncratic mappings of Unicode-to-my_escapes.
For example, this Pod text:
magic is enabled if you set C<$Currency> to 'E<euro>'.
may be rendered as: "magic is enabled if you set $Currency to '?'" or as "magic is enabled if you set $Currency to '[euro]'", or as "magic is enabled if you set $Currency to '[x20AC]', etc.
A Pod formatter may also note, in a comment or warning, a list of what unrenderable characters were encountered.
S<L</Autoloaded Functions>>
This means that the space in the middle of the visible link text must not be broken across lines. In other words, it's the same as this:
L<"AutoloadedE<160>Functions"/Autoloaded Functions>
However, a misapplied space-to-NBSP replacement could (wrongly) produce something equivalent to this:
L<"AutoloadedE<160>Functions"/AutoloadedE<160>Functions>
...which is almost definitely not going to work as a hyperlink (assuming this formatter outputs a format supporting hypertext).
Formatters may choose to just not support the S format code, especially in cases where the output format simply has no NBSP character/code and no code for "don't break this stuff across lines".
For example:
sigE<shy>action manuE<shy>script JarkE<shy>ko HieE<shy>taE<shy>nieE<shy>mi
These signal to a formatter that if it is to hyphenate "sigaction" or "manuscript", then it should be done as "sig-[linebreak]action" or "manu-[linebreak]script" (and if it doesn't hyphenate it, then the "E<shy>" doesn't show up at all). And if it is to hyphenate "Jarkko" and/or "Hietaniemi", it can do so only at the points where there is a "E<shy>" code.
In practice, it is anticipated that this character will not be used often, but formatters should either support it, or delete it.
Pod parsers may also note additional attributes including:
(The above were numbered only for concise reference below. It is not a requirement that these be passed as an actual list or array.)
For example:
L<Foo::Bar> => undef, # link text "Foo::Bar", # possibly inferred link text "Foo::Bar", # name undef, # section 'pod', # what sort of link "Foo::Bar" # original content L<Perlport's section on NL's|perlport/Newlines> => "Perlport's section on NL's", # link text "Perlport's section on NL's", # possibly inferred link text "perlport", # name "Newlines", # section 'pod', # what sort of link "Perlport's section on NL's|perlport/Newlines" # original content L<perlport/Newlines> => undef, # link text '"Newlines" in perlport', # possibly inferred link text "perlport", # name "Newlines", # section 'pod', # what sort of link "perlport/Newlines" # original content L<crontab(5)/"DESCRIPTION"> => undef, # link text '"DESCRIPTION" in crontab(5)', # possibly inferred link text "crontab(5)", # name "DESCRIPTION", # section 'man', # what sort of link 'crontab(5)/"DESCRIPTION"' # original content L</Object Attributes> => undef, # link text '"Object Attributes"', # possibly inferred link text undef, # name "Object Attributes", # section 'pod', # what sort of link "/Object Attributes" # original content L<http://www.perl.org/> => undef, # link text "http://www.perl.org/", # possibly inferred link text "http://www.perl.org/", # name undef, # section 'url', # what sort of link "http://www.perl.org/" # original content L<Perl.org|http://www.perl.org/> => "Perl.org", # link text "http://www.perl.org/", # possibly inferred link text "http://www.perl.org/", # name undef, # section 'url', # what sort of link "Perl.org|http://www.perl.org/" # original content
Note that you can distinguish URL-links from anything else by the fact that they match "m/\A\w+:[^:\s]\S*\z/". So "L<http://www.perl.com>" is a URL, but "L<HTTP::Response>" isn't.
Pod processors must now treat "text|"-less links as follows:
L<name> => L<name|name> L
 => L<"section"|/section> L<name/section> => L<"section" in name|name/section>
=head2 About the C<-M> Operator
or with:
=item About the C<-M> Operator
then a link to it would look like this:
L<somedoc/About the C<-M> Operator>
Formatters may choose to ignore the markup for purposes of resolving the link and use only the renderable characters in the section name, as in:

About the -M Operator
 ... About the -M Operator" in somedoc
But for some processors/formats this cannot be easily controlled; as with the HTML example, the behavior of multiple ambiguous ... is most easily just left up to browsers to decide.
L<B<ummE<234>stuff>|...>
For "L<...>" codes without a "name|" part, only "E<...>" and "Z<>" codes may occur. That is, authors should not use ""L<B<Foo::Bar>>"".
Note, however, that formatting codes and Z<>'s can occur in any and all parts of an L<...> (i.e., in name, section, text, and url).
Authors must not nest L<...> codes. For example, "L<The L<Foo::Bar> man page>" should be treated as an error.
In other words, this is valid:
Go read L<the docs on C<$.>|perlvar/"$.">
Some output formats that do allow rendering "L<...>" codes as hypertext, might not allow the link-text to be formatted; in that case, formatters will have to just ignore that formatting.
(Pod processors must tolerate a bare "=item" as if it were "=item *".) Whether "*" is rendered as a literal asterisk, an "o", or as some kind of real bullet character, is left up to the Pod formatter, and may depend on the level of nesting.
(Pod processors must tolerate lines like "=item 1" as if they were "=item 1.", with the period.)
The "=item [text]" paragraph should not match "m/\A=item\s+\d+\.?\s*\z/" or "m/\A=item\s+\*\s*\z/", nor should it match just "m/\A=item\s*\z/".
Note that with all the above cases, you can determine which type of "=over" ... "=back" you have, by examining the first (non-"=cut", non-"=pod") Pod paragraph after the "=over" command.
=item For cutting off our trade with all parts of the world
But they may be arbitrarily long:
=item For transporting us beyond seas to be tried for pretended offenses =item He is at this time transporting large armies of foreign mercenaries to complete the works of death, desolation and tyranny, already begun with circumstances of cruelty and perfidy scarcely paralleled in the most barbarous ages, and totally unworthy the head of a civilized nation.
=over =item 1 Pick up dry cleaning. =item 2 =item 3 Stop by the store. Get Abba Zabas, Stoli, and cheap lawn chairs. =back
=over =back
Pod processors seeing such a contentless "=over" ... "=back" region, may ignore it, or may report it as an error.
=item Neque =item Porro =item Quisquam Est Qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. =item Ut Enim
is semantically ambiguous, in a way that makes formatting decisions a bit difficult. On the one hand, it could be mention of an item "Neque", mention of another item "Porro", and mention of another item "Quisquam Est", with just the last one requiring the explanatory paragraph "Qui dolorem ipsum quia dolor..."; and then an item "Ut Enim". In that case, you'd want to format it like so:
Neque Porro Quisquam Est Qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut Enim
But it could equally well be a discussion of three (related or equivalent) items, "Neque", "Porro", and "Quisquam Est", followed by a paragraph explaining them all, and then a new item "Ut Enim". In that case, you'd probably want to format it like so:
Neque Porro Quisquam Est Qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut Enim
But (for the foreseeable future), Pod does not provide any way for Pod authors to distinguish which grouping is meant by the above "=item"-cluster structure. So formatters should format it like so:
Neque Porro Quisquam Est Qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut Enim
That is, there should be (at least roughly) equal spacing between items as between paragraphs (although that spacing may well be less than the full height of a line of text). This leaves it to the reader to use (con)textual cues to figure out whether the "Qui dolorem ipsum..." paragraph applies to the "Quisquam Est" item or to all three items "Neque", "Porro", and "Quisquam Est". While not an ideal situation, this is preferable to providing formatting cues that may be actually contrary to the author's intent.
=begin rtf \par{\pard\qr\sa4500{\i Printed\~\chdate\~\chtime}\par} =end rtf
The exact same effect could, incidentally, be achieved with a single "=for" paragraph:
=for rtf \par{\pard\qr\sa4500{\i Printed\~\chdate\~\chtime}\par}
(Although that is not formally a data paragraph, it has the same meaning as one, and Pod parsers may parse it as one.)
Another example of a data paragraph:
=begin html I like PIE!
Especially pecan pie! =end html
If these were ordinary paragraphs, the Pod parser would try to expand the "E" (in the first paragraph) as a formatting code, just like "E<lt>" or "E<eacute>". But since this is in a "=begin identifier"..."=end identifier" region and the identifier "html" doesn't begin have a ":" prefix, the contents of this region are stored as data paragraphs, instead of being processed as ordinary paragraphs (or if they began with a spaces and/or tabs, as verbatim paragraphs).
As a further example: At time of writing, no "biblio" identifier is supported, but suppose some processor were written to recognize it as a way of (say) denoting a bibliographic reference (necessarily containing formatting codes in ordinary paragraphs). The fact that "biblio" paragraphs were meant for ordinary processing would be indicated by prefacing each "biblio" identifier with a colon:
=begin :biblio Wirth, Niklaus. 1976. I<Algorithms + Data Structures = Programs.> Prentice-Hall, Englewood Cliffs, NJ. =end :biblio
This would signal to the parser that paragraphs in this begin...end region are subject to normal handling as ordinary/verbatim paragraphs (while still tagged as meant only for processors that understand the "biblio" identifier). The same effect could be had with:
=for :biblio Wirth, Niklaus. 1976. I<Algorithms + Data Structures = Programs.> Prentice-Hall, Englewood Cliffs, NJ.
The ":" on these identifiers means simply "process this stuff normally, even though the result will be for some special target". I suggest that parser APIs report "biblio" as the target identifier, but also report that it had a ":" prefix. (And similarly, with the above "html", report "html" as the target identifier, and note the lack of a ":" prefix.)
Note that a "=begin identifier"..."=end identifier" region where identifier begins with a colon, can contain commands. For example:
=begin :biblio Wirth's classic is available in several editions, including: =for comment hm, check abebooks.com for how much used copies cost. =over =item Wirth, Niklaus. 1975. I<Algorithmen und Datenstrukturen.> Teubner, Stuttgart. [Yes, it's in German.] =item Wirth, Niklaus. 1976. I<Algorithms + Data Structures = Programs.> Prentice-Hall, Englewood Cliffs, NJ. =back =end :biblio
Note, however, a "=begin identifier"..."=end identifier" region where identifier does not begin with a colon, should not directly contain "=head1" ... "=head4" commands, nor "=over", nor "=back", nor "=item". For example, this may be considered invalid:
=begin somedata This is a data paragraph. =head1 Don't do this! This is a data paragraph too. =end somedata
A Pod processor may signal that the above (specifically the "=head1" paragraph) is an error. Note, however, that the following should not be treated as an error:
=begin somedata This is a data paragraph. =cut # Yup, this isn't Pod anymore. sub excl { (rand() > .5) ? "hoo!" : "hah!" } =pod This is a data paragraph too. =end somedata
And this too is valid:
=begin someformat This is a data paragraph. And this is a data paragraph. =begin someotherformat This is a data paragraph too. And this is a data paragraph too. =begin :yetanotherformat =head2 This is a command paragraph! This is an ordinary paragraph! And this is a verbatim paragraph! =end :yetanotherformat =end someotherformat Another data paragraph! =end someformat
The contents of the above "=begin :yetanotherformat" ... "=end :yetanotherformat" region aren't data paragraphs, because the immediately containing region's identifier (":yetanotherformat") begins with a colon. In practice, most regions that contain data paragraphs will contain only data paragraphs; however, the above nesting is syntactically valid as Pod, even if it is rare. However, the handlers for some formats, like "html", will accept only data paragraphs, not nested regions; and they may complain if they see (targeted for them) nested regions, or commands, other than "=end", "=pod", and "=cut".
Also consider this valid structure:
=begin :biblio Wirth's classic is available in several editions, including: =over =item Wirth, Niklaus. 1975. I<Algorithmen und Datenstrukturen.> Teubner, Stuttgart. [Yes, it's in German.] =item Wirth, Niklaus. 1976. I<Algorithms + Data Structures = Programs.> Prentice-Hall, Englewood Cliffs, NJ. =back Buy buy buy! =begin html
 =end html Now now now! =end :biblio
There, the "=begin html"..."=end html" region is nested inside the larger "=begin :biblio"..."=end :biblio" region. Note that the content of the "=begin html"..."=end html" region is data paragraph(s), because the immediately containing region's identifier ("html") doesn't begin with a colon.
Pod parsers, when processing a series of data paragraphs one after another (within a single region), should consider them to be one large data paragraph that happens to contain blank lines. So the content of the above "=begin html"..."=end html" may be stored as two data paragraphs (one consisting of "\n" and another consisting of "
\n"), but should be stored as a single data paragraph (consisting of "\n\n
\n").
Pod processors should tolerate empty "=begin something"..."=end something" regions, empty "=begin :something"..."=end :something" regions, and contentless "=for something" and "=for :something" paragraphs. I.e., these should be tolerated:
=for html =begin html =end html =begin :biblio =end :biblio
Incidentally, note that there's no easy way to express a data paragraph starting with something that looks like a command. Consider:
=begin stuff =shazbot =end stuff
There, "=shazbot" will be parsed as a Pod command "shazbot", not as a data paragraph "=shazbot\n". However, you can express a data paragraph consisting of "=shazbot\n" using this code:
=for stuff =shazbot
The situation where this is necessary, is presumably quite rare.
Note that =end commands must match the currently open =begin command. That is, they must properly nest. For example, this is valid:
=begin outer X =begin inner Y =end inner Z =end outer
while this is invalid:
=begin outer X =begin inner Y =end outer Z =end inner
This latter is improper because when the "=end outer" command is seen, the currently open region has the formatname "inner", not "outer". (It just happens that "outer" is the format name of a higher-up region.) This is an error. Processors must by default report this as an error, and may halt processing the document containing that error. A corollary of this is that regions cannot "overlap". That is, the latter block above does not represent a region called "outer" which contains X and Y, overlapping a region called "inner" which contains Y and Z. But because it is invalid (as all apparently overlapping regions would be), it doesn't represent that, or anything at all.
Similarly, this is invalid:
=begin thing =end hting
This is an error because the region is opened by "thing", and the "=end" tries to close "hting" [sic].
This is also invalid:
=begin thing =end
This is invalid because every "=end" command must have a formatname parameter.
| 2019-10-21 | perl v5.30.3 |


 To celebrate/commiserate, we're remembering all the excellent & excellently batshit stuff that went down in the 2010s, from celeb drama to moments that changed the world forever. Get into it, folks.
We’re coming to the end of the decade, and that means one thing: remembering and laughing at our younger, dumber selves.
 That’s right: it’s time to roast some memes.
Memes, as defined by their creator Richard Dawkins, are something that gets passed from brain to brain, like an accent or a tune. I can only assume this means that in the early 2010s, all of our brains were riddled with worms. Remember when we all mistook saying “I can haz cheeseburger” as a personality stand-in? And how we continued to do it for years?
I argue this simple point: memes today (and in the latter half of the decade) are good.
They’re inventive, absurd, relatable, but mostly: they’re funny. Some formats hang around without becoming massively stale (e.g. Distracted Boyfriend), others are flash points that die almost as soon as they reach critical mass (e.g. 30 to 50 feral hogs). Both are good. Even memes like Salt Bae – where it turns out the hot man who dramatically salts his meat also hosts alleged murderous dictators – are good enough.
You know what wasn’t good? The stupid memes from the late 2000s / early 2010s, when any image overlaid with Impact typeface could be considered a meme. Plot twist: the oldest person in your office would still agree.
So in no particular order, here are some of the absolute most dogshit memes we used to think were funny.
Success Kid
Nothing says “corporate-friendly reminder to clean the kitchen sink” like a baby pumping his fist like he’s just nailed a mid-year sales meeting. I know he’s a baby but I hate him. Also, every time I see this stupid meme I’m reminded that when the kid grew up, he was forced to use his viral fame to finance his dad’s kidney transplant, which is one of the bleakest outcomes possible from becoming internet famous at a young age.
Scumbag Steve
Maybe the first handful of these were funny. The subsequent 4,000 of these memes were not. Mostly it makes me want to gently introduce Steve to a skincare routine, and tell him he doesn’t have to wear the clothes his mum bought him if he didn’t want.
Ermahgerd Gersberms
An 11-year-old girl with killer brows was a Goosebumps fan? And we made fun of her for that?
Bad Luck Brian
Brian is the darkest of the monolithic personality trait characters, and therefore the funniest. I hate him the least.
Annoying Facebook Girl
Annoying Facebook Girl was apt for describing an annoying Facebook habit back when everyone actually used the platform as their primary means of online conversation. But where, I ask you, was Annoying Facebook Boy? Answer: in your DMs, messaging “hey” every couple days until one of you dies.
 Every single edge lord on the internet between the years of 2009 and 2014 imagined themselves making this face every time they hit ‘post’. Rage comics were fine – internet comics come and go like everything else – but honestly, every person using Trollface in any kind of serious capacity just makes me thing they’re the literal embodiment of this tweet:
Pepe the Frog
Once upon a time, there was a whole meme economy around Pepe the Frog. Since they became very popular after their creator stopped drawing them, ‘rare Pepes’ found on weird corners were a thing. Then Pepe the Frog devolved into an alt-right meme, making it objectively the worst one.
Grumpy Cat
Grumpy Cat memes were the Garfield comics of 2012, only less funny and more prolific. An important destination here: the memes were awful, but the cat itself ruled. Rest in power, king.
 And then try and forget it – very quickly.
As a final closing note, please enjoy this deeply weird video I found while researching this article, which tracks the most popular memes by date over the past 15 years.


Classes | |
| class | crossings |
Public Types | |
| typedef Point | point_type |
| typedef PointOfSegment | segment_point_type |
| typedef crossings | state_type |
Static Public Member Functions | |
| static bool | apply (Point const &point, PointOfSegment const &seg1, PointOfSegment const &seg2, crossings &state) |
| static bool | result (crossings const &state) |
Definition at line 38 of file point_in_poly_franklin.hpp.
| typedef Point boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::point_type |
Definition at line 62 of file point_in_poly_franklin.hpp.
| typedef PointOfSegment boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::segment_point_type |
Definition at line 63 of file point_in_poly_franklin.hpp.
| typedef crossings boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::state_type |
Definition at line 64 of file point_in_poly_franklin.hpp.
| static bool boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::apply | ( | Point const & | point, | |
| PointOfSegment const & | seg1, | |||
| PointOfSegment const & | seg2, | |||
| crossings & | state | |||
| ) | [static] |
Definition at line 66 of file point_in_poly_franklin.hpp.
| static bool boost::geometry::strategy::within::franklin< Point, PointOfSegment, CalculationType >::result | ( | crossings const & | state | ) | [static] |
Definition at line 87 of file point_in_poly_franklin.hpp.
|
December 1, 2009 |
Copyright © 1995-2009 Barend Gehrels, Geodan, Amsterdam Copyright © 2008-2009 Bruno Lalande, Paris Copyright © 2009 Mateusz Loskot, Cadcorp, London |


Gale of defection hits PDP as 7 LG Chairmen defect to APC in Ekiti
by BankoleRotimi Ojomoyela
Ekiti-No fewer than seven serving local government chairmen elected on the platform of the People’s Democratic Party defected to the All Progressives Congress (APC) on Friday.
The defecting Chairmen were received into the APC by Governor Kayode Fayemi at a rally held at the Fajuyi Pavilion where they
The local government chairmen who defected to APC along with their supporters described Fayemi as a true leader who plays inclusive politics and never victimised them since coming to power last year.
Also read: Oshiomole brought back some discipline in the party ― APC Chieftain
The council chairmen who dumped PDP are Ayodeji Daniel ( Ekiti West), Abiodun Dada (Ijero), Yemi Ayeni (Ikere), Tunde Aladegbami (Ido/Osi), Sikiru Ogundana (Ekiti East), Olubayode Okeya (Emure), and Yemi Owoeye (Efon).
Governor Fayemi was represented at the rally by his Chief of Staff, Hon. Biodun Omoleye. Other party chieftains present include the state APC Chairman, Barrister Paul Omotoso and APC Southwest Zonal Publicity Secretary, Rt. Hon. Oladapo Karonwi.
The Vice chairmen and councillors in the seven councils also defected to APC just as some commercial motorcyclists and mining association members formally joined the party.
All the seven council chairmen who addressed the gathering one after the other promised to work hard for their new party in future elections.
They expressed gratitude to Fayemi for restoring them back to the office after they were removed from office by the immediate past Assembly, a development they said had not happened in the history of the state.
Okeya described Fayemi as “a real leader and a bridge builder who will go far in the politics of the country.”
Aladegbami said Fayemi has set a record in ensuring a harmonious relationship between opposition parties and never deceived or coerced them to join APC.
He described Fayemi as a promise keeper who is passionate about the development of Ekiti and better welfare for its people.
Ogundana advised the remaining local government chairmen still in PDP to accept the reality and cross over to APC which he described as the party Ekiti people are in love with
APC zonal spokesperson Hon. Karonwi said the defectors have taken the best decision “by quitting PDP whose governance structures have collapsed irretrievably.”
Receiving the new members, the party chairman, Barr Omotoso? who described them as great assets promised that they would not be discriminated against as they will enjoy same privileges with old members.
He said: “Nobody is a latecomer in our party, we are ready to accommodate you.
“You have seen the light and you will never go back to darkness again and together, we will move Ekiti forward
“I want to say that our doors are still open to those who are still in opposition to join us, come over to APC the party of the people.
Omotoso said APC would give them a better platform to contribute to Ekiti development. He urged them to join hands with the Governor in taking Ekiti to greater heights.


Home
News
Aboute me
->Wellocome to our website
->My name is Arsah
->I am 23 years old
->I am IT student of FTU
->ID: 581431030
->I am from Takbai Naratiwat
WELCOME TO MY SIDE
Arsah Pok-adek
I am studying at Fatoni University
Facebook
GMAIL
INSTRAGRAM
My general informations
My friends
My favorite foods
My favorite subjects
Affan
Mama
Programming
Nurdeeen/td>
Fried Cheiken
Arad
Ruslan
kakee
General
Nisreen
Lasa
English
Jovintage/td>
Tahi
Independent Study
Hanan
Roti
Programming


Expierenced in developing applications within .NET Standard, ASP.NET MVC, C#, Xamarin, Xamarin.Forms HTML, and CSS. I am currently a .NET Developer Intern for Auri's ideas. This includes developing updates for an app called CrimeWatch used by the Fisher's Police Department. All of this work is done within .NET Standard. In my free time I am constantly in code, reading about code, and reviewing PluralSight courses. Currently I am working on a mobile application in my free time that I am building with Xamarin and Xamarin.Forms. It is a tip calculator that could be used by servers and bartenders. That work is currently on GitHub under the TipCalc repository. My current objectives on that project is to make the UI more appealing and to store all the data throughout a workers shift and give the server/bartender stats at the end of their shift. The code is clean and all data is numeric.
Developing and maintaining code within an application called CrimeWatch that the Fishers Police Department uses. Code is written in .NET Standard and Xamarin. Through this opportunity I have been learning a lot about having clean, readable code, and coding with intent.
An advisor and developer on several short term projects. Strategizing and reviewing Eleven Fifty’s Advanced Course in C#.
Developing client facing website for Kingsley-Rose, and executive search firm based in Indianapolis, using WordPress PHP. Kingsley-Rose’s website has an average of 382 unique visitors each week with 1,014 page views. My job is to modernize the overall look of the website to stand out against their competition, make the user experience as natural as possible, get as much information to the site visitor as possible with them having do as little amount of searching as possible. Once the website is published, Kingsley-Rose expects it to have a directly positive effect on profit margins. I have weekly face to face meetings with CEO, Joe Huffine, and Manager, Julia Baer, on work progress and changes needed to be made. I have a final meeting with Kingsley Rose on Monday 4/23 to present the website to the other company leaders before publishing it to the web.
Worked in the construction for most of my adult life before decided to pursue my passion for technology in a more professional manner and continuing education through Eleven Fifty Academy.
I worked for the IT Director, Marc Yoder, and his IT Team. My responsibilities ranged from organizing and troubleshooting the network, cleaning up company data such as their employee data logs, upgrading software, building PC's, research, remotely connecting to overseas offices to resolve technical issues, on the spot problem solving and teamwork, and lastly helping the other departments of the company with their day to day ticket issued technology issues.


This is the interactive Topaz Clinical Data Explorer (CDE), which can be used to send RESTful requests to, and receive responses from the Topaz server.


I am a civil engineer, public servant, actor, and improviser. I am learning how to code front and and back end so I can bring my mixture of design, engineering skills, and creagtivity together in way people can enjoy!
I enjoy writing front-end AND back-end code with these languages
Please feel free to email me at<EMAIL_ADDRESS>or you can Google me!


ngoy is a standalone library with no dependencies to any web server/framework. All it needs is an OutputStream to write the contents to.
Since we are going to produce HTML, it is best to spin off a web server and view the HTML contents in the browser. We are going to use a Gradle/Spring Boot application for that purpose. So for this guide you must have gradle installed.
The ngoy-starter-web repository is a good place to start. Let's clone it:
git clone https://github.com/krizzdewizz/ngoy-starter-web {{forApp}}
cd {{ forApp == null ? 'ngoy-starter-web' : forApp }}
In
settings.gradle
, change the project name to
tour-of-heroes
:
rootProject.name = 'tour-of-heros'
Run the web server:
gradle runand open http://localhost:8080 in the browser.


{% extends "base.html" %} {% block title %}IETF Guides{% endblock %} {% block content %}
The IETF Guides Program matches experienced IETF participants with newcomers in order to aid their integration into the IETF community through advice, help, and collected wisdom. The guidance provided should speed up the time it takes for newcomers to become active, contributing members of the IETF.
Please note that this is separate from the Internet Society Fellowship to the IETF program.
If you are a newcomer to the IETF (you've attended less than 5 IETFs) and wish to request a Guide for an upcoming IETF meeting, start here. For more information, please review the FAQ for potential participants.
Request a GuideFirst off, thank you for being willing to help by participating as a Guide. Guides are advisors, coaches, and teachers that provide the guidance needed to assist IETF newcomers in developing the skills needed to participate effectively within the IETF standards process. For more information on the skills required, please see the FAQ for potential guides.
Become a Guide


| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Hanako | Qiita | @Hanaq |
| 2 | Taro | Qiita | @TaroQ |
| 3 | Haime | Qiita | @HajiQ |
| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Hanako | Qiita | @Hanaq |
| 2 | Taro | Qiita | @TaroQ |
| 3 | Haime | Qiita | @HajiQ |
| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Hanako | Qiita | @Hanaq |
| 2 | Taro | Qiita | @TaroQ |
| 3 | Haime | Qiita | @HajiQ |
This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
Last updated 3 mins ago
This card has supporting text below as a natural lead-in to additional content.
Last updated 3 mins ago
This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.
Last updated 3 mins ago
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
Last updated 3 mins ago
Some quick example text to build on the card title and make up the bulk of the card's content.
With supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereWith supporting text below as a natural lead-in to additional content.
Go somewhereYou can use the mark tag to highlight text.
This line of text is meant to be treated as deleted text.
This line of text is meant to be treated as no longer accurate.
This line of text is meant to be treated as an addition to the document.
This line of text will render as underlined
This line of text is meant to be treated as fine print.
This line rendered as bold text.
This line rendered as italicized text.

Sample text here...

And another line of sample text here...

だいたいこのページを参考にしてます #123 St. Kansas City, MO
+34 1234 5678
<EMAIL_ADDRESS>これからやるべきこと 8/15


Competitive team based coding heuristic to identify the ballmer peak
It's like Airbnb but for programming competitions


I give blood?
Sometimes it is not possible for you to give blood, or we may have to ask you to wait for a period of time before donating again. To save donors from wasted time and wasted journeys, this page addresses some of the most common questions about eligibility.
If you have an existing medical condition, or have a question about your eligibility to give blood, you should check the health & eligibility and travel section before you book an appointment. Remember, if you ever need to cancel a donation appointment we ask that you give us 3 days' notice so that we can offer your appointment to another donor. You can easily cancel or reschedule your existing appointments by signing in to your online account or using the NHSGiveBlood app.
Can I donate if I feel ill, have a chesty cough, a cold sore or am coming down with a cold?
If you are feeling under the weather with any of these things it’s best that you wait until you feel better before you give blood. Use our health & eligibility section to find out more.
Can I donate blood if I am taking antibiotics or have an infection?
You must be completely healed or recovered from any infection for at least 14 days before you give blood. If you are taking antibiotics you may need to wait a period of time after your last tablet. Please follow our advice about donating after an infection. Please also see our advice about donating after antibiotics.
Can I donate if I am pregnant, or have recently been pregnant?
During your pregnancy, you are not able to give blood. If you had a blood transfusion during your pregnancy or at delivery then you will not be able to become a blood donor. Please follow our advice about giving blood during and after pregnancy.
Can I give blood if I am receiving medical treatment or taking medication?
We’ll need to check that you can donate. Whether or not you can donate will depend on the medication you are receiving as well as the condition for which you are being treated. Please search for your condition or medication in our health & eligibility section.
Can I give blood if I have been to the dentist or received dental treatment?
We will need to have more information to know if you can give blood. It will depend on your specific heart condition. Please see our advice for giving blood with a heart condition.
Can I donate if I have got a tattoo or a body piercing?
If you had this done recently you may have to wait before you can donate again. Please follow our advice about giving blood after a tattoo or getting your body pierced.
We do not prevent people from becoming blood donors based on their sexuality. There are some restrictions for blood donors who take part in activities deemed risk behaviours by the Advisory Committee on the Safety of Blood, Tissues and Organs who advise UK ministers and health departments.
In November 2017 there were changes to the blood donor selection criteria for men who have sex with men. You can read our news statement about the blood donor selection changes.
Appointment availability
Don’t worry if you can’t find an appointment straight away – we build stock by prioritising the most in demand blood types so we can make up any shortfall. It may be that an appointment date, time and location that suits you isn’t immediately available.
Register now and book an appointment to give blood in the months ahead or if you want to donate sooner, then donate at one of our 23 permanent donor centres.
© blood donation.com
for more information
CONTACT US - +91<PHONE_NUMBER>


|
Embedded Artistry Framework
Embedded Systems C++ Framework
|
Interfaces and components for building a processor interface. More...
Classes | |
| class | embvm::VirtualProcessorBase< TProcessor > |
| Virtual Processor Base. More... | |
| class | embvm::VirtualProcessorArchBase< TArchitecture > |
| Virtual Interface for Common Architecture-Specific Functionality. More... | |
Interfaces and components for building a processor interface.
| class embvm::VirtualProcessorBase |
Virtual Processor Base.
This class provides the common interfaces and behaviors that virtual processors must implement. Some functionality is common to all platforms (name functions).
Functions whose names are appended with _
are meant to be supplied by the derived hardware platform:
Derived classes may supply additional functions as required. The functions above are the common required functions that all hardware platforms must supply.
This class uses the docs/development/patterns/crtp.md ["CRTP pattern"] rather than virtual inheritance. To derive from this class, do the following:
| TProcessor | the derived pocessor implementation (CRTP pattern) |
Public Member Functions | |
| VirtualProcessorBase (const char *name) noexcept | |
| Create a named virtual hardware platform. More... | |
| VirtualProcessorBase (const std::string &name) noexcept | |
| Create a named virtual hardware platform. More... | |
| VirtualProcessorBase (const std::string_view &name) noexcept | |
| Create a named virtual hardware platform. More... | |
| ~VirtualProcessorBase ()=default | |
| Default destructor. More... | |
| VirtualProcessorBase (const VirtualProcessorBase &)=delete | |
| Deleted copy constructor. More... | |
| const VirtualProcessorBase & | operator= (const VirtualProcessorBase &)=delete |
| Deleted copy assignment operator. More... | |
| VirtualProcessorBase (VirtualProcessorBase &&)=delete | |
| Deleted move constructor. More... | |
| VirtualProcessorBase & | operator= (VirtualProcessorBase &&)=delete |
| Deleted move assignment operator. More... | |
| constexpr const std::string_view & | name () const noexcept |
| Returns the Virtual HW Platform's name. More... | |
| constexpr const char * | name_cstr () const noexcept |
| Returns the platform name as a cstring for C API compatibility. More... | |
| void | init () noexcept |
| Initialize the processor. More... | |
| void | reset () noexcept |
| Reset the chip. More... | |
Static Public Member Functions | |
| static void | earlyInitHook () noexcept |
| Perform any special initialization steps. More... | |
Private Attributes | |
| const std::string_view | name_ |
|
inlineexplicitnoexcept |
Create a named virtual hardware platform.
| name | C-string containing the hardware platform name |
|
inlineexplicitnoexcept |
Create a named virtual hardware platform.
| name | std::string containing the hardware platform name Note: VirtualProcessorBase uses a std::string_view, so the std::string must remain valid throughout the lifetime of VirtualProcessorBase. |
|
inlineexplicitnoexcept |
Create a named virtual hardware platform.
| name | std::string_view containing the hardware platform name Note: VirtualProcessorBase uses a std::string_view, so the std::string_view must remain valid throughout the lifetime of VirtualProcessorBase. |
|
default |
Default destructor.
|
delete |
Deleted copy constructor.
|
delete |
Deleted move constructor.
|
inlinestaticnoexcept |
Perform any special initialization steps.
The earlyInitHook_() function must be implemented by the derived class as a static function.
These functions run before the C Run-time setup functions are called, and normal functionality (e.g. OS concepts) are not available.
Early initialization steps represent any super early code that needs to execute. For example, DRAM might need to be initialized before the boot process can relocate memory to its proper location in memory.
These functions are declared static to prevent you from easily using drivers within their confines
|
inlinenoexcept |
Initialize the processor.
The initProcessor_() function must be implemented by the derived class.
Perform any steps necessary for initializing the processor & processor peripheral devices for use.
Note that this is only intended to be processor initialization. Platform initialization nis handled by the init() function.
This function will likely invoke the VirtualProcessor::init() function, but the order and actual initialization process is left to the derived class.
Referenced by BlinkySimulatorHWPlatform::initProcessor_(), and FWDemoSimulatorHWPlatform::initProcessor_().
|
inlinenoexcept |
Returns the Virtual HW Platform's name.
|
inlinenoexcept |
Returns the platform name as a cstring for C API compatibility.
|
delete |
Deleted copy assignment operator.
|
delete |
Deleted move assignment operator.
|
inlinenoexcept |
Reset the chip.
The reset_() function must be implemnted by the derived class.
A soft reset is intended to reset the program to the beginning without performing a full power cycle.
|
private |
| class embvm::VirtualProcessorArchBase |
Virtual Interface for Common Architecture-Specific Functionality.
Virtual processor arch won't actually be part of the processor's inheritance tree. There will be a base class, or set of classes, which can be inherited from through CRTP. All methods will be static. There won't be an instance directly. This will allow us to keep things separated much more nicely.
Public Member Functions | |
| VirtualProcessorArchBase (const VirtualProcessorArchBase &)=delete | |
| Deleted copy constructor. More... | |
| const VirtualProcessorArchBase & | operator= (const VirtualProcessorArchBase &)=delete |
| Deleted copy assignment operator. More... | |
| VirtualProcessorArchBase (VirtualProcessorArchBase &&)=delete | |
| Deleted move constructor. More... | |
| VirtualProcessorArchBase & | operator= (VirtualProcessorArchBase &&)=delete |
| Deleted move assignment operator. More... | |
Static Public Member Functions | |
| static void | interruptsEnable () noexcept |
| static void | interruptsDisable () noexcept |
| static void | memoryBarrier () noexcept |
| static void | instructionBarrier () noexcept |
Protected Member Functions | |
| ~VirtualProcessorArchBase ()=default | |
| VirtualProcessorArchBase ()=default | |
|
delete |
Deleted copy constructor.
|
delete |
Deleted move constructor.
|
protecteddefault |
|
protecteddefault |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
delete |
Deleted copy assignment operator.
|
delete |
Deleted move assignment operator.


Suggestions
General
All pages, no matter what type, should:
- have the service title in the top bar as it appears throughout the service
- avoid alpha or beta banners
- avoid breadcrumbs
- use the H1 and page title "Service unavailable"
- be clear and concise without using colour or language that may alarm or confuse people, like red text or phrases like private beta
Maintenance – planned
When a service is shuttered on purpose we do not need to be sorry. We need to tell them when it is coming back.
- Template
- Employment intermediaries – they do not have a contact page
- Tax credits – service is not a verb
Technical problem – unplanned
When a service goes offline and it is unplanned, we need to be sorry. Because we did not take it down on purpose, it is unlikely that we can say when it will be back. We should not be too apologetic – ‘We really apologise and our engineers are working on the problem’ –.
If the technical problem is going to last for a longer time, the page could be changed to say that and provide alternatives.
- Template
- Employment intermediaries – no contact information as there is not a non-digital way to do whatever you need to do
- Tax credits
Closed
When a service is closed, like tax credits renewals is for 8 months a year, provide details of what the user can do. This might be a link to a contact page, or giving them that information on the page so they do not have to go to another page.
- Template
- Employment intermediaries – no contact information as there is not a non-digital way to do whatever you need to do
- Tax credits
Not available yet
When a service, like tax credits renewals, is due to come back online, the closed page should be changed to let the user know when it will be available.


Congratulations the installation process is complete. Please chmod the installation as follows below
chmod the installation directory
eg: chmod -R 555 cs100
chmod the php files to be readable only by the php instance
eg find . -type f -name '*.php' -exec chmod 511 {} \;
chmod cache to be writable and readable by the software
eg: chmod -R 711 cache
chmod templates/content to be writable and readable by the software
eg: chmod -R 711 templates/content
chmod config to be writable and readable by the software
eg: chmod -R 711 config
chmod example script:
chmod -R 555 cs100
find ./cs100 -type f -name '*.php' -exec chmod 511 {} \;
chmod -R 711 cs100/cache
chmod -R 711 cs100/templates/content
chmod -R 711 cs100/config
Please also delete the directory "install" under the root for the web template.
Click here to visit the main page


Last Revised: January 14, 2019
These terms of service ("Terms") apply to your access and use of Keynotedex (the "Service"). Please read them carefully.
If you access or use the Service, it means you agree to be bound by all of the terms below. So, before you use the Service, please read all of the terms. If you don't agree to all of the terms below, please do not use the Service. Also, if a term does not make sense to you, please let us know by e-mailing<EMAIL_ADDRESS>We reserve the right to modify these Terms at any time. For instance, we may need to change these Terms if we come out with a new feature or for some other reason.
Whenever we make changes to these Terms, the changes are effective 30 days after we post such revised Terms (indicated by revising the date at the top of these Terms) or upon your acceptance if we provide a mechanism for your immediate acceptance of the revised Terms (such as a click-through confirmation or acceptance button). It is your responsibility to check Keynotedex for changes to these Terms.
If you continue to use the Service after the revised Terms go into effect, then you have accepted the changes to these Terms.
For information about how we collect and use information about users of the Service, please check out our privacy policy available at keynotedex.wiyarmir.es/privacy.
From time to time, we may provide you with links to third party websites or services that we do not own or control. Your use of the Service may also include the use of applications that are developed or owned by a third party. Your use of such third party applications, websites, and services is governed by that party's own terms of service or privacy policies. We encourage you to read the terms and conditions and privacy policy of any third party application, website or service that you visit or use.
When you create an account or use another service to log in to the Service, you agree to maintain the security of your password and accept all risks of unauthorized access to any data or other information you provide to the Service.
If you discover or suspect any Service security breaches, please let us know as soon as possible.
Our Service allows you and other users to post, link and otherwise make available content. You are responsible for the content that you make available to the Service, including its legality, reliability, and appropriateness.
When you post, link or otherwise make available content to the Service, you grant us the right and license to use, reproduce, modify, publicly perform, publicly display and distribute your content on or through the Service. We may format your content for display throughout the Service, but we will not edit or revise the substance of your content itself.
Aside from our limited right to your content, you retain all of your rights to the content you post, link and otherwise make available on or through the Service.
You can remove the content that you posted by deleting it. Once you delete your content, it will not appear on the Service, but copies of your deleted content may remain in our system or backups for some period of time.
You may not post, link and otherwise make available on or through the Service any of the following:
Also, you agree that you will not do any of the following in connection with the Service or other users:
We put a lot of effort into creating the Service including, the logo and all designs, text, graphics, pictures, information and other content (excluding your content). This property is owned by us or our licensors and it is protected by international copyright laws. We grant you the right to use it.
However, unless we expressly state otherwise, your rights do not include: (i) publicly performing or publicly displaying the Service; (ii) modifying or otherwise making any derivative uses of the Service or any portion thereof; (iii) using any data mining, robots or similar data gathering or extraction methods; (iv) downloading (other than page caching) of any portion of the Service or any information contained therein; (v) reverse engineering or accessing the Service in order to build a competitive product or service; or (vi) using the Service other than for its intended purposes. If you do any of this stuff, we may terminate your use of the Service.
You may create a hyperlink to the Service. But, you may not use, frame or utilize framing techniques to enclose any of our trademarks, logos or other proprietary information without our express written consent.
Guillermo Orellana makes no claim or representation regarding, and accepts no responsibility for third party websites accessible by hyperlink from the Service or websites linking to the Service. When you leave the Service, you should be aware that these Terms and our policies no longer govern.
If there is any content on the Service from you and others, we don't review, verify or authenticate it, and it may include inaccuracies or false information. We make no representations, warranties, or guarantees relating to the quality, suitability, truth, accuracy or completeness of any content contained in the Service. You acknowledge sole responsibility for and assume all risk arising from your use of or reliance on any content.

  THIS SECTION WILL BE GIVEN FULL EFFECT EVEN IF ANY REMEDY SPECIFIED IN THIS AGREEMENT IS DEEMED TO HAVE FAILED OF ITS ESSENTIAL PURPOSE.
You agree to defend, indemnify and hold us harmless from and against any and all costs, damages, liabilities, and expenses (including attorneys' fees, costs, penalties, interest and disbursements) we incur in relation to, arising from, or for the purpose of avoiding, any claim or demand from a third party relating to your use of the Service or the use of the Service by any person using your account, including any claim that your use of the Service violates any applicable law or regulation, or the rights of any third party, and/or your violation of these Terms.
We take intellectual property rights seriously. In accordance with the Digital Millennium Copyright Act ("DMCA") and other applicable law, we have adopted a policy of terminating, in appropriate circumstances and, at our sole discretion, access to the service for users who are deemed to be repeat infringers.
The validity of these Terms and the rights, obligations, and relations of the parties under these Terms will be construed and determined under and in accordance with the laws of the United Kingdom, without regard to conflicts of law principles.
You expressly agree that exclusive jurisdiction for any dispute with the Service or relating to your use of it, resides in the courts of the United Kingdom and you further agree and expressly consent to the exercise of personal jurisdiction in the courts of the United Kingdom located in London in connection with any such dispute including any claim involving Service. You further agree that you and Service will not commence against the other a class action, class arbitration or other representative action or proceeding.
If you breach any of these Terms, we have the right to suspend or disable your access to or use of the Service.
These Terms constitute the entire agreement between you and Guillermo Orellana regarding the use of the Service, superseding any prior agreements between you and Guillermo Orellana relating to your use of the Service.
Please let us know what you think of the Service, these Terms and, in general, Keynotedex. When you provide us with any feedback, comments or suggestions about the Service, these Terms and, in general, Keynotedex, you irrevocably assign to us all of your right, title and interest in and to your feedback, comments and suggestions.
Questions or comments about the Service may be directed to us at the email address hi@wiyarmir.es.


Car projections with Ellipsoid prior
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Car projections with Smoothed Box prior
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Cat projections with Ellipsoid prior
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Cat projections with Smoothed Box prior
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Face projections with Ellipsoid prior
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Face projections with Smoothed Box prior
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Projections with Confidence based prior
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.
Something went wrong while loading the interactive projections, please try changing your browser.


Beta version
TLDR: neverssl.com is improving, but you'll barely notice the change except that it should work in more cases. You can try the beta version right now by going to http://neverssl.com/v2.
Improvements coming soon to NeverSSL
NeverSSL.com started as a quick and simple fix for a personal nuisance; getting online at the airport, on planes, in hotels, and at cafés had been getting harder because broken "Wifi capture" networks don't work well with HTTPS, and the web is finally moving to HTTPS by default.
After using wifi in 3 airports and 4 planes this weekend, I've created https://t.co/D2lIJuCQvr to make logging on a little bit easier.
— Colm MacCárthaigh (@colmmacc) October 24, 2016
It took about 30 minutes to set up neverssl.com, it's just a simple website hosted on AWS (disclaimer: I work at AWS) and a stylesheet designed by Mark Webster. The landing page is kept very small and simple, no ads, no animations, it just gets you online.
In the time since NeverSSL launched, it's been featured by several news sites, technical tip columns, and lots of word-of-mouth recommendations. As a result, it's now grown to about 6 million hits per day, and that's just the traffic that makes it through to the landing page, presumably more traffic is being intercepted by the capture portals. It's pretty rewarding to see 30 minutes of effort pay off by saving so many people some time and frustration.
As with any unexpected success, it's important to double down. While NeverSSL.com is simple, over the past 18 months I've encountered a few edge cases where NeverSSL.com didn't work. If I can hit them on my own, then they probably impact thousands of people, and some improvements are due!
What's changing?
Firstly, what isn't changing is that NeverSSL.com will continue to be a free, fast, and tiny website. Still no animations, or distractions.
I also want to keep neverssl.com ad free, but as it's now costing me about $2,000 a year to host it, I may add an single fixed unobtrusive logo and link, if I can find a suitable sponsor, to recoup the hosting costs.
If you've got a better idea, feel free to let me know via the next change: NeverSSL now has a twitter account. I'll also be embeding a link to the NeverSSL twitter account on the new landing page. Hopefully this can serve as a useful feedback channel, as it's been too hard for users to reach out and make suggestions or complaints.
I'm also publishing the Git repo I use to manage NeverSSL, so if you want a sneak preview of other changes I make, or you want to submit improvements or issues, you can do both at https://github.com/colmmacc/neverssl.com.
Enhanced Cache-busting
Today NeverSSL.com has a single landing page, and while caching is aggressively disabled for that page, users can still run into caching problems that prevent them from getting online.
One problem is that when some browsers 'detect' that they are not online, they fall back to a stale in-browser cache and simply display the page without trying to make a request. This fails to trigger the Wifi's captive portal.
Another problem is that some Wifi capture networks can be over-zealous with spoofing DNS [*]. These networks typically rewrite DNS responses to resolve to the private IP address of the capture portal, but they can use TTLs that are too big. If your device tries to connect to a few networks in rapid succession, it can end up with the bad DNS entries from a network it is no longer connected to, and leaves you unable to get online.
To fix these problems, NeverSSL.com is moving to a two page model. The first page will be very very small, it's just loading some javascript, and it doesn't matter if your browser caches it. Actually it's good if your browser caches it.
What this page will do is generate a url that looks like:
http://lxzmwvtdsnrhkfbc.neverssl.com/online/
and redirect your browser there. The part before the dot is random data, and there are billions of trillions of possibilities. That makes each redirect unique, and each DNS lookup uncacheable, so it gets through very broken DNS setups I don't like that it makes the final browser url a bit ugly, but C'est La Vie.
NeverSSL data aggregation
Since broken captive networks are a real nuisance, another change I am planning is to use neverssl.com to collate aggregated data on where the most broken networks are.
To do this, I'm planning to add a small amount of state tracking (via cookies) to the first landing page. I'm still experimenting, but I hope that it will be possible to identify cases where the wifi capture was triggered and to subsequently record these measurements to a logging service.
My goal is to publish a monthly list of the most broken networks to the NANOG mailing list. I'm hopeful that this data will assist network operators, consultants and others in helping to convince network owners to fix their networks.
All IP address data will be anonymized to at least the /24 (for IPv4) or /64 level (for IPv6).
Gratuitous Footnote on DNSSEC
Whenever I bring up DNS spoofing, people often wish that DNSSEC were more widely deployed to prevent it. In fact, DNSSEC wouldn't help in this case, or in almost any real world attack case. DNSSEC does nothing to protect you from your DNS resolver (the wifi capture network, in this case), or from other users on your network. Nor does it provide privacy, or protection against domains being blocked. From someone who has both worked on cryptography, and written DNS implementations: don't use DNSSEC, it's silly.
- Colm MacCárthaigh
Follow @neverssl


Nested synchronized tables (NSTs) are internal Proximity data structures that provide a more convenient and intuitive way to view the vertically fragmented data required by MonetDB’s storage model. You can export the data in any NST to a tab-delimited text file for use in other applications. (See “Working with Proximity Tables” for additional information about NSTs and their use in Proximity.)
Exporting NST data to tab-delimited text files
The following steps require that you be serving a database using the MonetDB server and running the Proximity Database Browser. See Exercise 4.1 for information on starting and using the Proximity Database Browser.
From the Proximity Database Browser start page, click browse tables. Proximity opens the NST browser.
Select and display the target NST, drilling down to the appropriate data NST as needed.
From the File menu, choose Export to File. Proximity displays the Open dialog.
Navigate to the target output directory and enter a file name for the exported data in the Save As box. You can only export data to a file on the same machine as that serving the database.
Click Save. Proximity saves the exported data in the specified file.


| First Name | Last Name | Job Title | Date of Birth | Location | Company |
|---|---|---|---|---|---|
| First Name Stas | Last Name Melnikov | Job Title Front-end Developer | Date of Birth December 3, 1990 | Location Penza | Company DevLabPro |
| First Name Anton | Last Name Fokusenko | Job Title HTML-coder | Date of Birth Jule 31, 1990 | Location Penza | Company DevLabPro |
| First Name Alexsandr | Last Name Pershin | Job Title Back-end Developer | Date of Birth Jule 31, 1980 | Location Penza | Company DevLabPro |


This Award recognizes members of the CSZ who have contributed enormously to the well being of zoology in Canada by working hard for the CSZ, often well beyond the call of duty, but in ways that are not currently recognized by other Society awards such as those for research (e.g. Fry Medal, Wardle Award) or public education.
The award is a scroll and an engraved medal, patterned after the Fry Medal, presented at the AGM. The scroll will identify the contributions of the recipient.
Funded through CSZ general revenues.
Offered only when a deserving candidate is identified. In exceptional, and only exceptional, cases Council may decide to award more than one medal in a given year.
Nominations for the Award may be made to the Chair of the Recognition Committee by any two Society members in good standing. Nominees may not be current members of Council. The nomination should state the rationale for making the nomination.
At least one month before the December meeting of Council.


Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
B
C
D
E
F
G
H
I
M
N
O
P
R
S
T
U
V
V
valueOf(String)
- Static method in enum com.mcc.ul.
AiChanMode
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AiChanQueueLimitation
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AiChanType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AiQueueType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AiScanOption
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AiUnit
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AlarmType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AoChanType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AoScanOption
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AoUnit
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
AutoShutdownCriteria
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
CalTableType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
ChargingCriteria
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
CtrType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
DaqDeviceInterface
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
DaqEventType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
DigitalDirection
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
DigitalPortIOType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
DigitalPortType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
DioScanOption
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
ErrorInfo
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
FirmwareModule
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
IPAddressSetting
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
MemAccessType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
MemoryRegion
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
NetInterfaceType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
Range
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
RejectionFrequency
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
ScanDirection
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
TcType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
TempOption
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
TempScale
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
ThresholdUnit
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
TmrIdleState
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
TmrOutStatus
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
TmrType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
TriggerSourceType
Returns the enum constant of this type with the specified name.
valueOf(String)
- Static method in enum com.mcc.ul.
TriggerType
Returns the enum constant of this type with the specified name.
values()
- Static method in enum com.mcc.ul.
AiChanMode
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AiChanQueueLimitation
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AiChanType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AiQueueType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AiScanOption
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AiUnit
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AlarmType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AoChanType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AoScanOption
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AoUnit
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
AutoShutdownCriteria
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
CalTableType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
ChargingCriteria
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
CtrType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
DaqDeviceInterface
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
DaqEventType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
DigitalDirection
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
DigitalPortIOType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
DigitalPortType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
DioScanOption
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
ErrorInfo
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
FirmwareModule
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
IPAddressSetting
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
MemAccessType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
MemoryRegion
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
NetInterfaceType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
Range
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
RejectionFrequency
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
ScanDirection
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
TcType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
TempOption
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
TempScale
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
ThresholdUnit
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
TmrIdleState
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
TmrOutStatus
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
TmrType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
TriggerSourceType
Returns an array containing the constants of this enum type, in the order they are declared.
values()
- Static method in enum com.mcc.ul.
TriggerType
Returns an array containing the constants of this enum type, in the order they are declared.
virtual
- Variable in class com.mcc.ul.
DaqDeviceDescriptor
The boolean value that indicates if the descriptor references a virtual or physical device.
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
B
C
D
E
F
G
H
I
M
N
O
P
R
S
T
U
V


'The General's Daughter' (1999)
A movie review by Walter Frith
<EMAIL_ADDRESS>Member of the 'Online Film Critics Society' http://www.ofcs.org
Rather than making sharp independent productions with a low budget and high degree of skill like his 1994 comeback 'Pulp Fiction', John Travolta has chosen to embrace the big studio system of commercial enterprise and has only made two great movies since 'Pulp Fiction' and they are 1995's 'Get Shorty' and 'Primary Colors' in 1998 for which he should have received an Oscar nomination.
Travolta's latest disappointment is directed by Simon West ('Con Air) 'who has a dim eye for supporting characters in this film and structures his movie like a darkly trimmed and photographed structure of shadows that you would expect to find in a Tony Scott movie. In fact, you could throw out many of the supporting players in this flick with big names like James Woods, James Cromwell and Timothy Hutton and replace them with minimum wage actors and you couldn't tell the difference. The only thing that is worse than this muddled scenario is that the film's two leads (John Travolta and Madeline Stowe) don't have distinct sides to their personality and rather than look like investigators getting deep inside a murder case, they look more like chess players simply going through the moves.
Getting involved in the plot of 'The General's Daughter' is like meeting an old acquaintance somewhere in public that you weren't very fond of. You want to keep the encounter brief, you want to go on your way as soon as possible and you want to forget about it as soon as possible. Getting involved with this film's characters is like attending an open seminar at a large banquet centre where a business meeting is going on. You smile politely at others, you never get to know them and you'll be glad when it's all over.
With a screenplay by Christopher Bertolini and the masterful William Goldman (a major bust here), based on the novel by Nelson DeMille, 'The General's Daughter' attempts to cover familiar ground with a conclusion you won't care about and you won't want to tell others about it after you've seen the film with any great anticipation.
Travolta and Stowe play Paul Brenner and Sarah Sunhill. One is a warrant officer and the other a rape investigator who look into the matter of a young female army captain named Elisabeth Campbell (Leslie Stefanson) who has been murdered. Throughout the course of the investigation, they uncover many potential suspects, including the one they think is the most likely to have committed the crime, Colonel Moore (James Woods). There is even the suspicion that the general may have been the one responsible for his daughter's death with a high agenda for national political office and a cover-up that will save his chances at getting elected. It wouldn't make a difference if I did give away the ending because chances are you won't care about it. Remember 1992's 'The Bodyguard' where the assassin was actually a minor character that was given little or no focus in the film.......ditto here and that still gives nothing away because there are so many of them in 'The General's Daughter'.
Strangely, I felt that 'The General's Daughter' had a look and feel to it similar to 1990's 'Presumed Innocent'. The characters in that film, such as the prosecutors, the defence attorney and the wife of the accused were important but underwritten characters. Here, the same thing happens with the film's key players and the film has some rather goofy and amateur dialogue and situations where the characters think they're impressing those around them with their intelligence when in fact it's really synthetic and too obvious.
OUT OF 5 > * * 1/2
Visit FILM FOLLOW-UP by Walter Frith http://www.cgocable.net/~wfrith/movies.htm
* * * * * - a must see * * * * 1/2 - don't miss it * * * * - an excellent film * * * 1/2 - a marginal recommendation * * * - can't quite recommend it * * 1/2 - don't recommend it * * - avoid it * 1/2 - avoid it seriously * - avoid it AT ALL COSTS 1/2 - see it at your own risk zero - may be hazardous to your health
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews