PRINTF
Section: Linux Programmer's Manual (3)
Updated: 2014-07-08
Index
Return to Main Contents
NAME
printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf,
vsnprintf - formatted output conversion
SYNOPSIS
#include <stdio.h>
int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
#include <stdarg.h>
int vprintf(const char *format, va_list ap);
int vfprintf(FILE *stream, const char *format, va_list ap);
int vsprintf(char *str, const char *format, va_list ap);
int vsnprintf(char *str, size_t size, const char *format, va_list ap);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
snprintf(),
vsnprintf():
-
_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L;
or
cc -std=c99
DESCRIPTION
The functions in the
printf()
family produce output according to a
format
as described below.
The functions
printf()
and
vprintf()
write output to
stdout,
the standard output stream;
fprintf()
and
vfprintf()
write output to the given output
stream;
sprintf(),
snprintf(),
vsprintf()
and
vsnprintf()
write to the character string
str.
The functions
snprintf()
and
vsnprintf()
write at most
size
bytes (including the terminating null byte ('\0')) to
str.
The functions
vprintf(),
vfprintf(),
vsprintf(),
vsnprintf()
are equivalent to the functions
printf(),
fprintf(),
sprintf(),
snprintf(),
respectively, except that they are called with a
va_list
instead of a variable number of arguments.
These functions do not call the
va_end
macro.
Because they invoke the
va_arg
macro, the value of
ap
is undefined after the call.
See
stdarg(3).
These eight functions write the output under the control of a
format
string that specifies how subsequent arguments (or arguments accessed via
the variable-length argument facilities of
stdarg(3))
are converted for output.
C99 and POSIX.1-2001 specify that the results are undefined if a call to
sprintf(),
snprintf(),
vsprintf(),
or
vsnprintf()
would cause copying to take place between objects that overlap
(e.g., if the target string array and one of the supplied input arguments
refer to the same buffer).
See NOTES.
Return value
Upon successful return, these functions return the number of characters
printed (excluding the null byte used to end output to strings).
The functions
snprintf()
and
vsnprintf()
do not write more than
size
bytes (including the terminating null byte ('\0')).
If the output was truncated due to this limit, then the return value
is the number of characters (excluding the terminating null byte)
which would have been written to the final string if enough space
had been available.
Thus, a return value of
size
or more means that the output was truncated.
(See also below under NOTES.)
If an output error is encountered, a negative value is returned.
Format of the format string
The format string is a character string, beginning and ending
in its initial shift state, if any.
The format string is composed of zero or more directives: ordinary
characters (not
%),
which are copied unchanged to the output stream;
and conversion specifications, each of which results in fetching zero or
more subsequent arguments.
Each conversion specification is introduced by
the character
%,
and ends with a
conversion specifier.
In between there may be (in this order) zero or more
flags,
an optional minimum
field width,
an optional
precision
and an optional
length modifier.
The arguments must correspond properly (after type promotion) with the
conversion specifier.
By default, the arguments are used in the order
given, where each '*' and each conversion specifier asks for the next
argument (and it is an error if insufficiently many arguments are given).
One can also specify explicitly which argument is taken,
at each place where an argument is required, by writing "%m$" instead
of '%' and "*m$" instead of '*',
where the decimal integer m denotes
the position in the argument list of the desired argument, indexed starting
from 1.
Thus,
printf("%*d", width, num);
and
printf("%2$*1$d", width, num);
are equivalent.
The second style allows repeated references to the
same argument.
The C99 standard does not include the style using '$',
which comes from the Single UNIX Specification.
If the style using
'$' is used, it must be used throughout for all conversions taking an
argument and all width and precision arguments, but it may be mixed
with "%%" formats which do not consume an argument.
There may be no
gaps in the numbers of arguments specified using '$'; for example, if
arguments 1 and 3 are specified, argument 2 must also be specified
somewhere in the format string.
For some numeric conversions a radix character ("decimal point") or
thousands' grouping character is used.
The actual character used
depends on the
LC_NUMERIC
part of the locale.
The POSIX locale
uses '.' as radix character, and does not have a grouping character.
Thus,
printf("%'.2f", 1234567.89);
results in "1234567.89" in the POSIX locale, in "1234567,89" in the
nl_NL locale, and in "1.234.567,89" in the da_DK locale.
The flag characters
The character % is followed by zero or more of the following flags:
- #
-
The value should be converted to an "alternate form".
For
o
conversions, the first character of the output string is made zero
(by prefixing a 0 if it was not zero already).
For
x
and
X
conversions, a nonzero result has the string "0x" (or "0X" for
X
conversions) prepended to it.
For
a,
A,
e,
E,
f,
F,
g,
and
G
conversions, the result will always contain a decimal point, even if no
digits follow it (normally, a decimal point appears in the results of those
conversions only if a digit follows).
For
g
and
G
conversions, trailing zeros are not removed from the result as they would
otherwise be.
For other conversions, the result is undefined.
- 0
-
The value should be zero padded.
For
d,
i,
o,
u,
x,
X,
a,
A,
e,
E,
f,
F,
g,
and
G
conversions, the converted value is padded on the left with zeros rather
than blanks.
If the
0
and
-
flags both appear, the
0
flag is ignored.
If a precision is given with a numeric conversion
(d,
i,
o,
u,
x,
and
X),
the
0
flag is ignored.
For other conversions, the behavior is undefined.
- -
-
The converted value is to be left adjusted on the field boundary.
(The default is right justification.)
The converted value is padded on the right with blanks, rather
than on the left with blanks or zeros.
A
-
overrides a
0
if both are given.
- ' '
-
(a space) A blank should be left before a positive number
(or empty string) produced by a signed conversion.
- +
-
A sign (+ or -) should always be placed before a number produced by a signed
conversion.
By default a sign is used only for negative numbers.
A
+
overrides a space if both are used.
The five flag characters above are defined in the C99 standard.
The Single UNIX Specification specifies one further flag character.
- '
-
For decimal conversion
(i,
d,
u,
f,
F,
g,
G)
the output is to be grouped with thousands' grouping characters
if the locale information indicates any.
Note that many versions of
gcc(1)
cannot parse this option and will issue a warning.
(SUSv2 did not
include %'F, but SUSv3 added it.)
glibc 2.2 adds one further flag character.
- I
-
For decimal integer conversion
(i,
d,
u)
the output uses the locale's alternative output digits, if any.
For example, since glibc 2.2.3 this will give Arabic-Indic digits
in the Persian ("fa_IR") locale.
The field width
An optional decimal digit string (with nonzero first digit) specifying
a minimum field width.
If the converted value has fewer characters
than the field width, it will be padded with spaces on the left
(or right, if the left-adjustment flag has been given).
Instead of a decimal digit string one may write "*" or "*m$"
(for some decimal integer m) to specify that the field width
is given in the next argument, or in the m-th argument, respectively,
which must be of type
int.
A negative field width is taken as a '-' flag followed by a
positive field width.
In no case does a nonexistent or small field width cause truncation of a
field; if the result of a conversion is wider than the field width, the
field is expanded to contain the conversion result.
The precision
An optional precision, in the form of a period ('.') followed by an
optional decimal digit string.
Instead of a decimal digit string one may write "*" or "*m$"
(for some decimal integer m) to specify that the precision
is given in the next argument, or in the m-th argument, respectively,
which must be of type
int.
If the precision is given as just '.', the precision is taken to
be zero.
A negative precision is taken as if the precision were omitted.
This gives the minimum number of digits to appear for
d,
i,
o,
u,
x,
and
X
conversions, the number of digits to appear after the radix character for
a,
A,
e,
E,
f,
and
F
conversions, the maximum number of significant digits for
g
and
G
conversions, or the maximum number of characters to be printed from a
string for
s
and
S
conversions.
The length modifier
Here, "integer conversion" stands for
d,
i,
o,
u,
x,
or
X
conversion.
- hh
-
A following integer conversion corresponds to a
signed char
or
unsigned char
argument, or a following
n
conversion corresponds to a pointer to a
signed char
argument.
- h
-
A following integer conversion corresponds to a
short int
or
unsigned short int
argument, or a following
n
conversion corresponds to a pointer to a
short int
argument.
- l
-
(ell) A following integer conversion corresponds to a
long int
or
unsigned long int
argument, or a following
n
conversion corresponds to a pointer to a
long int
argument, or a following
c
conversion corresponds to a
wint_t
argument, or a following
s
conversion corresponds to a pointer to
wchar_t
argument.
- ll
-
(ell-ell).
A following integer conversion corresponds to a
long long int
or
unsigned long long int
argument, or a following
n
conversion corresponds to a pointer to a
long long int
argument.
- L
-
A following
a,
A,
e,
E,
f,
F,
g,
or
G
conversion corresponds to a
long double
argument.
(C99 allows %LF, but SUSv2 does not.)
This is a synonym for
ll.
- j
-
A following integer conversion corresponds to an
intmax_t
or
uintmax_t
argument, or a following
n
conversion corresponds to a pointer to an
intmax_t
argument.
- z
-
A following integer conversion corresponds to a
size_t
or
ssize_t
argument, or a following
n
conversion corresponds to a pointer to a
size_t
argument.
- t
-
A following integer conversion corresponds to a
ptrdiff_t
argument, or a following
n
conversion corresponds to a pointer to a
ptrdiff_t
argument.
SUSv3 specifies all of the above.
SUSv2 specified only the length modifiers
h
(in
hd,
hi,
ho,
hx,
hX,
hn)
and
l
(in
ld,
li,
lo,
lx,
lX,
ln,
lc,
ls)
and
L
(in
Le,
LE,
Lf,
Lg,
LG).
The conversion specifier
A character that specifies the type of conversion to be applied.
The conversion specifiers and their meanings are:
- d, i
-
The
int
argument is converted to signed decimal notation.
The precision, if any, gives the minimum number of digits
that must appear; if the converted value requires fewer digits, it is
padded on the left with zeros.
The default precision is 1.
When 0 is printed with an explicit precision 0, the output is empty.
- o, u, x, X
-
The
unsigned int
argument is converted to unsigned octal
(o),
unsigned decimal
(u),
or unsigned hexadecimal
(x
and
X)
notation.
The letters
abcdef
are used for
x
conversions; the letters
ABCDEF
are used for
X
conversions.
The precision, if any, gives the minimum number of digits
that must appear; if the converted value requires fewer digits, it is
padded on the left with zeros.
The default precision is 1.
When 0 is printed with an explicit precision 0, the output is empty.
- e, E
-
The
double
argument is rounded and converted in the style
[-]d.ddde±dd
where there is one digit before the decimal-point character and the number
of digits after it is equal to the precision; if the precision is missing,
it is taken as 6; if the precision is zero, no decimal-point character
appears.
An
E
conversion uses the letter
E
(rather than
e)
to introduce the exponent.
The exponent always contains at least two
digits; if the value is zero, the exponent is 00.
- f, F
-
The
double
argument is rounded and converted to decimal notation in the style
[-]ddd.ddd,
where the number of digits after the decimal-point character is equal to
the precision specification.
If the precision is missing, it is taken as
6; if the precision is explicitly zero, no decimal-point character appears.
If a decimal point appears, at least one digit appears before it.
(SUSv2 does not know about
F
and says that character string representations for infinity and NaN
may be made available.
SUSv3 adds a specification for
F.
The C99 standard specifies "[-]inf" or "[-]infinity"
for infinity, and a string starting with "nan" for NaN, in the case of
f
conversion, and "[-]INF" or "[-]INFINITY" or "NAN*" in the case of
F
conversion.)
- g, G
-
The
double
argument is converted in style
f
or
e
(or
F
or
E
for
G
conversions).
The precision specifies the number of significant digits.
If the precision is missing, 6 digits are given; if the precision is zero,
it is treated as 1.
Style
e
is used if the exponent from its conversion is less than -4 or greater
than or equal to the precision.
Trailing zeros are removed from the
fractional part of the result; a decimal point appears only if it is
followed by at least one digit.
- a, A
-
(C99; not in SUSv2, but added in SUSv3)
For
a
conversion, the
double
argument is converted to hexadecimal notation (using the letters abcdef)
in the style
[-]0xh.hhhhp±;
for
A
conversion the prefix
0X,
the letters ABCDEF, and the exponent separator
P
is used.
There is one hexadecimal digit before the decimal point,
and the number of digits after it is equal to the precision.
The default precision suffices for an exact representation of the value
if an exact representation in base 2 exists
and otherwise is sufficiently large to distinguish values of type
double.
The digit before the decimal point is unspecified for nonnormalized
numbers, and nonzero but otherwise unspecified for normalized numbers.
- c
-
If no
l
modifier is present, the
int
argument is converted to an
unsigned char,
and the resulting character is written.
If an
l
modifier is present, the
wint_t
(wide character) argument is converted to a multibyte sequence by a call
to the
wcrtomb(3)
function, with a conversion state starting in the initial state, and the
resulting multibyte string is written.
- s
-
If no
l
modifier is present: The
const char *
argument is expected to be a pointer to an array of character type (pointer
to a string).
Characters from the array are written up to (but not
including) a terminating null byte ('\0');
if a precision is specified, no more than the number specified
are written.
If a precision is given, no null byte need be present;
if the precision is not specified, or is greater than the size of the
array, the array must contain a terminating null byte.
If an
l
modifier is present: The
const wchar_t *
argument is expected to be a pointer to an array of wide characters.
Wide characters from the array are converted to multibyte characters
(each by a call to the
wcrtomb(3)
function, with a conversion state starting in the initial state before
the first wide character), up to and including a terminating null
wide character.
The resulting multibyte characters are written up to
(but not including) the terminating null byte.
If a precision is
specified, no more bytes than the number specified are written, but
no partial multibyte characters are written.
Note that the precision
determines the number of
bytes
written, not the number of
wide characters
or
screen positions.
The array must contain a terminating null wide character, unless a
precision is given and it is so small that the number of bytes written
exceeds it before the end of the array is reached.
- C
-
(Not in C99 or C11, but in SUSv2, SUSv3, and SUSv4.)
Synonym for
lc.
Don't use.
- S
-
(Not in C99 or C11, but in SUSv2, SUSv3, and SUSv4.)
Synonym for
ls.
Don't use.
- p
-
The
void *
pointer argument is printed in hexadecimal (as if by
%#x
or
%#lx).
- n
-
The number of characters written so far is stored into the integer
pointed to by the corresponding argument.
That argument shall be an
int *,
or variant whose size matches the (optionally)
supplied integer length modifier.
No argument is converted.
The behavior is undefined if the conversion specification includes
any flags, a field width, or a precision.
- m
-
(Glibc extension.)
Print output of
strerror(errno).
No argument is required.
- %
-
A '%' is written.
No argument is converted.
The complete conversion
specification is '%%'.
CONFORMING TO
The
fprintf(),
printf(),
sprintf(),
vprintf(),
vfprintf(),
and
vsprintf()
functions conform to C89 and C99.
The
snprintf()
and
vsnprintf()
functions conform to C99.
Concerning the return value of
snprintf(),
SUSv2 and C99 contradict each other: when
snprintf()
is called with
size=0
then SUSv2 stipulates an unspecified return value less than 1,
while C99 allows
str
to be NULL in this case, and gives the return value (as always)
as the number of characters that would have been written in case
the output string has been large enough.
SUSv3 and later align their specification of
snprintf()
with C99.
glibc 2.1 adds length modifiers hh, j, t, and z
and conversion characters a and A.
glibc 2.2 adds the conversion character F with C99 semantics,
and the flag character I.
NOTES
Some programs imprudently rely on code such as the following
sprintf(buf, "%s some further text", buf);
to append text to
buf.
However, the standards explicitly note that the results are undefined
if source and destination buffers overlap when calling
sprintf(),
snprintf(),
vsprintf(),
and
vsnprintf().
Depending on the version of
gcc(1)
used, and the compiler options employed, calls such as the above will
not
produce the expected results.
The glibc implementation of the functions
snprintf()
and
vsnprintf()
conforms to the C99 standard, that is, behaves as described above,
since glibc version 2.1.
Until glibc 2.0.6, they would return -1
when the output was truncated.
BUGS
Because
sprintf()
and
vsprintf()
assume an arbitrarily long string, callers must be careful not to overflow
the actual space; this is often impossible to assure.
Note that the length
of the strings produced is locale-dependent and difficult to predict.
Use
snprintf()
and
vsnprintf()
instead (or
asprintf(3)
and
vasprintf(3)).
Code such as
printf(foo);
often indicates a bug, since
foo
may contain a % character.
If
foo
comes from untrusted user input, it may contain %n, causing the
printf()
call to write to memory and creating a security hole.
EXAMPLE
To print
Pi
to five decimal places:
#include <math.h>
#include <stdio.h>
fprintf(stdout, "pi = %.5f\n", 4 * atan(1.0));
To print a date and time in the form "Sunday, July 3, 10:02",
where
weekday
and
month
are pointers to strings:
#include <stdio.h>
fprintf(stdout, "%s, %s %d, %.2d:%.2d\n",
weekday, month, day, hour, min);
Many countries use the day-month-year order.
Hence, an internationalized version must be able to print
the arguments in an order specified by the format:
#include <stdio.h>
fprintf(stdout, format,
weekday, month, day, hour, min);
where
format
depends on locale, and may permute the arguments.
With the value:
"%1$s, %3$d. %2$s, %4$d:%5$.2d\n"
one might obtain "Sonntag, 3. Juli, 10:02".
To allocate a sufficiently large string and print into it
(code correct for both glibc 2.0 and glibc 2.1):
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
char *
make_message(const char *fmt, ...)
{
int n;
int size = 100; /* Guess we need no more than 100 bytes */
char *p, *np;
va_list ap;
p = malloc(size);
if (p == NULL)
return NULL;
while (1) {
/* Try to print in the allocated space */
va_start(ap, fmt);
n = vsnprintf(p, size, fmt, ap);
va_end(ap);
/* Check error code */
if (n < 0) {
free(p);
return NULL;
}
/* If that worked, return the string */
if (n < size)
return p;
/* Else try again with more space */
size = n + 1; /* Precisely what is needed */
np = realloc(p, size);
if (np == NULL) {
free(p);
return NULL;
} else {
p = np;
}
}
}
If truncation occurs in glibc versions prior to 2.0.6, this is treated as an
error instead of being handled gracefully.
SEE ALSO
printf(1),
asprintf(3),
dprintf(3),
scanf(3),
setlocale(3),
wcrtomb(3),
wprintf(3),
locale(5)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- Return value
-
- Format of the format string
-
- The flag characters
-
- The field width
-
- The precision
-
- The length modifier
-
- The conversion specifier
-
- CONFORMING TO
-
- NOTES
-
- BUGS
-
- EXAMPLE
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:55:00 GMT, September 18, 2014


Artificial taxonomy generator
Select source taxonomy
Change percentage
Congruency
Splits
0%
10%
20%
30%
40%
50%
60%
70%
Merges
0%
10%
20%
30%
40%
50%
60%
70%
Moves
0%
10%
20%
30%
40%
50%
60%
70%
Renames
0%
10%
20%
30%
40%
50%
60%
70%
News
0%
10%
20%
30%
40%
50%
60%
70%
Exclusions
0%
10%
20%
30%
40%
50%
60%
70%
Typos
0%
10%
20%
30%
40%
50%
60%
70%
(The percentage of congruence must be at least 30%)
*** Invalid percentage values ***
Generate


Stories
A winning combination
Soraya Danesh is helping students prepare for natural disasters and also make sure their residences are fire-safe.
While these tasks may seem administrator-worthy, UCSC undergrads are actually carrying them out as part of a unique mentorship arrangement called the Chancellor's Undergraduate Internship Program, or CUIP.
Started 17 years ago as a way to open communication between administrators and students during a contentious time of budget cutbacks and campus development, it has turned into a solid way for students to hone their professional chops and for the university to have needs filled at the same time.
"My tag line for the program is, 'learn, earn, and serve," said Barbara Silverthorne, director of the Career Center.
Under the program, as many as 36 students each year are matched with projects that will help the university in some way. They are required to work 15 hours per week, attend leadership classes, and have a concrete result at the end of the year. In exchange, they are given an $8,200 stipend toward their tuition.
CUIP interns have set up support programs for military veterans returning to college. They have redesigned a child-care center playground, found ways to encourage minority students to stay in school, helped create climate action plans, and analyzed survey data to provide student feedback to campus units.
Along the way, they have learned career skills like problem-solving, consensus-building, and self-motivation, Silverthorne said. Program alumni have gone on to work as political consultants, city planners, lawyers, academics, grassroots organizers, and teachers.
"They set up a system so you can work independently and also get support when you need it," said 21-year-old Bradley (Kresge, '13, environmental studies).
CUIP relies on the UCSC Fund for half of its $250,000 budget, unrestricted money that is used to support top campus priorities.
Said Chancellor George Blumenthal: "Thanks to our donors, we can not only offer students a hands-on leadership experience but also get a tangible benefit for the university at the same time. It's a winning combination."


Along With Shahid Kapoor, Kabir Singh Has Been A Game Changer For Singer Akhil Sachdeva Too!
Now, Akhil Sachdeva's 9 year old song O Saajna is part of Ekta Kapoor's web show Broken...But Beautiful 2.
by IANSSinger Akhil Sachdeva, who wooed the audience with his song Tera ban jaunga from Kabir Singh earlier this year, says he has witnessed a lot of changes in his life after the film’s humongous success.
“After ‘Kabir Singh’, people showered me with a lot of love and a lot more offers started coming my way. I am glad that my song got the right platform. The song is truly a blessing,” he said.
And now his 9 year old song “O Saajna” is part of Ekta Kapoor’s web show “Broken…But Beautiful 2“.
Penned and sung by Akhil, “O Saajna” is a soulful song.
“This song has been an integral part of my journey and when I made Ekta Ma’am hear it , she loved the same and said yes in one go. ‘O Saajna’ is a song where no changes have been made, from the lyrics to the music, everything remains the same. Sunny M.R. has done a fantastic job in keeping the vibe and feel same but added some live instrumentation to give it a fresh feel,” Akhil added.


This project shows how a website could authenticate / identify a user based on how the user uses her keyboard. The project uses ml.js a machine learning toolkit written in Javascript. This project was initially designed for a presentation for the 2018 APJ RSA Conference.
Click on Keystroke Dynamics Demo to load the demo. It is a self contained demo which will run in your browser.
Here is the presentation delivered at RSA Conference APJ 2018.
I had done the Cognitive SoC demo earlier at SICW the video is available here.


Hey, whatever floats your boat, Mel…so to speak.
The Spice Girls star has revealed she’s had relationships with both men and women, but seems when it comes to her theatrical proclivities it’s all about the ladies.
In the world of adult entertainment, you see, she prefers to watch something ‘more sensual’, and when there is momentous chatter about sexism in heterosexual porn she sort of has a point.
Speaking on podcast The Truth Flirts – which she hosts in partnership with dating app Badoo – Scary Spice said: ‘Lesbian porn is more sensual, I think anyway. It’s nicer and kinder.’

Mel – who has three daughters from previous relationships – also discussed the differences between men and women when it comes to dating, and admitted her time with former flame Christine Crokos was ‘really beautiful’ with hardly any arguments.
Advertisement Advertisement
She added: ‘I do think that dating women is very different to dating men…
‘I had a five-year relationship with a woman and it was an intense five years but it was actually a really beautiful five years.
‘We barely kind of argued, because we both thought the same, wanted the same out of life. It was really interesting when I actually compare it to my other relationships.’
The star may be more than ok with voicing her views on the podcast, but outspoken Mel previously admitted she found it a little ‘cringey’ talking to her daughter Phoenix, 18, about the birds and the bees.
‘When Phoenix was about 16, I was like, we need to sit down and have a word about safe sex and contraception, and she was like “what?”’ Mel said.
‘And I think all her other friends had never even had that conversation with their mothers. I’m so glad, as cringey as it was, I was very to the point, I told her about boys’ intentions, or the main intentions of boys at that age.
‘We spoke about contraception thoroughly, about condoms, what happens when you don’t use a condom, which I think terrified her to her core.’
Got a showbiz story?
If you've got a story, video or pictures get in touch with the Metro.co.uk Entertainment team by emailing us<EMAIL_ADDRESS>calling 020 3615 2145 or by visiting our Submit Stuff page - we'd love to hear from you.


-
Announcements
-
If you donate, Get this! 12/24/2016
Hello everyone! We are becoming a huge community and that doesn't come cheap. All staff here are volunteers and do this because they love the site. Right now, everything is paid out of pocket, by Erroneous. We would love for you to donate in order to help out with the site costs (i.e. Forum License, Domain Name, Hosting) so that we can keep Security and Forum Software up to date and possibly add some new features. If you do decide to donate, we have some fun, snazzy gifts of appreciation for you ;) Please message me (Shark) so we can get you the gifts of appreciation! We thank you for your support! HAPPY HOLIDAYS!!! Please use this link for more info _____________________________________________________________________________________________________________________________ How To Donate Scroll to the bottom of the screen and click the donate button.
-
Notable Donors! 01/04/2017
Here is where we honor the donors who go above and beyond the call of Aincrad!
Top Tier Donors! Row Teayre Nezumi Percival Zandra Alice Atzo Azrael Baldur Dominion Ignavus_veneficus Lee Mack Macradon Piera Ruus Sarial Hawke Unyeilding To express our gratitude, here is a picture of the iconic duo for all you wonderful supporters! -
The SAO Staff Team! 02/22/2017
Hello members of SAO-RPG!
I'm sure most of you (if not some) have noticed or heard changes were made to the staff team. If you are applying to staff, you may have noticed that the application process has recently changed. This has all happened because of a reformation of the staff team and the way it operates. The staff now has separate teams for development. These teams are: Floor Creation Team [Floors, Quests/Events, Bosses], Systems & Clarifications Team, and Player Support Team.
"Who is on these teams?" Well the answer to that lies below! Floor Team Systems & Clarifications Team Player Support Team * - Denotes Team Lead
We also have a team to work on and develop the current systems but that team will search for its members and is not allowed to be applied to.
Now you may be asking, "Shark, how does one apply to the Staff Team?" And I have but 1 simple answer!
Go read this thread and it may answer all your questions!
If you have any more questions, send me a PM and I will answer your questions about staff. (Only the format of teams and/or the application process) -
SAO 2.0 May Patch Notes 05/16/2017
Praise thee to @Teion, in which spent her time creating all these patches. <<May 2017 Patch Notes>> Hello players! The following are complete notes on the upcoming patch that will be released once Floor 21 has been unlocked. These rules are not yet in effect, but an announcement will be made once they are officially implemented.
As always, any threads that are in-progress when the patch goes live will follow the same rules as when they were started. Skills, items, new threads and evaluations, etc., must adhere to all new rules once the patch has been released.
General Rule Updates:
First off, there are a few general rule changes and clarifications. These have been amended or added to the relevant guides until the 2.0 rewrite has been completed. Post Count Requirements: A completed page of roleplay is 20 in-character posts. Thread summaries are mandatory, but they may be posted either in a separate post or together with the last IC post. Rules on Vanity Potions: Cannot affect a player's psyche. Cannot manipulate a player's will. Cannot alter an avatar's appearance in drastic ways (missing limbs, transmogrification, etc.) Cannot affect any systems that would be directly controlled by Cardinal (pain dampeners, language or speech, players' senses, etc.) Alcohol in SAO: While alcoholic drinks exist in Sword Art Online and can be created by Cooks, players do not actually ingest any alcohol they may drink. It is not possible to become drunk, however some players could be prone to a placebo effect. Regardless, it is important to note that players cannot become intoxicated by drinking alcohol.
Dice Roller Tutorial Update:
The Dice Roller has been updated with some new rules regarding the "Roll Purpose" section: Rolls must clearly state the full action in the Roll Purpose field. When attacking: targets, sword arts, skills, etc., must be included. When crafting: tier and item type (not enhancements) must be included. Any loot, crafts, etc., that do not abide by the new rules must be submitted for evaluation before the end of the Floor 20 boss fight. Evaluations that do not meet the new criteria after the patch's release will not be able to be approved.
Appraisal Rework and Loot Changes:
The Merchant's Appraisal system has been reworked to Identify: The loot table and treasure chest guides have been rewritten. Permanent items obtained through chests or from killing mobs are now "Unidentified". Unidentified items are not submitted for evaluation by the person who looted the item. These items must be brought to a Merchant to be identified. Unidentified items cannot be used or equipped. Merchants will use their crafting rolls to identify items, similarly to the appraisal system. The Merchant who identifies the item is responsible for submitting the item for evaluation before it can be used.
The Loot Guide has been rewritten: There is now a Floor minimum and maximum for standard parameters. Monsters may not be spawned below or above these stats. Players must use a post action out of combat to inspect unidentified weapons and armor to determine their type. Players may not search for materials in safe zones, shops, etc. Separate Loot Die rolls are required when facing multiple enemies.
The Treasure Chest system has been revamped: Chests can be searched for every 20 posts. Sub-dungeons and chests cannot be searched for closely together. The Picking skill is no longer required to open chests. It is still the only modifier that affects rolls to open chests. Treasure chest rewards have been changed. Items found in chests are also unidentified. Check out the complete updates in the new Loot & Treasure Chest Guide and Merchant Guide sections.
<<The Gemini>> Quest Rewrite:
<<The Gemini>> quest and the skills it awards (Concentration and Disguise) have been rewritten: Players that have already completed <<The Gemini>> may re-take the quest in order to switch the skill they received in their initial completion. Players may not repeat the quest if they are not switching their current skill. Repeat completion will not award the col or additional SP from the quest rewards. Concentration (5 round cooldown): Gives +1 to the BD result for a single action. Can be applied after the roll. Can only be used against monsters. Disguise (5 round cooldown): Gives +1 to the BD result for a single action. Can be applied after the roll. Can only be used against players/NPCs.
New Beginner Quest: <<The Venomous Warg>>:
A new beginner quest has been released! With a level cap of 15 or below, this quest can be taken solo or with a party of 2.
Skill & Mod Changes:
Support players rejoice! First Aid has been reworked and given a few new mods. A new skill/mod focused around energy is being added. Focused Howl and the Dismantling mod have been adjusted. Fighting Spirit and Picking have been reworked. First Aid: No longer requires a roll to use. Healing amount has been reduced to 4% max HP per rank, down from 8%. Now has an energy cost based on the amount of healing done. Field Medic (Mod): No longer requires a roll to use. Energy cost now scales with user's total energy. New Mod - Sharpness: Increases your target's damage for a short time. Does not stack. New Mod - Barrier: Increases your target's mitigation for a short time. Does not stack. New Mod - Purify: Removes a status effect from your target
New Skill - Energize: Spend energy to restore another target player's energy. New Mod - Hyperactive: Increase a target's passive energy regeneration for a short time.
 Fighting Spirit: Increases Hate generated from attacks by 1. Missing an attack will generate 1 Hate, successful attacks will generate 2, and critical hits will generate 3 before other modifiers. Picking: No longer has ranks. Provides a flat LD bonus to opening chests. Dismantling (Mod): Reduced SP cost to 8 from 9.
Enhancement List Update:
The Enhancement List has been completely rewritten. We recommend checking out the link above and reviewing the full list. For some quick notes, the following has been significantly changed: Cook/Fisherman enhancement names have been normalized. Light Momentum: Gives temporary Accuracy instead of damage after an unsuccessful attack. Regen: Reworked. Now provides a healing over time effect after taking damage. No longer stacks with Battle Healing. Recovery: Now scales with Tier. Taunt: No longer unique. Can be applied to weapons, shields, and trinkets. Skill Rank: Renamed to "Expertise". Alcoholic: Renamed to "Protein". Reworked. Now reduces mitigation instead of evasion. Energize: Renamed to "Vitality". Now scales with Tier. Monster Call: Reworked. Monsters spawn at minimum loot requirement stats. LD bonus scales with slots but does not stack with other consumable LD bonsues. Misperception: Damage reduced from enemies changed to 10% (rounded down) from a flat 4. Fallen Damage: Now triggers on successful attack rolls of 6-8 (before modifiers) rather than any non-critical attack. Phase: Reduced the slot cap to 1 down from 2. Removed the second slot effect. Freeze: Attacks against frozen enemies now removes the effect and deals additional damage. Life Mending: Reworked. Now increases the user's healing done to other targets through the use of skills and consumable items. Absolute Accuracy: Reworked. Allows natural attack rolls of 1 to no longer automatically miss. Gives +1 to the BD when attacking (stacks with regular Accuracy). Caps at 1. Flame Aura: Reduced the mitigation received to (6 per slot * Tier) down from (9 per slot * Tier). Reduced the damage dealt to (5 per slot * Tier) down from (8 per slot * Tier). Combat Craft has been removed. Paralyze Water has been removed.
-
Privacy Policy
The team here at Sword Art Online Roleplay Community respect your privacy and will not share any of your registration information at any time with any users, partners, affiliates, third-party contents without your expressed written permission. In addition, all information stored in our database, while protected by security systems and our privacy terms, is viewable only to the highest level of staff member on this site; this includes your posts, internet service provider, email address, encrypted password, private messages, and file uploads. Therefore if you wish not for any of the mentioned related information to be saved on our database, please do not share or provide any said information without thorough consideration on your part.


I am a full stack developer with a deep appreciation for clean and intuitive design. I have experience in Python, Java and Node JS and am always excited to learn new technologies. I bring with me over a decade of experience as a professional musician, having recorded cello for both indie and major label artists, television and motion pictures.
I love fun and creative work environments and enjoy bringing out the best in others. I am seeking an opportunity where I can work with a team of like minded individuals to build applications that have a positive impact on the world we live in.
Also, cats.
| Dev Tools |
VS Code, Spring Tool Suite, Postman, My SQL Workbench, Git/GitHub
| Languages |
HTML5, CSS3, Python, Java, JavaScript
| Frameworks |
Angular, Django, Flask, Express, Spring Boot, Bootstrap
| Methodologies |
REST APIs, CRUD Applications, OOP, MVC/MTV, Responsive Design
| Databases |
MySQL, NoSQL, SQLLite, MongoDB, SQL
"An app that allows session musicians to easily add recording credits to a single web page."
Tech stack: Python / Django / SQLite
With the advent of digital media, physical music products such as compact discs have become a thing of the past. An unfortunate side effect of this evolution has been the extinction of liner notes and, along with them, proper credits for the musicians who played on the recordings. In the absence of liner notes or an updated online database of credits, it is almost as if the recording never happened. Thus, in the new digital landscape, musicians are largely on their own when it comes to showcasing the work that they have done.
Musician Credits is an attempt to provide a simple and elegant interface for musicians like myself to showcase our work for others, particularly potential employers. The app allows users to create an account, log in, add a recording, and edit or delete said recording, all via form entries (no need to deal with HTML or anything resembling code). There are options to provide links to YouTube and/or Spotify as well as album art. Best of all, the interface is responsive and mobile friendly.
Musicians of the world, unite and take over.
Close"An app that simultaneously produces three random vegetarian recipes at the push of a button."
Tech stack: Node JS, Angular, Express
Every Sunday my wife asks me what she should make for dinner that week. I'm not the quickest thinker when it comes to food ideas, especially vegetarian ones (my wife is vegetarian), so I decided to build this app to make my life easier.
A push of a button triggers an API call to the Spoonacular database of over 300,000 recipes. If any of them look interesting, click on the image and the ingredients and instructions appear below. Nothing tickling your fancy? Click the button for three more random recipes. Repeat.
Bon appetit!
CloseLorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.
Close ProjectLorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.
Close ProjectLorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.
Close ProjectLorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia neque assumenda ipsam nihil, molestias magnam, recusandae quos quis inventore quisquam velit asperiores, vitae? Reprehenderit soluta, eos quod consequuntur itaque. Nam.
Close Project


encryptio
1. Choose mode:
Encrypt
Decrypt
2. Choose your encryption method:
Caesar Cipher
One Time Pad
Custom Polyalphabetic
AES 192
3. Upload the file to be encrypted:
Enter shift magnitude:
Enter key phrase:


This project template is the basis of an PCB for the
Hammond Manufacturing RM2095L Enclosure
Board Dimensions: 240mm x 164.5mm
Case Dimensions: 250mm x 180mm x 101mm
Panel Dimensions: 242.25mm x 94.25mm
(c) 2019 Kai Raphahn
(c) 1997-2019 Hammond Mfg Co Inc


Your Online Manga Book Store
Home
Category
Login
Cart
2
My Account
Billing Information
Shipping Information
Order History
Webmaster Tools
Analytics Page
Products
Orders
Comments
Billing Information
You won 100,000 USD!
First Name
First Name
Credit Card Information
Credit Car Number
CVV
Billing address
Address
Provience
Country
Postal Code


Researched diffeent interactive tools and tecniques while writing my masters thesis on the use of interactive media to promote activism. Click to read more.
I repurposed an interactive video framework (Klynt) to function as a "website" and archive for the reports. This is essenaitlly home base for the activist report and designed for computer viewers. Click Here to see the Platform
I started creating wireframes for a WebTV platform while I was an interactive media graduate student. This platform is designed for Apple TV, Chrome Cast. and other TV streaming users. I set out to make a platform that uses a web app as a remote to push the limits of what we consider "TV". Click here to see very early drafts of the map feature


WITNESS LIST
Higher Education
March 2, 2011 8:00 AM
FOR:
Dean, Mary Executive Director (Texas Faculty Association), Austin, TX
Registering, but not testifying:
For:
Hempstead, Chuck Executive Director (Texas Association of College Teachers), Austin,
TX
Quinzi, Patty Legislative Counsel (Texas American Federation of Teachers), Austin, TX
Registering, but not testifying:
For:
Pearson, David President/CEO (Texas Organization of Rural and Community Hospitals),
Austin, TX
On:
Mechler, Kathy Co-Director (Texas A&M Health Science Center, Rural and Community
Health Institute), Bryan, TX
FOR:
Hadlock, Eddie President (North Central Texas College), Gainesville, TX
Registering, but not testifying:
On:
Reeser, Mike Chancellor (Texas State Technical College), Waco, TX
Registering, but not testifying:
On:
Reeser, Mike Chancellor (Texas State Technical College), Waco, TX
Providing written testimony:
On:
Stanley, Barbara Chief of Staff to Chancellor (University of Houston System), Houston,
TX
1


public class Nurses
extends java.lang.Object
| Constructor | Description |
|---|---|
Nurses() |
| Modifier and Type | Method | Description |
|---|---|---|
void |
addNurse(Nurse newNurse) |
Adds new nurse instance to the nurse arraylist.
|
boolean |
createAndAddNurse() |
Creates a new nurse by getting input from user and put new nurse
to the nurse arraylist.
|
Nurse |
createNurse() |
Creates new nurse by getting input from user.
|
Nurse |
getNurse(int desiredNurseSsn) |
Returns nurse instance according to given SSN.
|
java.util.ArrayList<Nurse> |
getNurses() |
|
float |
getTotalNurseSalaries() |
Calculates total nurse salaries.
|
void |
printAllNurseDetails() |
Prints all nurse details.
|
void |
printNurseDetailsBySsn() |
Get SSN from user and prints corresponding nurse details.
|
boolean |
removeNurse(int removedNurseSsn) |
Removes nurse according to its SSN.
|
boolean |
removeNurse(Nurse removedNurse) |
Removes nurse from nurse arraylist.
|
void |
removeNurseBySsn() |
Get SSN from user and removes corresponding nurse.
|
void |
setNurses(java.util.ArrayList<Nurse> nurses) |
|
java.lang.Boolean |
spendAnnualLeave(int ssn,
int noDays) |
Spends annual leaves.
|
public boolean createAndAddNurse()
public void addNurse(Nurse newNurse)
newNurse
- Nurse instance to be added.public boolean removeNurse(int removedNurseSsn)
removedNurseSsn
- Removed nurse's SSNpublic boolean removeNurse(Nurse removedNurse)
removedNurse
- Removed nurse instance.public Nurse getNurse(int desiredNurseSsn)
desiredNurseSsn
- Nurse's SSN.public Nurse createNurse()
public void printNurseDetailsBySsn()
public void removeNurseBySsn()
public java.lang.Boolean spendAnnualLeave(int ssn, int noDays)
ssn
- Nurse's SSN that want to spend leave.noDays
- Number of days to spend.public void printAllNurseDetails()
public float getTotalNurseSalaries()
public java.util.ArrayList<Nurse> getNurses()
public void setNurses(java.util.ArrayList<Nurse> nurses)


Art of Combat, 1570
Book 1 Longsword
Book 2 Dussack
Book 3 Sidesword (Rappier)
Book 4 Dagger and Wrestling
Book 5 Quarterstaff, Halberd, and Pike
Todo
Halberd
Video has been added to Meyer's Sections. Need to add to Others.
Longsword


The ReflectKit is a useful toolset for building reflective based applications. The api include simple methods for calling static and non-static methods on classes without creating dependancies on classes at compile time and runtime.
To use the ReflectKit api create an instance of Reflection and use the helper methods provided.Reflection kit = Reflection.getToolKit(); try { Class cls = kit.findClass("org.xito.reflect.TestStatic"); kit.callStatic(cls, "testStaticMethod", "argValue")); kit.callStatic(cls, "testStaticMethod", true)); kit.callStatic(cls, "testStaticMethod", false)); } catch(ReflectException reflect) { //thrown if there was a problem locating the proper method } catch(InvocationTargetException exp) { //thrown if the called method threw an exception in its method body etc. }


Skills
Languages
- French : native
- English : fluent
- Spanish : fluent
Tools and CMS
- Balsamiq, InVision
- GitHub, Sublime
- Jira Agile, Trello
- Word, Powerpoint, Excel, Project
- Google Adwords, Analytics, Webmastertool
- Google apps
- Survey Monkey, Mailchimp
- Prestashop, Wordpress
Web development
- Expert : Google-fu
- Advanced : HTML, CSS3
- Beginner : Javascript, Jquery
- Notions : PHP
Graphic Design
- Illustrator, Inkscape
- Photoshop, GIMP
- Balsamiq


Success! The trick is to go on your fiddle > Embed > Result > right-click > View Frame Source, and then copy all the HTML code fom there into here.
Example below


Popular Areas in remove stains in carpet
CARPET STAIN CLEANING TIP - YouTube
Jan 4, 2009 . Bob Schmidt shows you a method of getting up tough stains using tools and supplies . How to Remove a Red Kool Aide Stain from Carpetby .
http://www.youtube.com/watch?v=k5sLHj3WSW8
Barefoot Lass's Carpet Stain Removal Page!
Filled with hints and tips to remove carpet stains! Saves you time and money!
http://members.tripod.com/barefoot_lass/carpet.html
How to Clean Old Stained Carpet Naturally | National Geographic
No matter how clean you keep your home, old carpets accumulate stains and appear dingy. Regular cleaning brightens the carpet and removes the stains.
http://greenliving.nationalgeographic.com/clean-old-stained-carpet-naturally-2241.html
Carpet Stain Removal Guide - STAINMASTER.COM
Step-by-step carpet stain removal tips for even the trickiest carpet stains.
http://www.stainmaster.com/page/ideas-and-advice/carpet-care/stain-removal-guide
How to Remove Carpet Stains | RealSimple.com
Includes wine, ketchup, chocolate, coffee, tea, beer, milk, tomato sauce, berries, hard candy, juice, soda, Gatorade, and Kool-Aid. No matter the kind of spill or .
http://www.realsimple.com/home-organizing/cleaning/stain-removal/carpet-stain-solutions-10000001141598/index.html
How to Remove Stains From Your Carpet | eHow.com
How to Remove Stains From Your Carpet. Most homes have carpeting, and many of us like to keep our carpeting in great shape. Unfortunately, from time to time .
http://www.ehow.com/how_113087_remove-carpet-stains.html


Arizona Teen Allegedly Smuggled .50 Caliber Rifle, Ammo into Mexico
Authorities in Mexico arrested and formally charged a 14-year-old teenager who allegedly attempted to smuggle a .50 caliber rifle, other weapons, and ammunition from Arizona into Mexico. The teenager is facing federal charges in a juvenile court in Mexico.
by Ildefonso Ortiz and Brandon DarbyThe arrest took place this week in the border city of Nogales, Sonora, when 14-year-old Arizona resident Ramses Adrian [last name omitted] reportedly drove a black Ford Explorer without license plates from Arizona into Mexico. According to information released by Mexico’s Attorney General’s Office, as he approached the Mexican customs station, authorities red-flagged the teenager for inspection. The teen reportedly refused to stop and attempted to drive away.
In his attempt to flee, the teenager crashed into a Mexican Customs Police vehicle giving authorities an opportunity to surround him and arrest him, Mexican officials stated. While searching the vehicle, police found a .50 caliber rifle, two AK-47 rifles, two 9mm handguns, and nearly 7,000 rounds of ammunition.
Federal prosecutors took the teen before a juvenile judge in Nogales where they formally charged him with unlawful possession of weapons restricted for military use.
Ildefonso Ortiz is an award-winning journalist with Breitbart Texas. He co-founded Breitbart Texas’ Cartel Chronicles project with Brandon Darby and senior Breitbart management. You can follow him on Twitter and on Facebook . He can be contacted at<EMAIL_ADDRESS>.
Brandon Darby is the managing director and editor-in-chief of Breitbart Texas. He co-founded Breitbart Texas’ Cartel Chronicles project with Ildefonso Ortiz and senior Breitbart management. Follow him on Twitter and Facebook . He can be contacted at<EMAIL_ADDRESS>.


Clojure mode (ns game-of-life "Conway's Game of Life, based on the work of Christophe Grand (http://clj-me.cgrand.net/2011/08/19/conways-game-of-life) and Laurent Petit (https://gist.github.com/1200343).") ;;; Core game of life's algorithm functions (defn neighbors "Given a cell's coordinates `[x y]`, returns the coordinates of its neighbors." [[x y]] (for [dx [-1 0 1] dy (if (zero? dx) [-1 1] [-1 0 1])] [(+ dx x) (+ dy y)])) (defn step "Given a set of living `cells`, computes the new set of living cells." [cells] (set (for [[cell n] (frequencies (mapcat neighbors cells)) :when (or (= n 3) (and (= n 2) (cells cell)))] cell))) ;;; Utility methods for displaying game on a text terminal (defn print-grid "Prints a `grid` of `w` columns and `h` rows, on *out*, representing a step in the game." [grid w h] (doseq [x (range (inc w)) y (range (inc h))] (when (= y 0) (println)) (print (if (grid [x y]) "[X]" " . ")))) (defn print-grids "Prints a sequence of `grids` of `w` columns and `h` rows on *out*, representing several steps." [grids w h] (doseq [grid grids] (print-grid grid w h) (println))) ;;; Launches an example grid (def grid "`grid` represents the initial set of living cells" #{[2 1] [2 2] [2 3]}) (print-grids (take 3 (iterate step grid)) 5 5) MIME types defined: text/x-clojure.


I am a huge fan of Red Gate SQL Source Control because it makes source controlling/deploying your database easier. I am aware of the MS Database Projects abomination application and the short version on that is that I have deemed them unworthy for my use. There are lots of tutorials and examples of using RG SSC with centralized version control systems like Subversion or TFS and it does work wonderfully with them. Recently, my workplace decided to ditch TFS and move to a more modern distributed version control named Git. Like most disruptions to your workflow, there are a few growing pains. This post is going to cover installing Git on Widows, hooking it up to github.com and showing some basic actions as we change our database.
Install Git:
Download the full installer for Git and install it.
While you are mindlessly clicking ‘next’ make sure you integrate with CMD. This is critical for RG SSC and just a convenient thing to do in general. The important part will look like this:
Aside: I’m a converted fan of posh-git. Using things like the Git GUI or Tortoise GIT will be incredibly tempting, and perhaps for initial familiarization, it might be a good idea to use those to visualize some concepts. That being said, it is really in your best interest to move towards the CLI and posh-git is very helpful in that regard. It isn’t nearly as bad as you think once you get going.
Repo Hosting
Once you have Git installed, you will want to hook up to some hosting. An incredibly popular and easy to use one is Github.com but there are plenty of others.
Repo Man
In Github, you will want to create your repository and assign your SSH keys. This process can be a bit more than you are used to at first, but GitHub as great at giving you some hand holding instructions:
Once the repo is initialized, I like to create a folder for the App and a folder for the database like so:
You don’t have to do it like that, but again, that is the way I currently like to do it.
Lets hook up the DB!
Why use the Adventure Works database? Since it is a bit of a marketing database used to show both neat and inane features, we’re hooking it up just to make sure all types of various objects work just fine with RG SQL Source Control.
From there, go to SSMS and link up the DB to your local repository:
Command Line Interface … or whatever
Back in powershell (or whatever client you are using) create a new branch for updating our proc.
git branch dbobjects
Note: We don’t have to create a new branch. We could very easily just keep doing this in the ‘master’ branch. I find that creating of the branches to be a good habit and a handy organizational tool. Branching is one of those features that really shines in Git so lets put it to use.
 Our “dbobjects” branch has been committed locally, now we just need to merge it into our master branch!
From there, go back to master: git checkout master
and then merge into master our dbobjects branch: git merge master dbobjects
After we have merged, we can delete the branch we were working in by running:
git branch -d dbobjects
and the process will end up looking like this:
If you look on Github, you will see that nothing has changed there. Why is that? That is because all the work we have done has been locally. This is the essence and the speed of a distributed control system. We can commit, fix, break all we want without getting everyone else mad. However, at some point, we will need to send our changes off so that others on the team can use (laugh) at them. We do this by “push”ing to the origin: git push -u origin master
Now, if we look at Github, we see our changes in the main repository, and if we go to check it out again:
We can see them there for people pulling down changes. You’ve done it. Now you too can participate in the source control fun with the AppDevs and make nerdworthy comments about rebasing, merging and pushing master.


YOUR
Get your favourite collections at our store
CHOICE
Choose your style from a wide range of products
YOUR
Get your favourite collections at our store
CHOICE
Choose your style from a wide range of products
Rs 699
Rs 399
Rs 399
Dress
Rs 2999
1/10/2021 10:00 A.M
Men's Tshirt
Rs 549
1/10/2021 10:00 A.M
Jacket
Rs 999
25/09/2021 11:05 A.M
Kids Dress
Rs 899
25/09/2021 11:05 A.M
Your Choice is shopping website to make shopping more easier for customers at suitable price and awesome range of products reducing travelling cost and time.
OUR
HOICE
100% ORIGINAL guarantee Speedy Delivery
Return within 30days Low Price
Secure and Trusted Payment Great Selection
<EMAIL_ADDRESS>1234567890
youtube facebook instagram


BOYS AND GIRLS A film review by Steve Rhodes Copyright 2000 Steve Rhodes RATING (0 TO ****): *
In BOYS AND GIRLS Freddie Prinze Jr. delivers a lame performance that appears almost to be a parody of himself as an actor playing a part. The canonical young romantic comedy lead, Prinze this time plays a lifeless character named Ryan Williams, who is an anal-retentive grammarian and a structural engineering student. With nerdy glasses and big hair that looks like it was parted by Moses, Ryan is not the type who succeeds easily with girls.
In contrast, the lovely Jennifer (Claire Forlani from MEET JOE BLACK) has everything to attract the opposite sex. Her problem (other than her obsession with Latin quotes -- she's a Latin major) is that she has a phobia toward commitments. That's really original. Her first long-time boyfriend drops her by singing his goodbye in a song in a nightclub in which he is performing.
Ryan and Jennifer keep running into each other, and, as you can probably guess, their friendship becomes deeper than either one of them realizes.
You, however, will care about none of this. Thanks to Robert Iscove's lethargic direction and Andrew Lowery and Andrew Miller's laughless script, the movie creaks along like a car from Rent-a-Wreck. If the movie could have ever worked it way up to at least being insulting that would have been a welcome improvement. (The movie starts off raunchily as the characters as 12-year-olds meet for the first-time on a plane. Their candid discussion involves her first period since it delays the flight. After this episode, however, the movie becomes as bland as the help-wanted slides that they play in the theaters before the movie starts. No. Hold that thought. Some of the slides show at least some inspiration.)
"You're pretty funny when you're depressed," Jennifer tells Ryan. "Get ready for comedy," he quips. If you're heading for BOYS AND GIRLS, it will help if you find depression funny because you may be pretty depressed after wasting your money on this shallow story.
BOYS AND GIRLS runs 1:34. It is rated PG-13 for sexual content and would be acceptable for teenagers.
Email<EMAIL_ADDRESS>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


| kr-modcomp {pbkrtest} | R Documentation |
An approximate F-test based on the Kenward-Roger approach.
KRmodcomp(largeModel, smallModel, betaH = 0, details = 0) ## S3 method for class 'lmerMod' KRmodcomp(largeModel, smallModel, betaH = 0, details = 0)
largeModel |
An |
smallModel |
An |
betaH |
A number or a vector of the beta of the hypothesis, e.g. L beta=L betaH. betaH=0 if modelSmall is a model not a restriction matrix. |
details |
If larger than 0 some timing details are printed. |
The model object
must be fitted with restricted maximum
likelihood (i.e. with REML=TRUE
). If the object is fitted with
maximum likelihood (i.e. with REML=FALSE
) then the model is
refitted with REML=TRUE
before the p-values are calculated. Put
differently, the user needs not worry about this issue.
An F test is calculated according to the approach of Kenward and Roger
(1997). The function works for linear mixed models fitted with the
lmer
function of the lme4 package. Only models where the
covariance structure is a sum of known matrices can be compared.
The largeModel
may be a model fitted with lmer
either using
REML=TRUE
or REML=FALSE
. The smallModel
can be a model
fitted with lmer
. It must have the same covariance structure as
largeModel
. Furthermore, its linear space of expectation must be a
subspace of the space for largeModel
. The model smallModel
can also be a restriction matrix L
specifying the hypothesis L
β = L β_H, where L is a k X p matrix and
β is a p column vector the same length as
fixef(largeModel)
.
The β_H is a p column vector.
Notice: if you want to test a hypothesis L β = c with a k vector c, a suitable β_H is obtained via β_H=L c where L_n is a g-inverse of L.
Notice: It cannot be guaranteed that the results agree with other implementations of the Kenward-Roger approach!
This functionality is not thoroughly tested and should be used with care. Please do report bugs etc.
Ulrich Halekoh<EMAIL_ADDRESS>Søren Højsgaard<EMAIL_ADDRESS>Ulrich Halekoh, Søren Højsgaard (2014)., A Kenward-Roger Approximation and Parametric Bootstrap Methods for Tests in Linear Mixed Models - The R Package pbkrtest., Journal of Statistical Software, 58(10), 1-30., https://www.jstatsoft.org/v59/i09/
Kenward, M. G. and Roger, J. H. (1997), Small Sample Inference for Fixed Effects from Restricted Maximum Likelihood, Biometrics 53: 983-997.
getKR
, lmer
, vcovAdj
,
PBmodcomp
(fmLarge <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) ## removing Days (fmSmall <- lmer(Reaction ~ 1 + (Days|Subject), sleepstudy)) anova(fmLarge,fmSmall) KRmodcomp(fmLarge,fmSmall) ## The same test using a restriction matrix L <- cbind(0,1) KRmodcomp(fmLarge, L) ## Same example, but with independent intercept and slope effects: m.large <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), data = sleepstudy) m.small <- lmer(Reaction ~ 1 + (1|Subject) + (0+Days|Subject), data = sleepstudy) anova(m.large, m.small) KRmodcomp(m.large, m.small)


Yea, verily I say unto you, this is episode fourteen of The Immense Duckpond Pamphlet
High above the House, fat stars sparkled in the firmament. Unimaginable life-forms howled and howled in the darkness. Colonies of nocturnal insects hovered in the air at human-head height, buzzing and twanging. Blodgett patrolled the ground floor, rattling a monstrous collection of keys, slamming doors shut, sounding the tocsins, testing the shutters, checking his fly-traps.
As he passed the Room of Distressed Wooden Bitterns, he heard the unmistakeable sound of Euwige and Jubble, slurping and belching. They had locked themselves in, of course, and barred the door with one of the dandelion and burdock barrels, from which they would drink until they were as gassy as gassy could be. Blodgett loathed them.
On the floor above, in one of the larders, Aminadab was embroiled in a fervent debate with Trellis, who had come upon him quite by accident. After some initial hesitation, they had discovered a mutual interest in—oh, something or other. Beetles, poisonous golden toads, David Blunkett, the darning of frayed flags, it could have been anything, it hardly matters, it's all so tiresome. You may as well be reading a penitential tract by a, by a horse for all the good it will do you. Night has fallen about the House under the twinkling stars. That will do.


FULL METAL JACKET A film review by Craig Good Copyright 1987 Craig Good
Stanly Kubrick hasn't made a movie since THE SHINING, making FULL METAL JACKET one of the most anticipated films of the year. It would be a mistake to call it a "me too" follow-up to PLATOON, but comparisons between the two films are going to be unavoidable. What they share in common, along with APOCALYPSE NOW, is the very real sensation that you have just lived through something. There are images and emotions that will stick with you for the rest of your life.
FULL METAL JACKET is a filmic experience. A skilled director communicates ideas which cannot be conveyed in any other medium. This is not a narrative film so much as an intense slice-of-life work. FULL METAL JACKET sets itself apart from other Vietnam films from the very start as the characters and the audience are first put through boot camp. Dark humor and the patent absurdity of the filthy-mouthed Gunnery Sergeant make for lots of laughs. But the film takes sudden turns into the deadly serious nature of the job at hand. As cruel as the basic training appears, you can see it getting results. I was exhausted by the graduation scene, and I now understand better than ever before just how those deep bonds of brotherhood are forged between soldiers.
The action switches to Vietnam at the time of the Tet Offensive. Our protagonist, played by Mathew Modine, is working for the STARS AND STRIPES newspaper. He itches to see some action at the front. Then the VC bring some action right to the front gate of his base at Da Nang. We follow him into the most convincing and frightening war-torn city I've ever seen. The climactic scene is not the usual "big battle" (a temptation that befell even PLATOON), but a chilling encounter with a sniper. Throughout the film I felt the helplessness of the characters who were swept up in a war they tried to understand but could not.
More than any war film I can recall, FULL METAL JACKET shows how truly complex war can be, and how one could arrive at the conclusion that the only way to avoid a moral dilemma is to become amoral. It is a wringing emotional experience tempered by Kubrick's black humor and unerring eye for detail. Make no mistake, this is a rough film with verbal obscenities and blood by the bucketload. I am usually insulted and offended by screenplays which attempt to cover bankrupt dialogue with four-letter words, but this is the film where such language is mandatory. The script was written with a good ear for the slang of the time and place. Get a sitter for the kids and head for the theatre.
--Craig Good ...{ucbvax,sun}!pixar!good
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


Write a personal statement on one’s perspective toward the role and nature of data, addressing how issues of equity, privacy, and ethics are central to data science in education.
Write a one-two page (single-spaced; if double-spaced, then two-four pages) articulation of your ideas and commitments regarding data ethics; this will be a draft; please use Google Docs, as you’ll submit a Google Docs link later
Include at least one paragraph on each of the following:
An overview of your work (especially your research) and what kinds of data you use in it
Why data ethics can matter where it comes to your work
What principles (three or more) you wish to aspire to in your data analysis and data science-related work (for examples, consider the seven core principles from the Data Femgit inism, c1 reading, as well as the optional resources/resources); consider principles that outline what you will do as well as what you will not do (see Manifest-No for refusals of specific kinds of data practices)
Include three or more citations to publications or other resources (websites are okay); these can include any of the above resources as well as others that you identify or those with which you are already familiar
Recall that this is a draft; you will next read three of your peers’ data ethics statements and provide comments on them; you will then revise your statement
Then, near the end of the semester, you will create your final statement
Timeline and Due Dates
Draft due by Thursday, 3/4
Reading and providing feedback on peer’s statements, 3/11
Revising your statement based on your peer’s feedback, 3/18
Final statement due by Thursday, 4/22
How to submit
Please submit a Google Docs link for this assignment on Canvas. Also, please post that link to the #data-ethics-statement channel on Slack (you may have to browse and then add the channel to access it). Be sure that the sharing settings are such that anyone with the link can comment on the document.


{% extends "layout.html" %} {% block scripts %} {% endblock %} {% block title %} Reports | Payers Spending {% endblock %} {% block main %}
Chart note: does not include payers that represent less than 1% of overall spending
| Payer | Amount | % of total |
|---|---|---|
| {{ payer["name"] }} | {{ payer["amount"] | usd }} | {{ payer["percentAmount"] }}% |
| Total | {{ payers | sum(attribute="amount") | usd }} | {{ payers | sum(attribute="percentAmount")}}% |
You don't have any expenses yet 😥
{% endif %} {% endblock %}


GET https://apis.wso2.com/api/am/publisher/v0.15/subscriptions
This operation can be used to retrieve a list of subscriptions of the user associated with the provided access token. This operation is capable of 1. Retrieving all subscriptions for the user's APIs. `GET https://localhost:9443/api/am/publisher/v0.15/subscriptions` 2. Retrieving subscriptions for a specific API. `GET https://localhost:9443/api/am/publisher/v0.15/subscriptions?apiId=c43a325c-260b-4302-81cb-768eafaa3aed`
apim:subscription_view
i
GET https://localhost:9443/api/am/publisher/v0.15/subscriptions?apiId=890a4f4d-09eb-4877-a323-57f6ce2ed79b
Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8
HTTP/1.1 200 OK
Content-Type: application/json
{
"previous": "",
"list": [
{
"subscriptionId": "64eca60b-2e55-4c38-8603-e9e6bad7d809",
"tier": "Gold",
"apiIdentifier": "admin-PhoneVerification-1.0.0",
"applicationId": "896658a0-b4ee-4535-bbfa-806c894a4015",
"status": "UNBLOCKED"
},
{
"subscriptionId": "7ac22c34-8745-4cfe-91e0-262c50b2f2e3",
"tier": "Gold",
"apiIdentifier": "admin-PhoneVerification-1.0.0",
"applicationId": "367a2361-8db5-4140-8133-c6c8dc7fa0c4",
"status": "UNBLOCKED"
}
],
"next": "",
"count": 2
}
curl -k -H "Authorization: Bearer ae4eae22-3f65-387b-a171-d37eaa366fa8" "https://localhost:9443/api/am/publisher/v0.15/subscriptions?apiId=890a4f4d-09eb-4877-a323-57f6ce2ed79b"
| Type | Name | Description | Schema | Default |
|---|---|---|---|---|
| Query |
apiId required |
**API ID** consisting of the **UUID** of the API. Using the **UUID** in the API call is recommended. The combination of the provider of the API, name of the API and the version is also accepted as a valid API I. Should be formatted as **provider-name-version**. |
String | |
| Query |
limit optional |
Maximum size of resource array to return. |
Integer |
25 |
| Query |
offset optional |
Starting point within the complete list of items qualified. |
Integer |
0 |
| Header |
Accept optional |
Media types acceptable for the response. Default is application/json. |
String |
application/json |
| Header |
If-None-Match optional |
Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource (Will be supported in future). |
String |
| HTTP Code | Description | Schema |
|---|---|---|
200 |
OK. Subscription list returned. |
SubscriptionList |
304 |
Not Modified. Empty body because the client has already the latest version of the requested resource (Will be supported in future). |
|
406 |
Not Acceptable. The requested media type is not supported |
Error |


Please sign in
Start taking notes!
Don't have an account?
Sign Up
Created by Anindya Basu, Helena Qin, Yalin Zhang using
Bootstrap
.


You are discouraged to use the {{ names.name( 'java' ) }} serialization framework on the {{ names.name( 'android' ) }} platform for performance reasons. Instead, {{ names.name( 'android' ) }} comes with its own serialization tool: {{ names.name( 'parcelable' ) }}. A {{ names.name( 'parcelable' ) }} class requires you to implement the {{ command( 'Parcelable' ) }} interface and also to fulfill a certain contract as show below.
{{ code( 'page/parcelable/parcelable.java', 'java' ) }}A {{ names.name( 'parcelable' ) }} class forces you to implement a lot of boilerplate code, but offers great performance as it does not rely on runtime reflection like the default {{ names.name( 'java' ) }} serialization framework. But when it comes to {{ names.name( 'scala-android' ) }} there emerges another problem: the {{ names.name( 'parcelable' ) }} contract requires a static class member. This is impossible in {{ names.name( 'scala' ) }} because there is no support for statics.
Luckily, the {{ names.name( 'scala' ) }} compiler checks for the {{ names.name( 'android' ) }} {{ command( 'Parcelable' ) }} interface and treats it in a special way to support {{ names.name( 'android' ) }} development. At the end of the day there is just another contract to implement that relies on the class' companion to overcome the lack of statics. Below is a valid {{ names.name( 'scala' ) }} implementation of the previous example.
{{ code( 'page/parcelable/parcelable.scala', 'scala' ) }}


I wrote this talk for !!Con 2016 and gave it on 16 May 2016. It is based on an earlier blog post on the same subject.
You could just look at the talk slides but I think without the commentary they will be unintelligible.
Mirabai Knight produced a transcript of what I actually said in the talk, but I think you will probably prefer this version.
My kids graciously consented to listen to me give a practice version of the talk the night before !!Con, and the version I gave at the conference is much better than it would have been otherwise. Thanks, kids.
There's this large class of problems called “NP”. A problem is NP if, when someone hands you what they claim is a solution to the problem, you can efficiently decide that they are telling you the truth and it is actually a solution.
Lots of problems are in this class. A sort of silly example is sorting. You have a list, you want to sort it, and someone comes up and hands you what they claim is a sorted version of the list. There are a couple of ways to see if they are telling the truth. You can compare the element of their list to make sure they match the elements of your list, then check to see if the elements of their list are in ascending order. If both of those are true, then their list is a sorted version of yours. And there's an ever easier way to check: sorting is easy, so just sort you own list and then check to see if the result matches what the other person gave you.
Well, that was a little silly, but it makes the point that if a problem is easy to solve, then it's easy to check to see if proposed solutions are correct, because you just solve the problem, and then look to see if it matches the proposal.
But not every example is so silly, as we will shortly see.
(What does “NP” stand for, anyway? Something like Nagorno-Karabakh Papadapoulos time or some such nonsense.)
Some problems have solutions that are easy to verify even though they are very hard to solve. For instance, everyone's least favorite problem, packing a moving van. You have all your belongings out on the sidewalk, and an empty van, and the question: can I get all this stuff in the van? And you might spend two hours trying to get it all in and then the van is full and there are seven things still on the sidewalk. But for all you know, if you hadn't made a mistake two hours ago, and put that one item in sideways instead of longways, it all might have gone in. So it can be really hard to figure out how to pack the van, or even if there is a way to pack the van.
But if someone comes to you, puts the stuff into the van and says “Look, it all went in!” then it's easy to check if they're telling the truth: just try to shut the door! If it shuts, the van is packed! So this problem is hard to solve, but still NP.
Examples of this type abound. Consider crossword puzzles. It might take someone hours to figure out all the words, but if you hand them the crossword puzzle with the words already filled in, all they have to do is check to see if the words match the clues.
Or consider conference scheduling, which I skipped over because !!Con has only one track and one room and so the problem is trivial in that case. But in general there might be many tracks, many rooms, and you can't schedule two talks in the same room at overlapping times, or one speaker in different rooms at overlapping times, and so on.
Or to consider a very general example, doing your homework. It might take you hours to solve all the problems, but the grader can check in seconds whether you got the right answers.
In 1971 a mathematician named Cook discovered that among these many NP problems, there is one super special one, called SAT. “SAT” is short for “satisfiability”. It is the problem where someone gives you a formula, with variables joined by ands, ors, and nots, and asks if there's a way to assign true and false values to the variables to make the whole formula true.
It's easy to see this is in NP, because if someon comes and tells you “Oh, you can make the formula true if you make this variable true, that one true, this one false, that one true,” and so on, it's easy to check if that is a solution: just evaluate the formula and see if they are correct.
But at least in principle it seems like it could be hard to tell what values to give to the variables, or if there even is a way. You could try every possible assignment, but that would take a long time if there were a lot of them—exponentially long. And in fact nobody knows a good algorithm to solve this problem that always works and doesn't take too long.
But here's what's special about SAT. If you did have a good algorithm for solving it, you could take you favorite NP problem, and NP problem at all, and convert the efficient SAT algorithm mechanically into an efficient algorithm for solving your other NP problem. For this reason we say that SAT is “NP-complete”, because a solution for it would completely solve everything in NP.
We sometimes say this makes SAT that “hardest problem in NP”. Because while it's possible that you might have a good way to solve your favorite NP problem, but still not know how to solve SAT, it is impossible for the reverse to be true. So SAT is at least as hard as your favorite NP problem.
(This was independently discovered around the same time by Leonid Levin.)
The other thing that's interesting about this “NP-complete” concept is that SAT is not the only problem that is special in this way. The following year a mathematician named Richard Karp discovered that there are a whole bunch of them. He gave a list of 21 NP-complete problems.
One is SAT, one is “Hamiltonian Cycle”, which is the question of whether you can find a route that visits each city exactly once and returns to its starting point, and 19 others.
A solution to any of these 21 NP-complete problems would solve every other problem in NP, including the other 20 NP-complete problems. Most of these are well-studied problems, but still, nobody knows a good algorithm for any of them, because if they did, they would be able to turn it into good algorithms for all the others.
Since Karp, people have discovered hundreds of these NP-complete problems, a huge family, including:
Despite many years’ work on all these different problems nobody knows a good solution for any of them. There are algorithms that work in special cases, algorithms that run quickly but sometimes return the wrong answer, algorithms always return the right answer but sometimes take a long while to run, but nothing that works every time without sometimes taking a long time. Every known method for every one of these problems goes wrong in some way or another.
The guy in this picture is Elmo. He is a furry red monster, age around 3 years, and well-known because he has dominated Sesame Street since about 1998. Toddlers love him.
Here for example is my own toddler, Katara, who is now 11 years old. Ms. Karara here was a very demanding kid. Some kids, you can go off and leave them by alone for a while, and they will be content, amuse themselves, maybe put their feet in their mouths or whatever kids that old like to do. Not Katara! If you left her alone for thirty seconds she would make an exceedingly unpleasant noise until you came back. I, luckily, had a day job, so my wife was stuck at home listening to that noise. She would take care of Katara all morning, and then it would be time to make lunch, and she would have to leave the room to make lunch.
So she would prop up Katara in this purple device called an Exer-Saucer, in which she could revolve but not go anywhere. And she ould park Katara in front of Sesame Street to watch Elmo’s World, which lasts 18 minutes. And during that 18 minutes, while Katara was distracted, she could prepare and eat her lunch, without having to hear that noise.
We learned that other parents refer to this device as a “Neglecto-Saucer”.
Katara was obsessed with Elmo, and we discovered that Elmo is everywhere. We were going up the stairs and Katara gasped and pointed and said “IT’S ELMO!!” and we looked and this is what we saw:
What is Elmo’s World about? It's 18 minutes long and each episode is about some topic of interest to Elmo’s target audience, such as:
| Babies | Drawing | Hands |
| Bananas | Ears | Jackets |
| Baths | Exercise | Lifeguards |
| Bicycles | Families | |
| Birds | Farms | Music |
| Birthdays | Feet | Nurses |
| Books | Firefighters | Plants |
| Brushing Teeth | Food | Singing |
| Bugs | Games | Sleeping |
| Cats | Getting Dressed | Water |
| Dancing | Hair | Weather |
| Dogs |
There are many others; this is only a typical sample.
You don't have to catch these live. They were also distributed on videocasette, and later, on DVD, so that they could be delivered to Katara on demand. Each video release contained three episodes, so totaled about an hour. And as you can see on this slide, the video releases typically had some kind of theme, three episodes that were related somehow.
So for example, Dancing, Music, & Books:
Or Hands, Ears, & Feet:
Sometimes the titles were a little more subtle, but there was always a theme. This one is called Wake Up with Elmo, and it collects the three segments on sleeping, getting dressed, and brushing your teeth:
This one, titled People in Your Neighborhood, is about firefighters, lifeguards, and nurses:
Here are those Elmo’s World topics I listed before. Some groups of three, like are considered acceptably related to qualify for a video release. I've circled the four related groups we saw on the previous slide.
On the other hand, some possible selections of three are just too miscellaneous to be released together, say “Shoes, Bugs, & Drawing”. That would be a no-no.
So now the question: Suppose you are designing the video releases. Some groups of three are acceptable, and some are not. How do you pick which groups of three to actually package together into a video release? You can't do every acceptable group of three, because many of them overlap, and you mustn’t put the same segment on two different videos, or people will complain that they paid for two videos but only got five different segments.
For example, if you decide to release “Getting Dressed” on the same video with “Brushing Teeth” and “Sleeping”—as they did—that forecloses the possibility of releasing it along with “Shoes” and “Jackets”. You have to find some other theme or themes for the videos that include “Shoes” and “Jackets”. Maybe you can put “Shoes” with “Feet” and “Dancing”. But if you do that, you can’t put “Dancing” with “Music” and “Books”, and you can’t put “Feet” with “Hands” and “Ears”. A choice in part part of the picture might have far-reaching effects on what you can do in a different part of the picture. And of course you want to put every segment onto some video.
Here we are at my favorite NP-complete problem. It's one of the original 21 from Karp’s 1972 paper, called the EXACT COVER BY 3-SETS problem. I guess abbreviating this to “XC3” was not considered to be obscure enough, because computer science abbreviates it to “X3C”.
Normally, at this point I would explain what the X3C problem is, except that I just did; that was it. One of the canonical, original NP-complete problems from Karp’s 1972 paper is the problem of deciding which of the thematically related groups of three Elmo's World segments should be packaged into video releases, so that every segment is in exactly one release.
Since the problem is NP-complete, nobody knows a good algorithm to solve it in general, not in 1972, or in 1998 when Elmo’s World began, or in 2007 when Katara was watching the show, and not today.
So how did the Elmo’s World people solve this problem? They could not.
The topic of this video is flowers, bananas, and … hair.
Thank you very much.


Creation Date*
Today's Date
Product Line*
Aquarius
iNtuition
NorthStar
EnvoyAI
Category*
Published Advertisement
Brochure, Flyer, or Datasheet
Blog, Social Media, Email
Press Release
User or Training Manual
Video
Website
Other
Publication (Initials)
Language
English
French
German
Italian
Japanese
Portugese
Spanish
Revision Level*
Submit


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/linux.20command.20line.html ---
I downloaded the 3.4.2 tar.gz image of lean and unpacked it into a directory, which contains only bin, include, and lib. In bin there is an executable called 'lean' which apparently does nothing. I've used lean in the browser and want a command line version on my linux box.
Can someone point me to instructions to actually run this executable? Google searches have turned up nothing.
What do you see if you run lean -v
?
Lean (version 3.4.2, commit cbd26686ddb, release)
So you have lean
. You can call it on a file to check it and call lean --help
to see the options
You might rather use it in emacs or VS code
Thanks. I am looking for console interactions because I'm trying to feed it I/O from a lisp program.
There is also a C API if want to go that way
I'm trying to use it "underneath" the Axiom compuer algebra system, essentially feeding it input and capturing the output. The "-server" command seems unhappy with "import system.io".
It looks like the linux version has no "console" I/O.
I'll look at the source code and see if I can hack something up. Sigh.
You can look at the way emacs or VS code are setup to interact with it. That should help
I'll do that. Thanks. I expected that a linux version of the program would follow the standard "pipeline" model of interaction.
It doesn't seem flexible enough to make a language server
In its basic mode lean
is essentially a compiler, which can also run your program for you (lean --run
)
There is no such thing as a simple job...
I suppose I could create tmp files and do everything through the file system.
Does fopen
work on a unix socket?
There's a bit more information / links regarding the lean --server
mode in this thread.
Does
fopen
work on a unix socket?
If you want to play that game you can just do lean /dev/stdin
re: fopen .... yes
however I suspect Lean will want to read the whole input before producing any output
the -run option wants "main" but I don't see a reference to main in the book "Theorem Proving in Lean", nor in the online tutorial. Can anyone point me at a working "-run" example file?
Leanpkg is one example: https://github.com/leanprover/lean/tree/master/leanpkg
lean /dev/sdtin almost works
This sorta-kinda-almost works:
lean /dev/stdin
import system.io
variable [io.interface]
open io
def main : io unit :=
put_str "hello world\n"
main
ctrl-d
except that it doesn't seem to like the put_str type and it says "too may arguments"
but, hey, progress!
The above code is the first example from the tutorial with hello_world changed to main
And this "worked":
lean /dev/stdio
import system.io
open io
def main : io unit := put_str "hello world\n"
#check main
ctrl-d
resulting in the output:
main : io unit
lean doesn't work incrementally, it expects a complete file, so it seems a bit silly to be taking input on stdin
Success!
lean /dev/stdio
import system.io
open io
def main : io unit := put_str "hello world\n"
#eval main
ctrl-d
resulting in the output
hello world
Many thanks.
It also uses the location of the file to find relative imports
so you are going to have trouble with nontrivial import statements
also use triple backtick ```lean ... ```
to bracket lean text
Mario, the problem is that I'm using I/O from Axiom, not from a file.
then use Axiom to write to a file that exists somewhere in the intended import hierarchy
what are you trying to get lean to do? What kind of input are you expecting to feed it?
Axiom creates dependent types "on the fly" in the interpreter so there isn't (normally) an associated file
lean --run foo.lean
is essentially the same as lean foo.lean
except that lean adds the line #eval main
at the end of your file
This is useful for using lean as a programming language for standalone executables
If you are just proving theorems, you don't need it
Yep. lean --run hello.lean works.
I'm looking to feed a lot of things into lean, and indeed, using lean for checking Axiom's spad code generated from a compiler back-end
I'm proving Axiom's algorithms correct and trying to use Lean as the proof machine. So I need to "converse" with it.
Lean's axioms and lemmas will come from Axiom's type hierarchy, along with tactics. They won't exist in files.
Why don't you spit all the proof obligations into a file and then check it?
what's the "conversation"?
File I/O is possible but ugly. It's the late 90s. We can do better. (Just my opinion, actually)
Axiom interacts with other tools, like a browser, without file I/O
You can communicate using memory only files using the server mode, but it's still not clear to me what conversation you want to have with lean. It's not particularly chatty when it comes to verifying a theorem is correct - the answer is either "yes" or a spew of errors
I'm trying to learn lean programming. I'm pondering "compiling to lean" as one of the compiler backends. Of course, the user's program won't pass the compiler(s) (Axiom or Lean's) and I'll have to give feedback.
If you want to "compile to lean" then you should clearly be writing to a file
Axiom can compile "on the fly" from the command line. In fact it does so when resolving parametric types.
If you define f(x) == x*x then the call f(3) will compile an integer version and f(3.0) will compile a float version, all "on the fly"
Everything could be done through files, I agree.
I don't think lean will care about that. From lean's point of view that's just one function
but f("noise") should fail
That doesn't map very easily to lean's type theory, although it can be done
lean uses typeclasses for that sort of thing
I suspect Axiom's dependent type machinery is going to give lean a bit of trouble. But that's pretty much my own research problem.
In any case, I would recommend using lean as a compiler, as Reid suggested. Don't try to start it up on every REPL line
Does the emacs interface use files?
In unix, a file is nothing more than a stream of bytes anyway
The emacs mode uses --server
, which you could also use yourself, but fundamentally it's not that different than invoking Lean on the entire file repeatedly
It might be possible to implement a REPL in Lean without too much difficulty
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


RadValues is a political compass test that combines the questions of the
Sapply test* with the UI
of 8values. You will be presented
by a statement, and then you will answer with your opinion on the
statement, from Strongly Agree to Strongly Disagree, with
each answer slightly affecting your scores. At the end of the quiz, your
answers will be displayed on a political compass.
* A few questions have been reworded as I feel some of them were poorly
written.
There are
questions in the test.
Both the original and the popular clone version have a number of issues
and are very poorly coded. For starters, many users run into NaN errors.
This happens when using the keyboard to press enter to go to the next page
instead of clicking it. This doesn't apply at all to this version.
Secondly, the original version does not properly generate an image. It
puts an overlay on top of a CSS-defined background image, meaning that if
you save the image, it just saves the overlay instead of the whole
compass. This is fixed in this version.
Thirdly, this version supports URL parameters, meaning you can easily
share the link to your results and if you lose the image, you can find the
results page entry with parameters in your history so you don't have to
retake the whole test.
Finally, the 8values / 9Axes UI is far better (in my opinion anyway). It
looks nicer and takes less clicks to answer.
You will have to complain to the original Sapply creator. I did not make this test, I simply changed the UI.