1.1 How should I decide which integer type to use?
1.2 Why aren't the sizes of the standard types precisely defined?
1.3 Since C doesn't define sizes exactly, I've been using typedefs like int16 and int32. I can then define these typedefs to be int, short, long, etc. depending on what machine I'm using. That should solve everything, right?
1.4 What should the 64-bit type be on a machine that can support it?
1.5 What's wrong with this declaration?
char* p1, p2;I get errors when I try to use p2.
1.6 I'm trying to declare a pointer and allocate some space for it, but it's not working. What's wrong with this code?
char *p; *p = malloc(10);
1.7 What's the best way to declare and define global variables and functions?
1.8 How can I implement opaque (abstract) data types in C?
1.9 How can I make a sort of ``semi-global'' variable, that is, one that's private to a few functions spread across a few source files?
1.10 Do all declarations for the same static function or variable have to include the storage class static?
1.11 What does extern mean in a function declaration?
1.12 What's the auto keyword good for?
1.13 What's the difference between using a typedef or a #define for a user-defined type?
1.14 I can't seem to define a linked list successfully. I tried
typedef struct { char *item; NODEPTR next; } *NODEPTR;but the compiler gave me error messages. Can't a structure in C contain a pointer to itself?
1.15 How can I define a pair of mutually referential structures? I tried
typedef struct { int afield; BPTR bpointer; } *APTR; typedef struct { int bfield; APTR apointer; } *BPTR;but the compiler doesn't know about BPTR when it is used in the first structure declaration.
1.16 What's the difference between these two declarations?
struct x1 { ... }; typedef struct { ... } x2;
1.17 What does
typedef int (*funcptr)();mean?
1.18 I've got the declarations
typedef char *charp; const charp p;Why is p turning out const, instead of the characters pointed to?
1.19 I don't understand why I can't use const values in initializers and array dimensions, as in
const int n = 5; int a[n];
1.20 What's the difference between const char *p, char const *p, and char * const p?
What does it mean for a function parameter to be const? What do the two const's in
int f(const * const p)mean?
1.21 How do I construct declarations of complicated types such as ``array of N pointers to functions returning pointers to functions returning pointers to char'', or figure out what similarly complicated declarations mean?
1.22 How can I declare a function that can return a pointer to a function of the same type? I'm building a state machine with one function for each state, each of which returns a pointer to the function for the next state. But I can't find a way to declare the functions--I seem to need a function returning a pointer to a function returning a pointer to a function returning a pointer to a function..., ad infinitum.
1.23 Can I declare a local array (or parameter array) of a size matching a passed-in array, or set by another parameter?
1.24 I have an extern array which is defined in one file, and used in another:
file1.c: file2.c: int array[] = {1, 2, 3}; extern int array[];Why doesn't sizeof work on array in file2.c?
1.25 My compiler is complaining about an invalid redeclaration of a function, but I only define it once and call it once.
1.25b
What's the right declaration for main?
Is void main() correct?
1.26 My compiler is complaining about mismatched function prototypes which look fine to me.
1.27 I'm getting strange syntax errors on the very first declaration in a file, but it looks fine.
1.28 My compiler isn't letting me declare a big array like
double array[256][256];
1.29 How can I determine which identifiers are safe for me to use and which are reserved?
1.30
What
am I allowed to
assume about the initial values of variables
and arrays
which are not explicitly initialized?
If global variables start out as ``zero'',
is that good enough
for null pointers and floating-point zeroes?
1.31 This code, straight out of a book, isn't compiling:
int f() { char a[] = "Hello, world!"; }
1.31b What's wrong with this initialization?
char *p = malloc(10);My compiler is complaining about an ``invalid initializer'', or something.
1.32 What is the difference between these initializations?
char a[] = "string literal"; char *p = "string literal";My program crashes if I try to assign a new value to p[i].
1.33 Is char a[3] = "abc"; legal?
1.34 I finally figured out the syntax for declaring pointers to functions, but now how do I initialize one?
1.35 Can I initialize unions?
2.1 What's the difference between these two declarations?
struct x1 { ... }; typedef struct { ... } x2;
2.2 Why doesn't
struct x { ... }; x thestruct;work?
2.3 Can a structure contain a pointer to itself?
2.4 How can I implement opaque (abstract) data types in C?
2.4b Is there a good way of simulating OOP-style inheritance, or other OOP features, in C?
2.5 Why does the declaration
extern int f(struct x *p);give me an obscure warning message about ``struct x declared inside parameter list''?
2.6 I came across some code that declared a structure like this:
struct name { int namelen; char namestr[1]; };and then did some tricky allocation to make the namestr array act like it had several elements, with the number recorded by namelen. How does this work? Is it legal or portable?
2.7 I heard that structures could be assigned to variables and passed to and from functions, but K&R1 says not.
2.8 Is there a way to compare structures automatically?
2.9 How are structure passing and returning implemented?
2.10 How can I pass constant values to functions which accept structure arguments? How can I create nameless, immediate, constant structure values?
2.11 How can I read/write structures from/to data files?
2.12 Why is my compiler leaving holes in structures, wasting space and preventing ``binary'' I/O to external data files? Can I turn this off, or otherwise control the alignment of structure fields?
2.13 Why does sizeof report a larger size than I expect for a structure type, as if there were padding at the end?
2.14 How can I determine the byte offset of a field within a structure?
2.15 How can I access structure fields by name at run time?
2.16 Does C have an equivalent to Pascal's with statement?
2.17 If an array name acts like a pointer to the base of an array, why isn't the same thing true of a structure?
2.18 This program works correctly, but it dumps core after it finishes. Why?
struct list { char *item; struct list *next; } /* Here is the main program. */ main(argc, argv) { ... }
2.19 What's the difference between a structure and a union, anyway?
2.20 Can I initialize unions?
2.21 Is there an automatic way to keep track of which field of a union is in use?
2.22 What's the difference between an enumeration and a set of preprocessor #defines?
2.23
Are enumerations really portable?
Aren't they Pascalish?
2.24 Is there an easy way to print enumeration values symbolically?
2.25 I came across some structure declarations with colons and numbers next to certain fields, like this:
struct record { char *name; int refcount : 4; unsigned dirty : 1; };What gives?
2.26 Why do people use explicit masks and bit-twiddling code so much, instead of declaring bit-fields?
3.1 Why doesn't this code:
a[i] = i++;work?
3.2 Under my compiler, the code
int i = 7; printf("%d\n", i++ * i++);prints 49. Regardless of the order of evaluation, shouldn't it print 56?
3.3 I've experimented with the code
int i = 3; i = i++;on several compilers. Some gave i the value 3, and some gave 4. Which compiler is correct?
3.3b Here's a slick expression:
a ^= b ^= a ^= bIt swaps a and b without using a temporary.
3.4 Can I use explicit parentheses to force the order of evaluation I want, and control these side effects? Even if I don't, doesn't precedence dictate it?
3.5
But what about the
&&
and
||
operators?
I see code like
``while((c = getchar()) != EOF && c != '\n')'' ...
3.6 Is it safe to assume that the right-hand side of the && and || operators won't be evaluated if the left-hand side determines the outcome?
3.7 Why did
printf("%d %d", f1(), f2());call f2 first? I thought the comma operator guaranteed left-to-right evaluation.
3.8 How can I understand complex expressions like the ones in this section, and avoid writing undefined ones? What's a ``sequence point''?
3.9 So if I write
a[i] = i++;and I don't care which cell of a[] gets written to, the code is fine, and i gets incremented by one, right?
3.10a People keep saying that the behavior of i = i++ is undefined, but I just tried it on an ANSI-conforming compiler, and got the results I expected.
3.10b People told me that if I evaluated an undefined expression, or accessed an uninitialized variable, I'd get a random, garbage value. But I tried it, and got zero. What's up with that?
3.11 How can I avoid these undefined evaluation order difficulties if I don't feel like learning the complicated rules?
3.12a What's the difference between ++i and i++?
3.12b If I'm not using the value of the expression, should I use ++i or i++ to increment a variable?
3.13 I need to check whether one number lies between two others. Why doesn't
if(a < b < c)work?
3.14 Why doesn't the code
int a = 1000, b = 1000; long int c = a * b;work?
3.14b How can I ensure that integer arithmetic doesn't overflow?
3.15 Why does the code
double degC, degF; degC = 5 / 9 * (degF - 32);keep giving me 0?
3.16 I have a complicated expression which I have to assign to one of two variables, depending on a condition. Can I use code like this?
((condition) ? a : b) = complicated_expression;
3.17 I have some code containing expressions like
a ? b = c : dand some compilers are accepting it but some are not.
3.18 What does the warning ``semantics of `>' change in ANSI C'' mean?
3.19 What's the difference between the ``unsigned preserving'' and ``value preserving'' rules?
4.1 What are pointers really good for, anyway?
4.2 I'm trying to declare a pointer and allocate some space for it, but it's not working. What's wrong with this code?
char *p; *p = malloc(10);
4.3 Does *p++ increment p, or what it points to?
4.4 I'm trying to use pointers to manipulate an array of ints. What's wrong with this code?
int array[5], i, *ip; for(i = 0; i < 5; i++) array[i] = i; ip = array; printf("%d\n", *(ip + 3 * sizeof(int)));I expected the last line to print 3, but it printed garbage.
4.5 I have a char * pointer that happens to point to some ints, and I want to step it over them. Why doesn't
((int *)p)++;work?
4.6 Why can't I perform arithmetic on a void * pointer?
4.7 I've got some code that's trying to unpack external structures, but it's crashing with a message about an ``unaligned access.'' What does this mean?
4.8 I have a function which accepts, and is supposed to initialize, a pointer:
void f(int *ip) { static int dummy = 5; ip = &dummy; }But when I call it like this:
int *ip; f(ip);the pointer in the caller remains unchanged.
4.9 Suppose I want to write a function that takes a generic pointer as an argument and I want to simulate passing it by reference. Can I give the formal parameter type void **, and do something like this?
void f(void **); double *dp; f((void **)&dp);
4.10 I have a function
extern int f(int *);which accepts a pointer to an int. How can I pass a constant by reference? A call like
f(&5);doesn't seem to work.
4.11 Does C even have ``pass by reference''?
4.12 I've seen different syntax used for calling functions via pointers. What's the story?
4.13 What's the total generic pointer type? My compiler complained when I tried to stuff function pointers into a void *.
4.14 How are integers converted to and from pointers? Can I temporarily stuff an integer into a pointer, or vice versa?
4.15 How do I convert an int to a char *? I tried a cast, but it's not working.
4.16 What's wrong with this declaration?
char* p1, p2;I get errors when I try to use p2.
4.17 What are ``near'' and ``far'' pointers?
5.1 What is this infamous null pointer, anyway?
5.2 How do I get a null pointer in my programs?
5.3 Is the abbreviated pointer comparison ``if(p)'' to test for non-null pointers valid? What if the internal representation for null pointers is nonzero?
5.4 What is NULL and how is it defined?
5.5 How should NULL be defined on a machine which uses a nonzero bit pattern as the internal representation of a null pointer?
5.6 If NULL were defined as follows:
#define NULL ((char *)0)wouldn't that make function calls which pass an uncast NULL work?
5.7 My vendor provides header files that #define NULL as 0L. Why?
5.8 Is NULL valid for pointers to functions?
5.9 If NULL and 0 are equivalent as null pointer constants, which should I use?
5.10 But wouldn't it be better to use NULL (rather than 0), in case the value of NULL changes, perhaps on a machine with nonzero internal null pointers?
5.11 I once used a compiler that wouldn't work unless NULL was used.
5.12 I use the preprocessor macro
#define Nullptr(type) (type *)0to help me build null pointers of the correct type.
5.13 This is strange. NULL is guaranteed to be 0, but the null pointer is not?
5.14 Why is there so much confusion surrounding null pointers? Why do these questions come up so often?
5.15 I'm confused. I just can't understand all this null pointer stuff.
5.16 Given all the confusion surrounding null pointers, wouldn't it be easier simply to require them to be represented internally by zeroes?
5.17 Seriously, have any actual machines really used nonzero null pointers, or different representations for pointers to different types?
5.18 Is a run-time integral value of 0, cast to a pointer, guaranteed to be a null pointer?
5.19 How can I access an interrupt vector located at the machine's location 0? If I set a pointer to 0, the compiler might translate it to some nonzero internal null pointer value.
5.20 What does a run-time ``null pointer assignment'' error mean? How can I track it down?
6.1 I had the definition char a[6] in one source file, and in another I declared extern char *a. Why didn't it work?
6.2 But I heard that char a[] was identical to char *a.
6.3 So what is meant by the ``equivalence of pointers and arrays'' in C?
6.4 If they're so different, then why are array and pointer declarations interchangeable as function formal parameters?
6.4b So arrays are passed by reference, even though the rest of C uses pass by value?
6.5 Why can't I do something like this?
extern char *getpass(); char str[10]; str = getpass("Enter password: ");
6.6 If you can't assign to arrays, then how can
int f(char str[]) { if(str[0] == '\0') str = "none"; ... }work?
6.6b And what about this? Isn't this an array assignment?
char a[] = "Hello, world!\n";
6.7 How can an array be an lvalue, if you can't assign to it?
6.8 Practically speaking, what is the difference between arrays and pointers?
6.9 Someone explained to me that arrays were really just constant pointers.
6.10 I'm still mystified. Is a pointer a kind of array, or is an array a kind of pointer?
6.11 I came across some ``joke'' code containing the ``expression'' 5["abcdef"] . How can this be legal C?
6.12 Since array references decay into pointers, if arr is an array, what's the difference between arr and &arr?
6.13 How do I declare a pointer to an array?
6.14
How can I set an array's size at run time?
How can I avoid
fixed-sized arrays?
6.15 How can I declare local arrays of a size matching a passed-in array?
6.16 How can I dynamically allocate a multidimensional array?
6.17 Here's a neat trick: if I write
int realarray[10]; int *array = &realarray[-1];I can treat array as if it were a 1-based array.
6.18 My compiler complained when I passed a two-dimensional array to a function expecting a pointer to a pointer.
6.19 How do I write functions which accept two-dimensional arrays when the width is not known at compile time?
6.20 How can I use statically- and dynamically-allocated multidimensional arrays interchangeably when passing them to functions?
6.21 Why doesn't sizeof properly report the size of an array when the array is a parameter to a function? I have a test routine
f(char a[10]) { int i = sizeof(a); printf("%d\n", i); }and it prints 4, not 10.
6.22 How can code in a file where an array is declared as extern (i.e. it is defined, and its size determined, in some other file) determine the size of the array? sizeof doesn't seem to work.
6.23 I want to know how many elements are in an array, but sizeof yields the size in bytes.
6.24 Is there a way to have an array of bits?
7.1 Why doesn't this fragment work?
char *answer; printf("Type something:\n"); gets(answer); printf("You typed \"%s\"\n", answer);
7.2 I can't get strcat to work. I tried
char *s1 = "Hello, "; char *s2 = "world!"; char *s3 = strcat(s1, s2);but I got strange results.
7.3 But the man page for strcat says that it takes two char *'s as arguments. How am I supposed to know to allocate things?
7.3b I just tried the code
char *p; strcpy(p, "abc");and it worked. How? Why didn't it crash?
7.3c How much memory does a pointer variable allocate?
7.4 I'm reading lines from a file into an array, with this code:
char linebuf[80]; char *lines[100]; int i; for(i = 0; i < 100; i++) { char *p = fgets(linebuf, 80, fp); if(p == NULL) break; lines[i] = p; }Why do all the lines end up containing copies of the last line?
7.5a I have a function that is supposed to return a string, but when it returns to its caller, the returned string is garbage.
7.5b So what's the right way to return a string or other aggregate?
7.6 Why am I getting ``warning: assignment of pointer from integer lacks a cast'' for calls to malloc?
7.7 Why does some code carefully cast the values returned by malloc to the pointer type being allocated?
7.7b What's wrong with casting malloc's return value?
7.7c In a call to malloc, what does an error like ``Cannot convert `void *' to `int *''' mean?
7.8 I see code like
char *p = malloc(strlen(s) + 1); strcpy(p, s);Shouldn't that be malloc((strlen(s) + 1) * sizeof(char))?
7.9 I wrote a little wrapper around malloc, but it doesn't work:
#include <stdio.h> #include <stdlib.h> mymalloc(void *retp, size_t size) { retp = malloc(size); if(retp == NULL) { fprintf(stderr, "out of memory\n"); exit(EXIT_FAILURE); } }
7.10 I'm trying to declare a pointer and allocate some space for it, but it's not working. What's wrong with this code?
char *p; *p = malloc(10);
7.10a What's wrong with this initialization?
char *p = malloc(10);My compiler is complaining about an ``invalid initializer'', or something.
7.10b How can I shut off the ``warning: possible pointer alignment problem'' message which lint gives me for each call to malloc?
7.11 How can I dynamically allocate arrays?
7.12 How can I find out how much memory is available?
7.13 What should malloc(0) do? Return a null pointer or a pointer to 0 bytes?
7.14 I've heard that some operating systems don't actually allocate malloc'ed memory until the program tries to use it. Is this legal?
7.15 malloc is returning crazy pointer values, but I did read question 7.6 and I have included the line
extern void *malloc();before I call it.
7.16 I'm allocating a large array for some numeric work, using the line
double *array = malloc(300 * 300 * sizeof(double));malloc isn't returning null, but the program is acting strangely, as if it's overwriting memory, or malloc isn't allocating as much as I asked for, or something.
7.17 I've got 8 meg of memory in my PC. Why can I only seem to malloc 640K or so?
7.18 My application depends heavily on dynamic allocation of nodes for data structures, and malloc/free overhead is becoming a bottleneck. What can I do?
7.19 My program is crashing, apparently somewhere down inside malloc, but I can't see anything wrong with it. Is there a bug in malloc?
I'm dynamically allocating an array, like this:
int *iarray = (int *)malloc(nints);malloc isn't returning NULL, but the code isn't working.
7.20 You can't use dynamically-allocated memory after you free it, can you?
7.21
Why isn't a pointer
null
after calling
free?
How unsafe is it to use
(assign, compare)
a pointer value after it's been freed?
7.22 When I call malloc to allocate memory for a pointer which is local to a function, do I have to explicitly free it?
7.23 I'm allocating structures which contain pointers to other dynamically-allocated objects. When I free a structure, do I also have to free each subsidiary pointer?
7.24 Must I free allocated memory before the program exits?
7.25 I have a program which mallocs and later frees a lot of memory, but I can see from the operating system that memory usage doesn't actually go back down.
7.26 How does free know how many bytes to free?
7.27 So can I query the malloc package to find out how big an allocated block is?
7.28 Why doesn't sizeof tell me the size of the block of memory pointed to by a pointer?
7.29 Having dynamically allocated an array (as in question 6.14), can I change its size?
7.30 Is it legal to pass a null pointer as the first argument to realloc? Why would you want to?
7.31 What's the difference between calloc and malloc? Which should I use? Is it safe to take advantage of calloc's zero-filling? Does free work on memory allocated with calloc, or do you need a cfree?
7.32 What is alloca and why is its use discouraged?
8.1 Why doesn't
strcat(string, '!');work?
8.2 I'm checking a string to see if it matches a particular value. Why isn't this code working?
char *string; ... if(string == "value") { /* string matches "value" */ ... }
8.3 If I can say
char a[] = "Hello, world!";why can't I say
char a[14]; a = "Hello, world!";
8.4 I can't get strcat to work. I tried
char *s1 = "Hello, "; char *s2 = "world!"; char *s3 = strcat(s1, s2);but I got strange results.
8.5 What is the difference between these initializations?
char a[] = "string literal"; char *p = "string literal";My program crashes if I try to assign a new value to p[i].
8.6 How can I get the numeric value (i.e. ASCII or other character set code) corresponding to a character, or vice versa?
8.7 Does C have anything like the ``substr'' (extract substring) routine present in other languages?
8.8 I'm reading strings typed by the user into an array, and then printing them out later. When the user types a sequence like \n, why isn't it being handled properly?
8.9 I think something's wrong with my compiler: I just noticed that sizeof('a') is 2, not 1 (i.e. not sizeof(char)).
8.10 I'm starting to think about multinational character sets, and I'm worried about the implications of making sizeof(char) be 2 so that 16-bit character sets can be represented.
9.1 What is the right type to use for Boolean values in C? Is there a standard type? Should I use #defines or enums for the true and false values?
9.2 Isn't #defining TRUE to be 1 dangerous, since any nonzero value is considered ``true'' in C? What if a built-in logical or relational operator ``returns'' something other than 1?
9.3 Is if(p), where p is a pointer, a valid and portable test?
9.4 Should I use symbolic names like TRUE and FALSE for Boolean constants, or plain 1 and 0?
9.5 A third-party header file I just started using is defining its own TRUE and FALSE values incompatibly with the code I've already developed. What can I do?
10.1 I'm trying to define a few simple little function-like macros such as
#define square(x) x * xbut they're not always working.
10.2 Here are some cute preprocessor macros:
#define begin { #define end }With these, I can write C code that looks more like Pascal. What do y'all think?
10.3 How can I write a generic macro to swap two values?
10.4 What's the best way to write a multi-statement macro?
10.5 What's the difference between using a typedef or a #define for a user-defined type?
10.5b What's the difference between
const MAXSIZE = 100;
and
#define MAXSIZE 100
10.6 I'm splitting up a program into multiple source files for the first time, and I'm wondering what to put in .c files and what to put in .h files. (What does ``.h'' mean, anyway?)
10.7 Is it acceptable for one header file to #include another?
10.8a What's the difference between #include <> and #include "" ?
10.8b What are the complete rules for header file searching?
10.9 I'm getting strange syntax errors on the very first declaration in a file, but it looks fine.
10.10 I'm using header files which accompany two different third-party libraries, and they are ``helpfully'' defining common macros such as TRUE, FALSE, Min(), and Max(), but the definitions clash with each other and with definitions I'd already established in my own header files. What can I do?
10.10b I'm #including the right header file for the library function I'm using, but the linker keeps saying it's undefined.
10.11 I'm compiling a program, and I seem to be missing one of the header files it requires. Can someone send me a copy?
10.12 How can I construct preprocessor #if expressions which compare strings?
10.13 Does the sizeof operator work in preprocessor #if directives?
10.14 Can I use an #ifdef in a #define line, to define something two different ways, like this?
#define a b \ #ifdef whatever c d #else e f g #endif
10.15 Is there anything like an #ifdef for typedefs?
10.16 How can I use a preprocessor #if expression to tell whether a machine's byte order is big-endian or little-endian?
10.17 I'm getting strange syntax errors inside lines I've #ifdeffed out.
10.18 I inherited some code which contains far too many #ifdef's for my taste. How can I preprocess the code to leave only one conditional compilation set, without running it through the preprocessor and expanding all of the #include's and #define's as well?
10.19 How can I list all of the predefined identifiers?
10.20 I have some old code that tries to construct identifiers with a macro like
#define Paste(a, b) a/**/bbut it doesn't work any more.
10.21 I have an old macro
#define CTRL(c) ('c' & 037)that doesn't seem to work any more.
10.22 Why is the macro
#define TRACE(n) printf("TRACE: %d\n", n)giving me the warning ``macro replacement within a string literal''? It seems to be expanding
TRACE(count);as
printf("TRACE: %d\count", count);
10.23 How can I use a macro argument inside a string literal in the macro expansion?
10.24 I'm trying to use the ANSI ``stringizing'' preprocessing operator `#' to insert the value of a symbolic constant into a message, but it keeps stringizing the macro's name rather than its value.
10.25 I've got this tricky preprocessing I want to do and I can't figure out a way to do it.
10.26 How can I write a macro which takes a variable number of arguments, or use the preprocessor to ``turn off'' a function call with a variable number of arguments?
10.27 How can I include expansions of the __FILE__ and __LINE__ macros in a general-purpose debugging macro?
11.1 What is the ``ANSI C Standard?''
11.2 How can I get a copy of the Standard?
11.2b Where can I get information about updates to the Standard?
11.3 My ANSI compiler complains about a mismatch when it sees
extern int func(float); int func(x) float x; { ...
11.4 Can you mix old-style and new-style function syntax?
11.5 Why does the declaration
extern int f(struct x *p);give me an obscure warning message about ``struct x declared inside parameter list''?
11.6 I had a frustrating problem which turned out to be caused by the line
printf("%d", n);where n was actually a long int. I thought that ANSI function prototypes were supposed to guard against argument type mismatches like this.
11.7 I heard that you have to #include <stdio.h> before calling printf. Why?
11.8 I don't understand why I can't use const values in initializers and array dimensions, as in
const int n = 5; int a[n];
11.8b If you can't modify string literals, why aren't they defined as being arrays of const characters?
11.9 What's the difference between const char *p, char const *p, and char * const p?
11.10 Why can't I pass a char ** to a function which expects a const char **?
11.11 I've got the declarations
typedef char *charp; const charp p;Why is p turning out const, instead of the characters pointed to?
11.11b What's the difference between
const MAXSIZE = 100;
and
#define MAXSIZE 100
11.12a What's the correct declaration of main()?
11.12b Can I declare main as void, to shut off these annoying ``main returns no value'' messages?
11.13 But what about main's third argument, envp?
11.14a I believe that declaring void main() can't fail, since I'm calling exit instead of returning, and anyway my operating system ignores a program's exit/return status.
11.14b So what could go wrong? Are there really any systems where void main() doesn't work?
11.15 The book I've been using, C Programing for the Compleat Idiot, always uses void main().
11.16 Is exit(status) truly equivalent to returning the same status from main?
11.17 I'm trying to use the ANSI ``stringizing'' preprocessing operator `#' to insert the value of a symbolic constant into a message, but it keeps stringizing the macro's name rather than its value.
11.18 What does the message ``warning: macro replacement within a string literal'' mean?
11.19 I'm getting strange syntax errors inside lines I've #ifdeffed out.
11.20 What are #pragmas and what are they good for?
11.21 What does ``#pragma once'' mean? I found it in some header files.
11.22 Is char a[3] = "abc"; legal? What does it mean?
11.23 Since array references decay into pointers, if arr is an array, what's the difference between arr and &arr?
11.24 Why can't I perform arithmetic on a void * pointer?
11.25 What's the difference between memcpy and memmove?
11.26 What should malloc(0) do? Return a null pointer or a pointer to 0 bytes?
11.27 Why does the ANSI Standard place limits on the length and case-significance of external identifiers?
11.28 What was noalias and what ever happened to it?
11.29a My compiler is rejecting the simplest possible test programs, with all kinds of syntax errors. It's complaining about the first line of
main(int argc, char **argv) { return 0; }
11.29b What does the message ``Automatic aggregate intialization is an ANSI feature'' mean? My compiler is complaining about valid ANSI code.
11.30 Why are some ANSI/ISO Standard library functions showing up as undefined, even though I've got an ANSI compiler?
11.31 Does anyone have a tool for converting old-style C programs to ANSI C, or vice versa, or for automatically generating prototypes?
11.32 Why won't the Frobozz Magic C Compiler, which claims to be ANSI compliant, accept this code? I know that the code is ANSI, because gcc accepts it.
11.33 People seem to make a point of distinguishing between implementation-defined, unspecified, and undefined behavior. What do these mean?
11.33b What does it really mean for a program to be ``legal'' or ``valid'' or ``conforming''?
11.34 I'm appalled that the ANSI Standard leaves so many issues undefined. Isn't a Standard's whole job to standardize these things?
11.35 People keep saying that the behavior of i = i++ is undefined, but I just tried it on an ANSI-conforming compiler, and got the results I expected.
12.1 What's wrong with this code?
char c; while((c = getchar()) != EOF) ...
12.1b I have a simple little program that reads characters until EOF, but how do I actually enter that ``EOF'' value from the keyboard? I see that EOF is defined by <stdio.h> to be -1; am I supposed to enter -1?
12.2 Why does the simple line-copying loop while(!feof(infp)) { fgets(buf, MAXLINE, infp); fputs(buf, outfp); } copy the last line twice?
12.3 I'm using fgets to read lines from a file into an array of pointers. Why do all the lines end up containing copies of the last line?
12.4 My program's prompts and intermediate output don't always show up on the screen, especially when I pipe the output through another program.
12.5 How can I read one character at a time, without waiting for the RETURN key?
12.6 How can I print a '%' character in a printf format string? I tried \%, but it didn't work.
12.7 Why doesn't
long int n = 123456; printf("%d\n", n);work?
12.8 I thought that ANSI function prototypes were supposed to guard against argument type mismatches.
12.9 Someone told me it was wrong to use %lf with printf. How can printf use %f for type double, if scanf requires %lf?
12.9b What printf format should I use for a typedef like size_t when I don't know whether it's long or some other type?
12.10 How can I implement a variable field width with printf? That is, instead of something like %8d, I want the width to be specified at run time.
12.11
How can I print numbers with commas separating the thousands?
What about currency formatted numbers?
12.12 Why doesn't the call scanf("%d", i) work?
12.12b Why does the call
char s[30]; scanf("%s", s);work? I thought you always needed an & on each variable passed to scanf.
12.13 Why doesn't this code:
double d; scanf("%f", &d);work?
12.14 Why doesn't the code
short int s; scanf("%d", &s);work?
12.15 How can I specify a variable width in a scanf format string?
12.16
How can I read data from
data files with particular formats?
How can I read ten floats without having to use a jawbreaker
scanf format
like
"%f %f %f %f %f %f %f %f %f %f"?
How can I read an arbitrary number of fields from a line into an array?
12.17 When I read numbers from the keyboard with scanf and a "%d\n" format, like this:
int n; scanf("%d\n", &n); printf("you typed %d\n", n);it seems to hang until I type one extra line of input.
12.18a I'm reading a number with scanf and %d, and then a string with gets():
int n; char str[80]; printf("enter a number: "); scanf("%d", &n); printf("enter a string: "); gets(str); printf("you typed %d and \"%s\"\n", n, str);but the compiler seems to be skipping the call to gets()!
12.18b I'm using scanf %c to read a Y/N response, but later input gets skipped.
12.19 I figured I could use scanf more safely if I checked its return value to make sure that the user typed the numeric values I expect:
int n; while(1) { printf("enter a number: "); if(scanf("%d", &n) == 1) break; printf("try again: "); } printf("you typed %d\n", n);but sometimes it seems to go into an infinite loop. [footnote] Why?
12.20 Why does everyone say not to use scanf? What should I use instead?
12.21 How can I tell how much destination buffer space I'll need for an arbitrary sprintf call? How can I avoid overflowing the destination buffer with sprintf?
12.22 What's the deal on sprintf's return value? Is it an int or a char *?
12.23 Why does everyone say not to use gets()?
12.24 I thought I'd check errno after a long string of printf calls, to see if any of them had failed:
errno = 0; printf("This\n"); printf("is\n"); printf("a\n"); printf("test.\n"); if(errno != 0) fprintf(stderr, "printf failed: %s\n", strerror(errno));Why is it printing something strange like ``printf failed: Not a typewriter'' when I redirect the output to a file?
12.25
What's the difference between fgetpos/fsetpos
and ftell/fseek?
What are fgetpos and fsetpos good for?
12.26a How can I flush pending input so that a user's typeahead isn't read at the next prompt? Will fflush(stdin) work?
12.26b If fflush won't work, what can I use to flush input?
12.27 I wrote this routine which is supposed to open a file:
myfopen(char *filename, FILE *fp) { fp = fopen(filename, "r"); }But when I call it like this:
FILE *infp; myfopen("filename.dat", infp);the infp variable in the caller doesn't get set properly.
12.28 I can't even get a simple fopen call to work! What's wrong with this call?
FILE *fp = fopen(filename, 'r');
12.28b How can I open files with names like ``file1'', ``file2'', ``file3'', etc., where the numeric part is controlled by a variable? Basically I want ``file%d'', like printf.
12.29 fopen is failing for certain pathnames.
12.30 I'm trying to update a file in place, by using fopen mode "r+", reading a certain string, and writing back a modified string, but it's not working.
12.31 How can I insert or delete a line (or record) in the middle of a file?
12.32 How can I recover the file name given an open stream?
12.33 How can I redirect stdin or stdout to a file from within a program?
12.34 Once I've used freopen, how can I get the original stdout (or stdin) back?
12.35 How can I tell if standard input or output is redirected (i.e. whether ``<'' or ``>'' was used on the invocation command line)?
12.36 I'm trying to write a program like ``more.'' How can I get back to the interactive keyboard if stdin is redirected?
12.36b How can I arrange to have output go two places at once, e.g. to the screen and to a file?
12.37 I want to read and write numbers between files and memory in a byte-at-a-time way, not as formatted characters the way fprintf and fscanf do. How can I do this?
12.38 How can I read a binary data file properly? I'm occasionally seeing 0x0a and 0x0d values getting garbled, and I seem to hit EOF prematurely if the data contains the value 0x1a.
12.39 I'm writing a ``filter'' for binary files, but stdin and stdout are preopened as text streams. How can I change their mode to binary?
12.40 What's the difference between text and binary I/O?
12.41 How can I read/write structures from/to data files?
12.42 How can I write code to conform to these old, binary data file formats?
12.43 I'm reading strings typed by the user into an array, and then printing them out later. When the user types a sequence like \n, why isn't it being handled properly?
13.1 How can I convert numbers to strings (the opposite of atoi)? Is there an itoa function?
13.2 Why does strncpy not always place a '\0' terminator in the destination string?
13.3 Does C have anything like the ``substr'' (extract substring) routine present in other languages?
13.4 How do I convert a string to all upper or lower case?
13.5
Why
do some versions of
toupper act strangely if given an upper-case letter?
Why does some code call islower before toupper?
13.6
How can I split up a
string
into
whitespace-separated fields?
How can I duplicate the process
by which main()
is handed argc and argv?
13.7 I need some code to do regular expression and wildcard matching.
13.8 I'm trying to sort an array of strings with qsort, using strcmp as the comparison function, but it's not working.
13.9 Now I'm trying to sort an array of structures with qsort. My comparison function takes pointers to structures, but the compiler complains that the function is of the wrong type for qsort. How can I cast the function pointer to shut off the warning?
13.10 How can I sort a linked list?
13.11 How can I sort more data than will fit in memory?
13.12 How can I get the current date or time of day in a C program?
13.13 I know that the library function localtime will convert a time_t into a broken-down struct tm, and that ctime will convert a time_t to a printable string. How can I perform the inverse operations of converting a struct tm or a string into a time_t?
13.14 How can I add N days to a date? How can I find the difference between two dates?
13.14b Did C have any Year 2000 problems?
13.15 I need a random number generator.
13.16 How can I get random integers in a certain range?
13.17 Each time I run my program, I get the same sequence of numbers back from rand().
13.18 I need a random true/false value, so I'm just taking rand() % 2, but it's alternating 0, 1, 0, 1, 0...
13.19 How can I return a sequence of random numbers which don't repeat at all?
13.19b How can I generate floating-point random numbers?
13.20 How can I generate random numbers with a normal or Gaussian distribution?
13.21 I'm porting this program, and it calls a routine drand48, which my library doesn't have. What is it?
13.22 Is exit(status) truly equivalent to returning the same status from main?
13.23 What's the difference between memcpy and memmove?
13.24 I'm trying to port this old program. Why do I get ``undefined external'' errors for some library functions?
13.25 I keep getting errors due to library functions being undefined, but I'm #including all the right header files.
13.26 I'm still getting errors due to library functions being undefined, even though I'm explicitly requesting the right libraries while linking.
13.27 Why is my simple program, which hardly does more than print ``Hello, world!'' in a window, compiling to such a huge executable (several hundred K)? Should I #include fewer header files?
13.28 What does it mean when the linker says that _end is undefined?
13.29 My compiler is complaining that printf is undefined! How can this be? It's the world's most popular C function...
14.1 When I set a float variable to, say, 3.1, why is printf printing it as 3.0999999?
14.2 I'm trying to take some square roots, and I've simplified the code down to
main() { printf("%f\n", sqrt(144.)); }but I'm still getting crazy numbers.
14.3 I'm trying to do some simple trig, and I am #including <math.h>, but the linker keeps complaining that functions like sin and cos are undefined.
14.4a My floating-point calculations are acting strangely and giving me different answers on different machines.
14.4b I'm sure I've got the trig functions declared correctly, but they're still giving me wrong answers.
14.5 What's a good way to check for ``close enough'' floating-point equality?
14.6 How do I round numbers?
14.7 Why doesn't C have an exponentiation operator?
14.8 The predefined constant M_PI seems to be missing from my machine's copy of <math.h>.
14.9 How do I set variables to, or test for IEEE NaN (``Not a Number'') and other special values?
14.10 How can I handle floating-point exceptions gracefully?
14.11 What's a good way to implement complex numbers in C?
14.12 I'm looking for some code to do:
Fast Fourier Transforms (FFT's)
matrix arithmetic (multiplication, inversion, etc.)
complex arithmetic
14.13 I'm having trouble with a Turbo C program which crashes and says something like ``floating point formats not linked.''
15.1 I heard that you have to #include <stdio.h> before calling printf. Why?
15.2 How can %f be used for both float and double arguments in printf? Aren't they different types?
15.3 I had a frustrating problem which turned out to be caused by the line
printf("%d", n);where n was actually a long int. I thought that ANSI function prototypes were supposed to guard against argument type mismatches like this.
15.4 How can I write a function that takes a variable number of arguments?
15.5 How can I write a function that takes a format string and a variable number of arguments, like printf, and passes them to printf to do most of the work?
15.6 How can I write a function analogous to scanf, i.e. that accepts similar arguments, and calls scanf to do most of the work?
15.7 I have a pre-ANSI compiler, without <stdarg.h>. What can I do?
15.8 How can I discover how many arguments a function was actually called with?
15.9 My compiler isn't letting me declare a function
int f(...) { }i.e. accepting a variable number of arguments, but with no fixed arguments at all.
15.10 I have a varargs function which accepts a float parameter. Why isn't
va_arg(argp, float)working?
15.11 I can't get va_arg to pull in an argument of type pointer-to-function.
15.12 How can I write a function which takes a variable number of arguments and passes them to some other function (which takes a variable number of arguments)?
15.13 How can I call a function with an argument list built up at run time?
16.1 Why is this loop always executing once?
for(i = start; i < end; i++); { printf("%d\n", i); }
16.1b I'm getting baffling syntax errors which make no sense at all, and it seems like large chunks of my program aren't being compiled.
16.1c Why isn't my procedure call working? The compiler seems to skip right over it.
16.2 I'm getting strange syntax errors on the very first declaration in a file, but it looks fine.
16.3 This program crashes before it even runs! (When single-stepping with a debugger, it dies before the first statement in main.)
16.4 I have a program that seems to run correctly, but it crashes as it's exiting, after the last statement in main(). What could be causing this?
16.5 This program runs perfectly on one machine, but I get weird results on another. Stranger still, adding or removing a debugging printout changes the symptoms...
16.6 Why does this code:
char *p = "hello, world!"; p[0] = 'H';crash?
I've got some code that's trying to unpack external structures, but it's crashing with a message about an ``unaligned access.'' What does this mean? The code looks like this:
struct mystruct { char c; long int i32; int i16; } s; char buf[7], *p; fread(buf, 7, 1, fp); p = buf; s.c = *p++; s.i32 = *(long int *)p; p += 4; s.i16 = *(int *)p;
16.8 What do ``Segmentation violation'', ``Bus error'', and ``General protection fault'' mean? What's a ``core dump''?
17.1 What's the best style for code layout in C?
17.2 How should functions be apportioned among source files?
17.3 Here's a neat trick for checking whether two strings are equal:
if(!strcmp(s1, s2))Is this good style?
17.4 Why do some people write if(0 == x) instead of if(x == 0)?
17.4b I've seen function declarations that look like this:
extern int func __((int, int));What are those extra parentheses and underscores for?
17.5 I came across some code that puts a (void) cast before each call to printf. Why?
17.6 If NULL and 0 are equivalent as null pointer constants, which should I use?
17.7 Should I use symbolic names like TRUE and FALSE for Boolean constants, or plain 1 and 0?
17.8 What is ``Hungarian Notation''? Is it worthwhile?
17.9 Where can I get the ``Indian Hill Style Guide'' and other coding standards?
17.10 Some people say that goto's are evil and that I should never use them. Isn't that a bit extreme?
17.11 People always say that good style is important, but when they go out of their way to use clear techniques and make their programs readable, they seem to end up with less efficient programs. Since efficiency is so important, isn't it necessary to sacrifice some style and readability?
17.12 Which is correct,
char *por
char* p?
18.1 I need some C development tools.
18.2 How can I track down these pesky malloc problems?
18.3 What's a free or cheap C compiler I can use?
18.4 I just typed in this program, and it's acting strangely. Can you see anything wrong with it?
18.5 How can I shut off the ``warning: possible pointer alignment problem'' message which lint gives me for each call to malloc?
18.6 Can I declare main as void, to shut off these annoying ``main returns no value'' messages?
18.7 Where can I get an ANSI-compatible lint?
18.8 Don't ANSI function prototypes render lint obsolete?
18.9 Are there any C tutorials or other resources on the net?
18.9b Where can I find some good code examples to study and learn from?
18.10 What's a good book for learning C? What about advanced books and references?
18.11 Where can I find answers to the exercises in K&R?
18.12 Does anyone know where the source code from books like Numerical Recipes in C, Plauger's The Standard C Library, or Kernighan and Pike's The UNIX Programming Environment is available on-line?
18.13 Where can I find the sources of the standard C libraries?
18.13b Is there an on-line C reference manual?
18.13c Where can I get a copy of the ANSI/ISO C Standard?
18.14 I need code to parse and evaluate expressions.
18.15 Where can I get a BNF or YACC grammar for C?
18.15b Does anyone have a C compiler test suite I can use?
18.15c Where are some collections of useful code fragments and examples?
18.15d I need code for performing multiple precision arithmetic.
18.16 Where and how can I get copies of all these freely distributable programs?
18.17 Where can I get extra copies of this list?
19.1 How can I read a single character from the keyboard without waiting for the RETURN key? How can I stop characters from being echoed on the screen as they're typed?
19.2 How can I find out if there are characters available for reading (and if so, how many)? Alternatively, how can I do a read that will not block if there are no characters available?
19.3 How can I display a percentage-done indication that updates itself in place, or show one of those ``twirling baton'' progress indicators?
19.4
How can I clear the screen?
How can I
print
text in color?
How can I
move the cursor
to a specific x, y position?
19.4b I'm compiling some test programs on a windows-based system, and the windows containing my program's output are closing so quickly after my program calls exit that I can't see the output. How can I make it pause before closing?
19.5 How do I read the arrow keys? What about function keys?
19.6 How do I read the mouse?
19.7 How can I do serial (``comm'') port I/O?
19.8 How can I direct output to the printer?
19.9 How do I send escape sequences to control a terminal or other device?
19.9b How can I access an I/O board directly?
19.10 How can I do graphics?
19.10b How can I display GIF and JPEG images?
19.10c How can I load new fonts for display?
19.10d How can I send mail from within a C program?
19.11 How can I check whether a file exists? I want to warn the user if a requested input file is missing.
19.12 How can I find out the size of a file, prior to reading it in?
19.12b How can I find the modification date and time of a file?
19.13 How can a file be shortened in-place without completely clearing or rewriting it?
19.14 How can I insert or delete a line (or record) in the middle of a file?
19.15 How can I recover the file name given an open stream or file descriptor?
19.16 How can I delete a file?
19.16b How do I copy files?
19.17 Why can't I open a file by its explicit path? The call
fopen("c:\newdir\file.dat", "r")is failing.
19.17b fopen isn't letting me open files like "$HOME/.profile" and "~/.myrcfile".
19.17c How can I suppress the dreaded MS-DOS ``Abort, Retry, Ignore?'' message?
19.18 I'm getting an error, ``Too many open files''. How can I increase the allowable number of simultaneously open files?
19.19 How can I find out how much free space is available on disk?
19.20 How can I read a directory in a C program?
19.21
How do I create a directory?
How do I remove a directory
(and its contents)?
19.22 How can I find out how much memory is available?
19.23 How can I allocate arrays or structures bigger than 64K?
19.24 What does the error message ``DGROUP data allocation exceeds 64K'' mean, and what can I do about it? I thought that using large model meant that I could use more than 64K of data!
19.25
How can I access memory
(a memory-mapped device,
or graphics memory)
located at a certain address?
How can I do PEEK and POKE in C?
19.25b How can I determine whether a machine's byte order is big-endian or little-endian?
19.26 How can I access an interrupt vector located at the machine's location 0? If I set a pointer to 0, the compiler might translate it to some nonzero internal null pointer value.
19.27 How can I invoke another program (a standalone executable, or an operating system command) from within a C program?
19.28 How can I call system when parameters (filenames, etc.) of the executed command aren't known until run time?
19.29 How do I get an accurate error status return from system on MS-DOS?
19.30 How can I invoke another program or command and trap its output?
19.31 How can my program discover the complete pathname to the executable from which it was invoked?
19.32 How can I automatically locate a program's configuration files in the same directory as the executable?
19.33 How can a process change an environment variable in its caller?
19.34 How can I open files mentioned on the command line, and parse option flags?
19.35 Is exit(status) truly equivalent to returning the same status from main?
19.36 How can I read in an object file and jump to locations in it?
19.37 How can I implement a delay, or time a user's response, with sub-second resolution?
19.38 How can I trap or ignore keyboard interrupts like control-C?
19.39 How can I handle floating-point exceptions gracefully?
19.39b How can I ensure that integer arithmetic doesn't overflow?
19.40 How do I... Use sockets? Do networking? Write client/server applications?
19.40a Can I combine .OBJ and .LIB files from Microsoft C and Turbo C?
19.40b How do I... Use BIOS calls? Write ISR's? Create TSR's?
19.40c I'm trying to compile this program, but the compiler is complaining that ``union REGS'' is undefined, and the linker is complaining that int86 is undefined.
19.40d What are ``near'' and ``far'' pointers?
19.41 But I can't use all these nonstandard, system-dependent functions, because my program has to be ANSI compatible!
19.42 Why isn't any of this standardized in C? Any real program has to do some of these things.
20.1 How can I return multiple values from a function?
20.2 What's a good data structure to use for storing lines of text? I started to use fixed-size arrays of arrays of char, but they're just too restrictive.
20.3 How can I open files mentioned on the command line, and parse option flags?
20.4 What's the right way to use errno?
20.5 How can I write data files which can be read on other machines with different word size, byte order, or floating point formats?
20.6 If I have a char * variable pointing to the name of a function, how can I call that function? Code like
extern int func(int, int); char *funcname = "func"; int r = (*funcname)(1, 2);or
r = (*(int (*)(int, int))funcname)(1, 2);doesn't seem to work.
20.6b How can I ensure that integer arithmetic doesn't overflow?
20.7 How can I manipulate individual bits?
20.8 How can I implement sets or arrays of bits?
20.9 How can I determine whether a machine's byte order is big-endian or little-endian?
20.9b How do I swap bytes?
20.10 How can I convert integers to binary or hexadecimal?
20.11
Can I use base-2 constants
(something like 0b101010)?
Is there a
printf format for binary?
20.12 What is the most efficient way to count the number of bits which are set in an integer?
20.13 What's the best way of making my program efficient?
20.14 Are pointers really faster than arrays? How much do function calls slow things down? Is ++i faster than i = i + 1?
20.15 I've been replacing multiplications and divisions with shift operators, because shifting is more efficient.
20.15b People claim that optimizing compilers are good and that we no longer have to write things in assembler for speed, but my compiler can't even replace i/=2 with a shift.
20.15c How can I swap two values without using a temporary?
20.16 Which is more efficient, a switch statement or an if/else chain?
20.17 Is there a way to switch on strings?
20.18 Is there a way to have non-constant case labels (i.e. ranges or arbitrary expressions)?
20.19 Are the outer parentheses in return statements really optional?
20.20 Why don't C comments nest? How am I supposed to comment out code containing comments? Are comments legal inside quoted strings?
20.20b Why isn't there a numbered, multi-level break statement to break out of several loops at once? What am I supposed to use instead, a goto?
20.21 There seem to be a few missing operators, like ^^, &&=, and ->=.
20.21a Does C have circular shift operators?
20.21b Is C a great language, or what? Where else could you write something like a+++++b ?
20.22 If the assignment operator were :=, wouldn't it then be harder to accidentally write things like if(a = b) ?
20.23 Does C have an equivalent to Pascal's with statement?
20.24 Why doesn't C have nested functions?
20.24b What is assert() and when would I use it?
20.25 How can I call FORTRAN (C++, BASIC, Pascal, Ada, LISP) functions from C? (And vice versa?)
20.26 Does anyone know of a program for converting Pascal or FORTRAN (or LISP, Ada, awk, ``Old'' C, ...) to C?
20.27 Is C++ a superset of C? What are the differences between C and C++? Can I use a C++ compiler to compile C code?
20.28 I need a sort of an ``approximate'' strcmp routine, for comparing two strings for close, but not necessarily exact, equality.
20.29 What is hashing?
20.30 How can I generate random numbers with a normal or Gaussian distribution?
20.31 How can I find the day of the week given the date?
20.32 Is (year % 4 == 0) an accurate test for leap years? (Was 2000 a leap year?)
20.33 Why can tm_sec in the tm structure range from 0 to 61, suggesting that there can be 62 seconds in a minute?
20.34 Here's a good puzzle: how do you write a program which produces its own source code as output?
20.35 What is ``Duff's Device''?
20.36 When will the next International Obfuscated C Code Contest (IOCCC) be held? How do I submit contest entries? Who won this year's IOCCC? How can I get a copy of the current and previous winning entries?
20.37 What was the entry keyword mentioned in K&R1?
20.38 Where does the name ``C'' come from, anyway?
20.39 How do you pronounce ``char''? What's that funny name for the ``#'' character?
20.39b What do ``lvalue'' and ``rvalue'' mean?
20.40 Where can I get extra copies of this list?


##A case against speeding
A few months ago, I was going from Bangalore to Thiruvannamalai. While most of the roads in Tamilnadu are good, NH-66 connecting Krishnagiri and Thiruvannamalai has parts which are good, and other parts are muddy and often pass through populated areas.
In such a situation, the intuition is often to drive very fast on the good part of the road, faster than what you would have done if the whole road were good. The intuition is to “make up” for the slow speed in the bad part of the road. In the slow portion, we are bottlenecked by congestion on the road, so we cannot do much. In the fast portion, we can be more aggressive and drive faster.
How much can we make up?
Let us say total distance to be travelled is 400km, of which 200km is good and 200km is bad. Speed on good road is 100km/hr and speed on bad road is 20km/hr. What do you think is the average speed during the journey. First intuition is that the average speed should be (100 + 20) / 2 = 60km/hr.
However, actually, the average speed is the harmonic mean of 100 and 20.
Time taken to cover fast part: 200 / 100 = 2 hrs
Time taken to cover slow part: 200 / 20 = 10 hrs
Total time: 12 hrs
Average speed: 400/12 km/hr = 33.3 km/hr = 2 * 100 * 20 / (100 + 20) km/hr.
Let’s see how much does speeding buy us. We decide to drive at 20% higher speed in the fast portion, at 120 km/hr. Then average speed for the journey would be 2 * 120 * 20 / (120 + 20) = 34.3 km/hr, a mere 3% speedup over 33.3km/hr.
If similar 20% speedup could be had for the slower part from 20km/hr to 24km/hr, gain would be much more handsome. Average speed up goes up to 2 * 100 * 24 / (100 + 24) = 38.7km/hr, which is a handsome 16% speedup!
Reason is that most of the time is spent on the slow road, so it makes sense to increase the speed there. Not doing so is falling prey to Streetlight effect ##Moral of the story Moral of the story is that it makes more sense to make modest speedups in slower portion of the job rather than big speedups in faster portion. And speeding on the road is not worth the risk.


How many favored enemies do you need for the BoE feat?
you just need lvl 21 ranger to get bane. _________________ Be realistic...
so the book is wrong when it says it needs 5 favored enemies as well?
Quote: Posted 09/17/06 22:40:55 (GMT) -- Jehoshua
so the book is wrong when it says it needs 5 favored enemies as well?
Yep, it's one of the many errors in the manual. You 'only' need 21 RGR levels. _________________ It's rogue, dammit, ROGUE!!!


MSG_NOTIFY_FILE_CHANGE, MSG_NOTIFY_DRIVE_CHANGE, MSG_NOTIFY_APP_STARTED, MSG_NOTIFY_APP_EXITED, MSG_NOTIFY_USER_DICT_CHANGE, MSG_NOTIFY_EXPRESS_MENU_CHANGE
When an identified change occurs, either the system (or a library) will call the routine
GCNListSend()
, passing it the appropriate notification message. This routine scans the list of all GCN lists and dispatches notification to all appropriate objects that had requested knowledge of the specified change. If any additional information relating to the change cannot be included in the message, the system allows
GCNListSend()
to pass data in a global heap block. For example, additional information about a file change (name of file, etc.) must be passed in a global heap block.
The object or process originally requesting notification of the change should be required to handle the appropriate message. If additional data about the change is passed in a global heap block, the process should access that information with
MemLock()
and
MemUnlock()
. You should always call the process's superclass in your message handler to make sure that the global heap block will be automatically freed by
MetaClass
. Therefore, do not free a global heap block manually in a notification handler.
The system provides several messages which you may want to handle. These messages provide notification of file system changes, application start-up or shut-down, system clock changes, etc. These messages are mentioned with the list they correspond to in Registering for System Notification . Messages which require more detailed explanation are also mentioned below.
The kernel sends
MSG_NOTIFY_FILE_CHANGE
whenever a change to the file system occurs. All objects signed up on the GCN list GCNSLT_FILE_CHANGE will receive this message.
MSG_NOTIFY_FILE_CHANGE
passes a
FileChangeNotificationType
specifying the change that occurred. Some types indicate the presence of a data block (of type
FileChangeNotificationData)
containing, if applicable, the name of the file changed, the disk handle of the file changed, and the ID of the affected file.
The notification type should be one of the following:
id
stores the ID of the containing directory; FCND_
name
contains the name of the new file or directory that was created.
id
stores the ID of the file or directory that was renamed; FCND_
name
contains its new name.
id
stores the ID of the file. FCND_
name
is undefined, and may or may not be present. (You can check the size of the block to see if it is indeed present.) This notification type is generated after a call to
FileEnableOpenCloseNotification()
.
id
stores the ID of the file or directory that was deleted. FCND_
name
is undefined and may or may not be present.
id
stores the ID of the file. FCND_
name
is undefined and may or may not be present. This notification type is generated after a call to
FileCommit()
or
FileClose()
that results in a file modification.
id
stores the ID of the file. FCND_
name
is undefined and may or may not be present. This notification type is generated upon completion of all changes in a
FileSetAttributes()
,
FileSetHandleExtAttributes()
, or
FileSetPathExtAttributes()
call.
id
and FCND_
name
are undefined and may not be present.
_id
stores the identifier of the file. FCND
_name
is undefined and may not be present. This notification type is generated only after a call to
FileEnableOpenCloseNotification()
.
FileChangeBatchNotificationData
block instead. This data block stores a batch of
FileChangeBatchNotificationItem
structures, each referring to an operation (with its own notification type, disk handle, file name, and file ID). Note that in this batched case, you must assume that all file names and file IDs that are optional (i.e. are undefined) are not present.
StandardPath
. FCND_
disk
contains the
StandardPath
that was added. This notification type is generated after a call to
FileAddStandardPathDirectory()
.
StandardPath
. FCND_
disk
contains the
StandardPath
that was deleted. This notification type is generated after a call to
FileDeleteStandardPathDirectory()
.You may access this data (after locking the block) and perform whatever actions you need within your message handler.
The kernel also sends MSG_NOTIFY_DRIVE_CHANGE to GCN lists of type GCNSLT_FILE_CHANGE. This message passes a
GCNDriveChangeNotificationType
specifying whether a drive is being created or destroyed and the ID of the affected drive.
The kernel sends
MSG_NOTIFY_APP_STARTED
whenever any application starts up within the system and
MSG_NOTIFY_APP_EXITED
whenever an application shuts down. All objects signed up on the GCN list GCNSLT_APPLICATION will receive these messages after the change occurs.
MSG_NOTIFY_APP_STARTED
passes the MemHandle of the application starting up, which you may access to perform any required actions. In a similar manner,
MSG_NOTIFY_APP_EXITED
passes the MemHandle of the application shutting down.
The kernel sends
MSG_NOTIFY_USER_DICT_CHANGE
whenever the system changes the current user dictionary in use. All objects signed up for the GCN list GCNSLT_USER_DICT_CHANGE will receive this message after the change occurs.
MSG_NOTIFY_USER_DICT_CHANGED
passes the MemHandle of the Spell Box causing the change and the MemHandle of the user dictionary being changed, both of which you may access in your message handler.


1. Family Name
2. Given Name(s)
3. Boat ID (if applicable)
4. Date of Birth
5. Contact Phone
6. Language (Needs boolean)
7. Current Address
8. Previous Address
(If been at current address less than 6 months).
9. Date of IAA decision
(or DIBP decision if 'excluded' fast track applicant with no access to IAA).
Back
Proceed


Series Rich Dad - Robert T. KiyosakiTuyển tập Dạy con làm giàu - Robert T. Kiyosaki Rich Dad, Poor Dad, Rich Dad's Cashflow Quadrant: Rich Dad's Gu...
didn't know what else to look for those days
so whatever came across I just took it
Deleted User20-Aug-18 12:57 PM
"for a one time price of $100 learn how to become rich!!"
Hollowman900020-Aug-18 12:58 PM
Nevermind discord f’d up
How to get rich
Sell lessons on how to get rich
The lesson will consist of developing lessons to teach people to get rich
Deleted User20-Aug-18 12:59 PM
so many "self made entreupreneur" on facebook makes me sick
Hollowman900020-Aug-18 12:59 PM
Check out twitter
These “personal brand” douchebags
Deleted User20-Aug-18 12:59 PM
nothing worse than usana
and those pyramid/trapezoid scams
Hollowman900020-Aug-18 01:00 PM
Thread
grewalsatinder20-Aug-18 01:00 PM
when it comes to work, I always give the advice of first find out what gives you the most pleasure doing something.
put your mind to that and learn everything possible about that and just focus on that.
either part time, or volunteer or however. that something will always lead you to where you want in financial terms, disregard of what you started with it at first.
Deleted User20-Aug-18 01:00 PM
"start your own business, buy our $200 health supplements"
Hollowman900020-Aug-18 01:00 PM
Sign up for my email list
Buy my personal branding classes
Deleted User20-Aug-18 01:00 PM
Look at my rental lambos
Hollowman900020-Aug-18 01:00 PM
Post pictures of Rolex and lambo
Deleted User20-Aug-18 01:00 PM
Hollowman900020-Aug-18 01:00 PM
Mother fuckers are worse than crypto chuckleheads
KMD 55/45 on poll
Waiting for icon bots to be deployed
grewalsatinder20-Aug-18 01:04 PM
also learn a bit about Resource Based Economy if can. It might try to take you away from money making mindset, but through it you'll learn a lot of different other things about world.
start with zeitgeist movies, then find "paradise or oblivion" and then try the long TROM documentary.
I recommend these to take your mind off of job oriented mindset.
Cryptoon20-Aug-18 01:18 PM
@Deleted User if you already have 5M and want to make passive income find yourself a good private banker. Some good funds will yield you 10% yearly
Deleted User20-Aug-18 01:18 PM
I wish I had 5m LOL
Cryptoon20-Aug-18 01:18 PM
I wouldn't invest directly in real estate if you are not planning on actively managing it
Deleted User20-Aug-18 01:19 PM
not worth paying a real estate manager
to manage it for you?

Deleted User20-Aug-18 01:30 PM
"sentimental" objects
like the boxes that her presents came in
A lot of boxes, a lot of wrapping paper
and a lot of chocolate containers
"next up on my strange addictions"
grewalsatinder20-Aug-18 01:31 PM
if you buying something you already have, better through what you already have at home to make space even with the new thing.
sell that old thing if not needed, or give away....

Cryptoon20-Aug-18 01:34 PM
Sorry no clean glasses better drink your coffee from your hands


{% extends 'base.html' %} {% block content %}
Have you found a bug? Is something not working?
Use the form below to get support from us!


This calculator is designed to quickly indicate how many cryptocoins can be withdrawn from Poloniex. The exchange rates are downloaded straight from Poloniex everytime a calculation is done.
Source code is available on GitHub


Brought to you by the folks at Pantheon
Developer Advocate at Pantheon
davidneedham on GitHub and Twitter
In my free time I like:
| Intro and Setup |
| Visual Regression Testing |
| BackstopJS |
| Continuous Integration |
| Standalone Node App |
| Q&A |
npm install -g backstopjs
/rəˈɡreSH(ə)n/
noun
> It'll just be a quick fix
— I Am Devloper (@iamdevloper) August 9, 2018
Narrator: It wasn't.
{
"viewports": [
{
"name": "phone",
"width": 320,
"height": 480
},
{
"name": "tablet_v",
"width": 568,
"height": 1024
},
{
"name": "tablet_h",
"width": 1024,
"height": 768
},
{
"name": "desktop",
"width": 1920,
"height": 1080
}
],
"scenarios": [
{
"label": "Homepage",
"url": "https://www.pantheondemo.com/",
"referenceUrl": "https://pantheonweeklydemosite.lndo.site/",
"hideSelectors": [
".twitter-feed"
],
"selectors": [
"document"
],
"readyEvent": null,
"delay": 1500,
"misMatchThreshold" : 0.1
}
],
"paths": {
"bitmaps_reference": "backstop_data/bitmaps_reference",
"bitmaps_test": "backstop_data/bitmaps_test",
"compare_data": "backstop_data/bitmaps_test/compare.json",
"casper_scripts": "backstop_data/casper_scripts"
},
"engine": "chrome",
"report": [ "browser", "CI" ],
"casperFlags": [],
"debug": false,
"port": 3001
}
backstop init
backstop.json
file:
label
: name of your scenariourl
: production URLreferenceUrl
: local or development URLbackstop reference
backstop test
viewports
or scenarios
?backstop reference
backstop test
We've tested one site at a time. What happens when you need to update all your sites? How can we scale BackstopJS?
backstop-crawl is a tool for automatically generating the backstop.json
file by crawling a website with NodeJS.
Great for brochure and smaller sites without tons of pages.
npm install --global backstop-crawl
backstop-crawl https://www.pantheondemo.com -o backstop.json --ignore-robots --reference-url https://pantheonweeklydemosite.lndo.site
backstop.json
to change the engine
to chromy
backstop.json
manually covering the templates you need (single, archive, landing page, etc.)We've created an example repo that we're going to clone to give you a jumpstart.
There are detailed instructions in the README to run through this on your own next time.
Today we're going to get started by cloning the repo:
git clone https://github.com/davidneedham/Visual-Regression-Testing-BackstopJS-demo.git
cd Visual-Regression-Testing-BackstopJS-demo
git checkout -b my-hacking-1
npm install
npm run start
includes/backstop.json
npm run start
git commit -am "All of my changes"
git checkout multiple-sites
git checkout -b my-hacking-2
npm install
npm run start
(and type a site name from the list when prompted)npm run start -- --all
(note the extra --
)includes/sitesToUpdate.js
(list of sites to test)BackstopReferenceBaseUrl
is your local / development URLBackstopTestUrl
is your production site URLpathsToTest
is the array of URIs to test for each sitenpm run start
tests a single site -- --site=my-cool-site
to specify a site (no prompt)npm run start -- --all
tests all the sites in includes/sitesToUpdate.js
includes/backstopConfig.js
for a dynamic configuration example


|
2DGameSDK
1.0
2D Game Engine in C++ based on SFML
|
Contains all Configurations of the game, as opposed to the GameState the options are not meant to influence the behaviour of the Game (i.e. the Game Loop). More...
#include <GameOptions.h>
Public Attributes | |
| std::string | Title |
| Title of the Game, affects Window Title. More... | |
| sf::Vector2i | ScreenDim |
| Screen Dimensions. More... | |
| float | InitialZoom = 1 |
| Zoom at start. More... | |
| int | FramesPerSecond = 50 |
| Framerate in 1/s. More... | |
| bool | RenderAABB = false |
| Wether to render the Axis Aligned Bounding Boxes. | |
| bool | RenderCollisionMask = false |
| Wether to render the Collision Masks. | |
| float | MeterPerPixel = 1.0 |
| Scale value from meter to pixel. | |
| bool | AudioEnabled = true |
| Wether sound is played. | |
Contains all Configurations of the game, as opposed to the GameState the options are not meant to influence the behaviour of the Game (i.e. the Game Loop).
| int game::GameOptions::FramesPerSecond = 50 |
Framerate in 1/s.
| float game::GameOptions::InitialZoom = 1 |
Zoom at start.
| sf::Vector2i game::GameOptions::ScreenDim |
Screen Dimensions.
| std::string game::GameOptions::Title |
Title of the Game, affects Window Title.


< Shop
7
Dog Harness
$ 20.00
Unlike most harnesses, it is completely adjustable and easy to manage. The Reflective element of design will keep your dog safe even during those early morning walks, or during darker evenings.


Definitions
National Expert Survey (NES):
The NES is administered to 36 'experts' in each GEM country and collects data on the context in which entrepreneurship takes place in a country. It provides information about the nine aspects of a country’s socio-economic milieu that are believed to have a significant impact on national entrepreneurship - the Entrepreneurship Framework Conditions (EFCs).
Survey Data Format:
Likert scale from Very Poor to Excellent
Entrepreneurial Framework Conditions (EFCs):
The nine conditions identified by GEM that enhance (or hinder) new business creation in a given country, and provide the basis of the NES.
-
Entrepreneurial Finance: The availability of financial resources—equity and debt—for small and medium enterprises (SMEs) (including grants and subsidies)
-
Governmental Policies:
- Support and Relevance: The extent to which public policies support entrepreneurship - entrepreneurship as a relevant economic issue
- Taxes and Bureaucracy: The extent to which public policies support entrepreneurship - taxes or regulations are either size-neutral or encourage new and SMEs
-
Government Entrepreneurship Programs: The presence and quality of programs directly assisting SMEs at all levels of government (national, regional, municipal)
-
Entrepreneurial Education:
- At School Stage: The extent to which training in creating or managing SMEs is incorporated within the education and training system at primary and secondary levels
- At Post School Stage: The extent to which training in creating or managing SMEs is incorporated within the education and training system in higher education such as vocational, college, business schools, etc.
-
Research and Development: The extent to which national research and development will lead to new commercial opportunities and is available to SMEs
-
Commercial and Legal Infrastructure: The presence of property rights, commercial, accounting and other legal and assessment services and institutions that support or promote SMEs
-
Internal Market
- Dynamics: The level of change in markets from year to year
- Burdens or Entry Regulation: The extent to which new firms are free to enter existing markets
-
Physical Infrastructure: Ease of access to physical resources—communication, utilities, transportation, land or space—at a price that does not discriminate against SMEs
-
Cultural and Social Norms: The extent to which social and cultural norms encourage or allow actions leading to new business methods or activities that can potentially increase personal wealth and income


Home
Like this pen to see the magic!...
Just kidding, it won't happen anything but I'll be really happy If you do so.
Type
Coffee
Dribbble
Follow me on Dribbble
Original Pen by
Alberto Hartzet


--- title: Permute the dimensions of an input according to a given pattern type: docs repo: https://github.com/rstudio/keras menu: main: name: Permute the dimensions of an input according to a given pattern - keras parent: keras-reference aliases: - /reference/keras/layer_permute.html - /keras/reference/layer_permute.html - /guide/keras/reference/layer_permute.html - /tools/tools/keras/reference/layer_permute.html - /installation/keras/reference/layer_permute.html - /tutorials/keras/reference/layer_permute.html - /guide/tools/keras/reference/layer_permute.html - /deploy/keras/reference/layer_permute.html - /tools/keras/reference/layer_permute.html - /tutorials/tools/keras/reference/layer_permute.html ---
Permute the dimensions of an input according to a given pattern
layer_permute(
object,
dims,
input_shape = NULL,
batch_input_shape = NULL,
batch_size = NULL,
dtype = NULL,
name = NULL,
trainable = NULL,
weights = NULL
)
| object | Model or layer object |
| dims | List of integers. Permutation pattern, does not include the
samples dimension. Indexing starts at 1. For instance, |
| input_shape | Input shape (list of integers, does not include the samples axis) which is required when using this layer as the first layer in a model. |
| batch_input_shape | Shapes, including the batch size. For instance,
|
| batch_size | Fixed batch size for layer |
| dtype | The data type expected by the input, as a string ( |
| name | An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided. |
| trainable | Whether the layer weights will be updated during training. |
| weights | Initial weights for layer. |
Useful for e.g. connecting RNNs and convnets together.
Input shape: Arbitrary
Output shape: Same as the input shape, but with the dimensions re-ordered according to the specified pattern.
Other core layers:
layer_activation()
,
layer_activity_regularization()
,
layer_attention()
,
layer_dense_features()
,
layer_dense()
,
layer_dropout()
,
layer_flatten()
,
layer_input()
,
layer_lambda()
,
layer_masking()
,
layer_repeat_vector()
,
layer_reshape()


Call this when you want to set the theme for the project.
yo scaffi:theme
When you create a project, this generator is actually called before the install process ends. Thus, you can technically call it on a project if you want to switch between bootstrap or material. If you do change the theming engine of an app, you will have to manually replace any components in use in the app and change the includes in the /src/ui/app/theme/theme.js file.


{{ partial "header.html" . }}
{{ partial "navigation.html" . }}80% of consumers start shopping for their next purchase with a search online. Without a web site, you have lost that customer before you ever had a chance to win them.
Learn MoreTurn your web site into a car-count increasing machine! Increase the number of potential customers you can reach, and stand a step above your competition.
Learn MoreBoost your car count with online advertising calling out your most popular services or your best offers! Drive new leads to your website, and convert them to customers.
Learn MoreShopPulse specializes in providing digital marketing services that make a difference in your shop - by increasing your car count, helping keep customers engaged, and ensuring that your prospective customers can find you, day and night.
Bisma helps their customers keep their cars safely on the road. Checkout how we helped them increase their car count, reach more customers, and grow their business.
Classic Car Restoration likes giving your beloved ride new life. Check out how we helped them help more classic car owners get their baby back on the road.
Our model is different. While many business site platforms peddle the same dated technologies and gimmicky tools that do little to improve your business, we focus on providing value with a simple foundation: optimized, customized, and tailored web sites designed to increase the number of leads generated for your business.
We focus on high quality content that educates, converts, and delights your prospective customers. Your website becomes a highly focused and effective funnel that demonstrates your expertise and how you are different. This establishes trust, and begins a relationship that lasts well beyond today's car issue and can grow into a life-long customer relationship.
Unlike many web site solutions for Auto Repair shops, our sites are focused on your business, and tailored to match the unique aspects of your shop. That means the first step in our process toward increasing your car count is getting you know you,your shop, and your customers so that we can provide an incredibly tailored site that will fit your business like a finely tailored suit, and look just as good.
Once we get enough information about you and your business, our copy writers get to work by creating new content that best represents you, and helps you to stand out from your competition. Since this content is written to best represent you, and to speak directly to your customers, this produces high quality content that search engines will love just as as your customers do.
With content written, our design experts look through our library of high-resolution/ high quality images, and select the perfect images to match your color scheme, your business identity, and the content that we have crafted for you to bring content, design, and imagery together for a powerful online presence that represents your business at its best.
Now that we have all the parts, and know precisely where we are going, our site builders jump right in, weaving the content, images, and your branding together to produce a website that is fast for your users, represents your unique business, and makes sure the search engines know who you are. We use the latest web technologies, and pick a stack and underlying technologies that best match your needs and budget. Whether we build your site ShopPro, ShopPro Plus, or a completely custom platform, you get a fast and secure site that will win.
Once we have your site just right, and you have given us the go ahead, we move into launching your site. We partner with some of the strongest web hosting companies out there, regardless of the technology used to build your site, in order to ensure that we are able to provide you with top-quality web hosting. Our chosen partners ensure that we are able to deliver a site that will always be up, and always be performant.
Unlike many specialized web hosting platforms, launching your site is not the end of the journey. We will keep an eye on current technologies and best practices on the web, and we will continue optimizing your site, improving the design and usability while improving and optimizing the copy for your prospective customers and search engines alike.


Featured Work
Savory
Savory is a website which allows you to connect with your friends around food. Search through millions of recipes and filter based on your dietary needs. Save all of your favorite recipes to your cookbook to share with your friends. When you have all found the perfect dish, organize a potuck and share everything you've learned.
Javascript | HTML | CSS | NodeJS | Express | MongoDB | Mongoose
| Materialize CSS | Edamam API


Design great public services.
Design principles
10 principles for designing user centred public services
Design patterns
Service patterns, interaction patterns and design guides
Style guide
Grids, typography, colours, forms, icons, tables, pages and more


Block 1 - element creation without events
Block 2 - event listener affecting the entire document
Block 3 - event listener and side effects
Click on each link to load the image in here
- https://images.pexels.com/photos/2246476/pexels-photo-2246476.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500
- https://images.pexels.com/photos/370717/pexels-photo-370717.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500
- https://images.pexels.com/photos/2835436/pexels-photo-2835436.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500
Block 4 - event listeners
the paragraph 4.1
the paragraph 4.2 is a mirror of your input
Block 5 - Auto validation (over 20 chars will turn red)
Block 6 - Manual validation
Block 7 - fill list on load
Block 8 - change element behavior
Click this link will point your browser to google
Block 9 - dropdown changes
Lorem ipsum, dolor sit amet
Block 10 - random and track
random:
total numbers generated: 0
even:
odd:
Block 11 - list validation
;
Block 12


The Project Pane will help you to display and organize your project entries into a tree view. The majority of the information about your project will be displayed here.
Double clicking on any node brings into focus the corresponding UI, for instance double clicking on the faults node will bring up the faults pane.
Show the Project Pane by clicking Project Pane button on the Project Toolbar, or click View > "Project Pane"
Global Nodes contain information that pertains to the entire session.
Saved Logs – API Logs which have been previously saved can be reviewed here.
Saved Network Logs – Network Logs which have been previously saved can be reviewed here.
Saved Corrupted Files – Corrupted Files which have been previously saved can be reviewed here.
Saved Exceptions – Exceptions which have been previously saved can be reviewed here.
Reports – View all reports created for this session.
Recorded Sessions – View and replay all Recorded Sessions for this session.
All nodes under a Process node contain information that pertains to the process.
If the Application Under Test has multiple threads or processes, each new thread or process will show up here, as a new node with its own Active Log, Resources, Faults, Limits and Tests.
Log Pane – View all the API function logs Holodeck has created.
Network Logs Pane – View the packets intercepted over the network.
Faults Pane – View and set faults.
Resource Faults Pane – View faults currently enabled, and create new ones.
Limits Pane – View and create hardware resource limits.
Network Corruption Faults Pane – View Network corruption currently enabled.
File Corruption Faults Pane – View File corruption currently enabled.
Corrupted Files Pane – View the Files that Holodeck has corrupted based on File Corruption Faults.
Test Pane – View the scheduled test currently enabled for your application.
Exception Pane – View the exceptions your application has produced and save mini-dump files.
Viewing with per-process granularity:
1) There are two scenarios in which Holodeck will show multiple processes.
a) Testing two applications at the same time.
b) The Test application spawns a child process.
i) Process Chaining must be turned on from the project wizard for Holodeck to follow the child processes
For more information on testing multiple processes see the Dealing with Multiple Processes help topic.
Viewing with per-thread granularity:
1) If your test application spawns new threads while running Holodeck will automatically begin logging these threads
2) By selecting the new thread you can view the active log for that thread, view the resources used by that specific thread, and set faults, limits or tests.
To turn on per-thread functionality Click Session > Per Thread.
When in per-thread mode, Holodeck automatically separates all relevant nodes in the project pane by ThreadID. This allows you to set faults and test to be specific to a single thread; you can also view API logs, Network Logs and Exceptions on a per-thread level.
You can still set faults and tests to span an entire application, simply select the fault or tests node directly under the application node in the project pane. To view API logs, Network logs or Exceptions generated by the entire application, select the node directly under the application node in the Project Pane.


Andrew Kuchling has a recent entry about Framelets (from this paper).
Framelets are small frameworks that can be used together. A framelet is (to quote):
- is small in size ( < 10 classes);
- does not assume main control of an application; and
- has a clearly defined simple interface.
I don't like the term, but the concept is important. In the past I've talked about the distinction between a framework and a library, and this is the kind of thing I'm talking about, though I consider a library to be simpler than a mini-framework (I can't make myself use the term framelet, I just can't).
The Python standard library is mostly made up of "libraries" as opposed to frameworks (though not entirely). I think of a library as:
- Imperative; it does things.
- Public interface made up of functions and maybe a small number of classes (maybe one or two). Internally it may use more.
- Users do not subclass anything.
Examples are things like pickle, shelve, urllib, csv?, etc. Even logging is more a library than a framework, despite its complexity.
It also has some more mini-framework modules, like HTMLParser, threading, urllib2, and asyncore.
Generally when I work with these mini-frameworks I have to look up the documentation each time. I still can't remember quite how to spawn threads, even though I've written code to do so many times -- the actual subset of the interface I use is simple enough, but I'm always distracted. And urllib2 has annoyed me many times in the past, because things that should be simple are not -- the excuse is that you can do anything with urllib2 by subclassing various pieces, but I think it's wrong that you should subclass anything that could be easily expected (like HTTP authentication). [John Lee has been making good progress on some improved interfaces for client web usage, though.]
Still, the mini-frameworks in the standard library are generally easier to deal with than larger frameworks -- they are relatively generic and can usually be distilled into a application-specific library-like interface. For instance, if I use HTMLParser I immediately make a function-based interface to do the specific parsing or transformation I need for my application.
It's still a challenge -- how do you make something that is easy to start with, but complete and generic enough to grow with your application? The old make easy problems easy, and hard problems possible.
I've decided to make this the more general topic of my talk on FormEncode at PyCon, describing some of the design decisions I've made in FormEncode to try to make that particular framework both easy to use and complete.


404
O-o-oh!, page not found.
We can't find the page you are looking for.
You can navigate from the list or...
Go Home


home search about
Some search ideas for example resutls:
Note: fuzzy searching and stemming search is supported but I think my current search short circuits those.


About Me
Hello! This is Shahed Musleh, the creator of this humble webpage. My interests include networking, software development, ethical hacking, and machine learning.
Work Experience
- Telecom Engineering Trainee at NEPCO
Education Summary
- Abdul Aziz Al Ghurair School of Advanced Computing (ASAC) (2021 - Present)
- Faculty of Engineering, The Hashemite University (2016 - 2020)
- Um Salama High School (2014 - 2016)
My 10 Favorite Exercise Movements to Stay in Shape
- Squats
- Chest Flys
- Hip Bridges
- Lunges
- Good Mornings
- Donkey Kicks
- Bicycle Crunches
- Tricep Kickbacks
- Planks
- Knee Pushups


{% extends 'base.html'%} {%block title%}Home{% endblock%} {%block content%}
{% if post.comments | length > 0 %} view Comments {%else%} No comments {%endif%}


List of Pizza Toppings
Toppings before
Toppings after
Toppings de-duplicated Slow
Toppings de-duplicated Quick


[§468L-2.6] Revocation, suspension, and renewal of registration. In addition to any other action authorized by law, the director may revoke, suspend, or refuse to renew the registration of any travel agency or charter tour operator that violates this chapter. [L 2001, c 62, pt of §2]


| Total net profit | -13.05 | Gross profit | 5.23 | Gross loss | -18.28 |
| Profit factor | 0.29 | Expected payoff | -0.26 | ||
| Absolute drawdown | -13.05 | Maximal drawdown (%) | 12.86 (-6768.42%) | ||
| Total trades | 50 | Profit trades (% of total) | 12 (24.0%) | Loss trades (% of total) | 38 (76.0%) |
| Long positions (won %) | 25 (24.0%) | Short positions (won %) | 25 (24.0%) | ||
| Largest | profit trade | 0.93 | loss trade | -1.27 | |
| Average | profit trade | 0.44 | loss trade | -0.48 | |
| Minimum | profit trade | 0.04 | loss trade | -0.19 | |
| Maximum | take profit in pips | 128.2 | stop loss in pips | -97.0 | |
| Average | take profit in pips | 33.8 | stop loss in pips | -39.8 | |
| Minimum | take profit in pips | -15.9 | stop loss in pips | -19.5 | |
| Maximum | Reward-Risk | 6.3 | Duration in minutes | 281 | |
| Average | Reward-Risk | 1.1 | Duration in minutes | 53.2 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0 | |
| Maximum | consecutive wins (profit in money) | 2.0 (0.79) | consecutive losses (loss in money) | 10.0 (-3.85) | |
| Average | consecutive wins | 1.0 | consecutive losses | 3.0 |
| Total net profit | -6.41 | Gross profit | 2.58 | Gross loss | -8.99 |
| Profit factor | 0.29 | Expected payoff | -0.26 | ||
| Absolute drawdown | -6.41 | Maximal drawdown (%) | 6.28 (-4830.77%) | ||
| Total trades | 25 | Profit trades (% of total) | 6 (24.0%) | Loss trades (% of total) | 19 (76.0%) |
| Largest | profit trade | 0.72 | loss trade | -0.67 | |
| Average | profit trade | 0.43 | loss trade | -0.47 | |
| Minimum | profit trade | 0.07 | loss trade | -0.2 | |
| Maximum | take profit in pips | 128.2 | stop loss in pips | -63.5 | |
| Average | take profit in pips | 35.2 | stop loss in pips | -40.3 | |
| Minimum | take profit in pips | -15.9 | stop loss in pips | -20.2 | |
| Maximum | Reward-Risk | 6.3 | Duration in minutes | 212.0 | |
| Average | Reward-Risk | 1.1 | Duration in minutes | 64.0 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0.0 | |
| Maximum | consecutive wins (profit in money) | 3.0 (1.48) | consecutive losses (loss in money) | 6.0 (-2.18) | |
| Average | consecutive wins | 1.0 | consecutive losses | 4.0 |
| Total net profit | -6.64 | Gross profit | 2.65 | Gross loss | -9.29 |
| Profit factor | 0.29 | Expected payoff | -0.27 | ||
| Absolute drawdown | -6.64 | Maximal drawdown (%) | 6.55 (-7277.78%) | ||
| Total trades | 25 | Profit trades (% of total) | 6 (24.0%) | Loss trades (% of total) | 19 (76.0%) |
| Largest | profit trade | 0.93 | loss trade | -1.27 | |
| Average | profit trade | 0.44 | loss trade | -0.49 | |
| Minimum | profit trade | 0.04 | loss trade | -0.19 | |
| Maximum | take profit in pips | 122.9 | stop loss in pips | -97.0 | |
| Average | take profit in pips | 32.4 | stop loss in pips | -39.4 | |
| Minimum | take profit in pips | -15.1 | stop loss in pips | -19.5 | |
| Maximum | Reward-Risk | 4.1 | Duration in minutes | 281.0 | |
| Average | Reward-Risk | 1.1 | Duration in minutes | 42.4 | |
| Minimum | Reward-Risk | Duration in minutes | 0.0 | ||
| Maximum | consecutive wins (profit in money) | 2.0 (0.75) | consecutive losses (loss in money) | 5.0 (-2.03) | |
| Average | consecutive wins | 1.0 | consecutive losses | 3.0 |


Ready to start your own project? Great, either call or send and email and we can get started!
<EMAIL_ADDRESS>503-616-4664


Get notified after captures?
Selected Template
Unselected Template
Use New-Style links? (Recommended for Org-Mode 9.0+)
Convert HTML to org markup
Debug (will produce logging messages to console)
Note:
You will have to enable "Preserve Log" in the console in order to see the logged messages.
Save


Home
About
Contact
Donate
The Sparks Foundation
The Sparks Foundation
GRIP Task- Payment Gateway Integration


I am a full stack web developer with a computer science background. I recently have gone through a riveting web development immersive program, General Assembly. Before I was a web developer, I was a student studying computer science at UMass Lowell. In these four years, challenges were always continuously new. I have been teaching myself how to code for years, but I wanted more. I wanted to have the perfect coding style, which does not exist. In the continuous learning process which is my future as a full-stack developer, I am looking forward to the challenges and leverage my programming skills with my computer science background.
YoutubeX is a full CRUD SPA built with React, Express, and MongoDB. You can search some youtube videos, CRUD channel's IDs, and view your own youtube playlist by login into your Google account. YoutubeX does NOT  save your Google account credentials. It is using Google's standard consent procedures with OAuth2 for your authorization so it is safe to use.
View more on GithubNozama is the reverse of Amazon. User can add items to cart, view purchase history, and checkout items. It is built with JQuery, ExpressJS, MongoDB, and StripeJS. Everything is in test mode, so feel free to type in fake credentials for payment. For demo, please use 4242 4242 4242 4242 as your credit card number.
View more on GithubBookmarks allows you to save bookmarks. User can create folders for bookmarks and add description to each bookmark. It is using Ruby on Rails built using a self-joined table for folders and bookmarks relationship.
View more on GithubI am sure you have heard of a game called Tic Tac Toe. It is a single page application (SPA) that I built with JQuery for elements management and AJAX for backend API communication.
View more on GithubOnsemble is an app for local musicians to share their talents. As one of my college team project, it is build using Youtube API to share thier musics. And as a demo, you are logined in to view some of local artists videos.
View more on Github


OpenFOAM special interest group
1st meeting
Plan for today
We have scheduled only 1h for the meeting :)
Want to get involved?
More details available in the write-up.
More details available in the write-up.
More details available in the write-up.
https://github.com/AndreWeiner/mlfoam
For access to the repo, send your Github username to Tomsilav or Andre (only committee members).
Any planned contributions on data-driven methods and OpenFOAM?
Hackathon: intensive get-together for creative problem solving (hacking) in groups.
Elements of a hackathon:
Why this format?
Some ideas:
Formulating a good objective is hard ...


Homework 1: Set Global Locations
Create a world and determine 6 locations (using F3) in the world:
- Location of red bed
- Location of blue bed
- Location of red air defense
- Location of blue air defense
- Location of lobby (where the player will pick a team)
- Location of teamLobby (where the player will pick a career)
Write these locations down and have them ready to show in the next class, and also your reason for choosing them.
Then create blockly setup code that looks like the diagram; dataDictionary2 using your locations.
In the next class we will use these locations to spawn in a bed and air defense.