Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am jonm on github.
  • I am jon_moore (https://keybase.io/jon_moore) on keybase.
  • I have a public key whose fingerprint is F768 1F51 860C A81F 987B 1178 A2C7 49E7 BB6B 22C4

To claim this, I am signing this object:

@jonm
jonm / xhtml_api_example.html
Created November 25, 2010 10:52
Sample document using XHTML for hypermedia APIs.
<!-- quick demo of XHTML API style -->
<html>
<body>
<div class="dvr">
<p>This div (and all it contains), represents a DVR set-top box. Some parts, like this text, may be
ignored by programmatic clients. A client can recognize it by its @class attribute. The general
convention here is one of inclusion rather than position, and clients make a lot of use of the
"//" (descendent) XPath operator rather than the "/" (child) operator.</p>
<!-- by the next form's @class I can recognize this is what I use to assign a friendly name.
@jonm
jonm / shallow-vs-deep.html
Created December 8, 2011 02:08
Shallow vs. deep representations in XHTML Hypermedia APIs
<html>
<body>
<!-- the following div is a sample representation of a 'car' domain object; it can be identified as
such by the presence of 'car' in its @class. In this case, the car has two attributes, a make
and a model, and both are included right here. This is what I call a deep/complete/concrete
representation. -->
<div id="car123" class="car">
<span class="make">Ford</span>
<span class="model">Mustang</span>
</div>
@jonm
jonm / initial-compilation-errors.txt
Last active October 3, 2015 19:47
initial compilation errors
$ make
gcc -g -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -c -o comm.o comm.c
In file included from comm.c:21:
./protos.h:21:7: error: conflicting types for 'strdup'
char *strdup(char *source);
^
/usr/include/string.h:117:7: note: previous declaration is here
char *strdup(const char *);
^
comm.c:133:7: warning: implicitly declaring library function 'log' with type
@jonm
jonm / compiler-version.txt
Last active October 3, 2015 19:49
compiler version
$ gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
@jonm
jonm / strdup-decl.txt
Created October 3, 2015 19:54
Error describing a duplicated/conflicting declaration.
$ make
gcc -g -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -c -o comm.o comm.c
In file included from comm.c:21:
./protos.h:21:7: error: conflicting types for 'strdup'
char *strdup(char *source);
^
/usr/include/string.h:117:7: note: previous declaration is here
char *strdup(const char *);
...
@jonm
jonm / -Wreturn-type.txt
Created October 3, 2015 20:06
control reaches end of non-void function
$ make
gcc -g -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -c -o comm.o comm.c
comm.c:98:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
...
@jonm
jonm / overridden-log-error.txt
Created October 3, 2015 20:19
Compilation error with the `log()` function.
$ make
gcc -g -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -c -o comm.o comm.c
comm.c:133:7: warning: implicitly declaring library function 'log' with type
'double (double)'
log("Lawful mode selected.");
^
comm.c:133:7: note: please include the header <math.h> or explicitly provide a
declaration for 'log'
...
@jonm
jonm / missing-proto-log_msg.txt
Created October 3, 2015 20:40
the log_msg() function is missing a prototype
$ make
gcc -g -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -c -o comm.o comm.c
comm.c:133:7: warning: implicit declaration of function 'log_msg' is invalid in
C99 [-Wimplicit-function-declaration]
log_msg("Lawful mode selected.");
^
...
@jonm
jonm / bind-arg-mismatch.txt
Created October 3, 2015 20:49
we are calling bind() with the wrong number of arguments
$ make
gcc -g -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -DIMPL_SECURITY -DNEW_RENT -DLEVEL_LOSS -DNEWEXP -DGROUP_NAMES -c -o comm.o comm.c
...
comm.c:747:31: error: too many arguments to function call, expected 3, have 4
if (bind(s, &sa, sizeof(sa), 0) < 0) {
~~~~ ^
/usr/include/sys/socket.h:557:1: note: 'bind' declared here
int bind(int, const struct sockaddr *, socklen_t) __DARWIN_ALIAS(bind);
^
...