2,687 karma · joined October 2, 2015
IIRC it's a stream of tokens. A token can be a character, a built-in command, a macro etc. During processing of this token stream macros are "expanded", i.e. replaced with their definition (recursively). It is possible to control this expansion process using built-in commands.
I doubt Facebook removed the picture because of hurt feelings though. I'd wager it's more that they have a "nudity is not allowed" policy, and they apply that policy without thinking for even one second. In other words: Zero tolerance.
I don't pretend to grok quaternions (I only use them), but I'm fairly sure a quaternion consists of three imaginary numbers plus a real number.
Wouldn't that mean that after scrubbing the bacteria are no longer there?
More frightening than the idea of a cat controlling or influencing your behavior (by being oh so adorable)? ;-)
Last I heard Appelbaum is still alive, though?
P.S: Dear Eris, please let me never turn into Tom!
The first mention of JDSL is a link to an article about it: http://thedailywtf.com/articles/The_Inner-Platform_Effect
P.S: Not a Killary supporter (just making sure I'm not misunderstood ;-)
It's also fairly easy to implement an algorithm that creates the exact same tesselation for a circle that Humus describes in his article:
static unsigned int moduloToZero(unsigned int const a, unsigned int const b)
{
// If the vertex is outside the valid range start again at the beginning
return a >= b ? 0 : a;
}
template <typename VerticesT>
static void fillVertexRangeHelper(Mesh& inOutMesh, VerticesT const vertices)
{
unsigned int const vertexCount = vertices.size();
if (vertexCount >= 3)
{
unsigned int stepSize = 2U;
// C.f. http://www.humus.name/index.php?page=News&ID=228
//
// Create triangles from vertices 0-1-2, 2-3-4, 4-5-6, 6-7-8, 8-9-10, 10-11-12, 12-13-14, 14-15-16, ...
// then from vertices 0-2-4, 4-6-8, 8-10-12, 12-14-16, ...
// then from vertices 0-4-8, 8-12-16, ...
// then from vertices 0-8-16, ...
// until no more triangles can be created.
// When the final vertex of a triangle is bigger than the number of vertices, use vertex 0 instead
while (vertexCount >= stepSize)
{
for (unsigned int i = 0; i < vertexCount; i += stepSize)
{
// Check if there are at least three vertices left to create a triangle with (including vertex 0 in case of
// wrap-around)
unsigned int const v0 = vertices[i];
unsigned int const v1 = vertices[moduloToZero(i + stepSize / 2U, vertexCount)];
unsigned int const v2 = vertices[moduloToZero(i + stepSize, vertexCount)];
if (v0 != v1 && v0 != v2 && v1 != v2)
makeTri(inOutMesh, v0, v1, v2);
}
stepSize *= 2U;
}
}
}
"VerticesT" is an array of vertex numbers, e.g. an std::vector<unsigned int>. Just add a function "makeTri" that adds a single indexed triangle to the mesh, and you should be good to go.By giving me a 50+ pages brochure. Just like EULA's hide the nasty stuff among huge amounts of text.
Sure it's better than nothing, but still far from perfect IMO.
Not quite. An application's executable code was also stored in the resource fork, as CODE resources (one or several, so parts of the code could be loaded and unloaded as needed; initially there was also a size limit of 64k per CODE resource).
When Apple switched to PPC, the PPC code was stored in the data fork and the 68k code in CODE resources.