FOAFBot, Edd Dumbill's RDF-based IRC bot, is back!. Not content with writing readable introductions to FOAF (also in Japanese, Chinese), Edd created one of the most interesting tools that consume FOAF. FOAFBot hangs out in an IRC channel and answers questions about people based on data it found by indexing the Web of interlinked FOAF documents.
FOAFBot is particularly interesting because it keeps track of 'who said what' in the RDF data it collects, even using PGP signatures of the data files where available. This also explains why FOAFBot was offline for a while. Edd's second article on FOAF explained the way in which the original FOAFBot kept track of this 'provenance' or 'attribution' metadata. FOAFBot is written in Python, on top of Dave Beckett's Redland RDF toolkit.
Since FOAFBot was created, Redland and its parser, Raptor, has improved in many ways; in particular Dave added native support for provenance-tracking, via a 'contexts' mechanism. This allows each RDF statement in a database to be tagged with its origins, and allowed Edd to rewrite FOAFBot in a faster and sleeker form. Nice work all round :)
Furthermore, since FOAFBot's data-structures now use Redland's built-in way of representing contexts, FOAFBot databases can now be accessed from all languages that Redland has bindings to (Python, Java, Perl, Ruby, ...). This means that a developer can install Redland and FOAFBot, create an index of FOAF data by running FOAFBot as a harvester ('scutter'), and then access that database from, say, Perl to create alternate views of the data, eg in HTML or SVG.
You can read more on Edd's FOAFBot page or stop by the #foaf IRC channel to see it in action (or talk to other FOAF folk if the bot is offline).
This will allow us to use a few functions we didn't have access to before. These lines are still a mystery for now, but we'll explain them soon. Now we'll start working within the main function, where favoriteNumber is declared and used. The first thing we need to do is change how we declare the variable. Instead of
Posted by: Joyce on January 20, 2004 07:35 AMWhen compared to the Stack, the Heap is a simple thing to understand. All the memory that's left over is "in the Heap" (excepting some special cases and some reserve). There is little structure, but in return for this freedom of movement you must create and destroy any boundaries you need. And it is always possible that the heap might simply not have enough space for you.
Posted by: Lettice on January 20, 2004 07:36 AMBut variables get one benefit people do not
Posted by: Adrian on January 20, 2004 07:36 AMThe most basic duality that exists with variables is how the programmer sees them in a totally different way than the computer does. When you're typing away in Project Builder, your variables are normal words smashed together, like software titles from the 80s. You deal with them on this level, moving them around and passing them back and forth.
Posted by: Rosanna on January 20, 2004 07:36 AMThis back and forth is an important concept to understand in C programming, especially on the Mac's RISC architecture. Almost every variable you work with can be represented in 32 bits of memory: thirty-two 1s and 0s define the data that a simple variable can hold. There are exceptions, like on the new 64-bit G5s and in the 128-bit world of AltiVec
Posted by: Theodosius on January 20, 2004 07:36 AMThe Stack is just what it sounds like: a tower of things that starts at the bottom and builds upward as it goes. In our case, the things in the stack are called "Stack Frames" or just "frames". We start with one stack frame at the very bottom, and we build up from there.
Posted by: Paschall on January 20, 2004 07:36 AMA variable leads a simple life, full of activity but quite short (measured in nanoseconds, usually). It all begins when the program finds a variable declaration, and a variable is born into the world of the executing program. There are two possible places where the variable might live, but we will venture into that a little later.
Posted by: Dorothy on January 20, 2004 07:36 AMWe can see an example of this in our code we've written so far. In each function's block, we declare variables that hold our data. When each function ends, the variables within are disposed of, and the space they were using is given back to the computer to use. The variables live in the blocks of conditionals and loops we write, but they don't cascade into functions we call, because those aren't sub-blocks, but different sections of code entirely. Every variable we've written has a well-defined lifetime of one function.
Posted by: Bartholomew on January 20, 2004 07:37 AMLet's take a moment to reexamine that. What we've done here is create two variables. The first variable is in the Heap, and we're storing data in it. That's the obvious one. But the second variable is a pointer to the first one, and it exists on the Stack. This variable is the one that's really called favoriteNumber, and it's the one we're working with. It is important to remember that there are now two parts to our simple variable, one of which exists in each world. This kind of division is common is C, but omnipresent in Cocoa. When you start making objects, Cocoa makes them all in the Heap because the Stack isn't big enough to hold them. In Cocoa, you deal with objects through pointers everywhere and are actually forbidden from dealing with them directly.
Posted by: Paul on January 20, 2004 07:37 AMThis is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.
Posted by: Garret on January 20, 2004 07:37 AMsms sprüche
Posted by: handylogos on January 22, 2004 01:35 PM http://free-girls-sex-usa.prosexhost.com/index2252.html
http://free-girls-sex-usa.prosexhost.com/index2253.html
http://free-girls-sex-usa.prosexhost.com/index2254.html
http://free-girls-sex-usa.prosexhost.com/index2255.html
http://free-girls-sex-usa.prosexhost.com/index2256.html
http://free-girls-sex-usa.prosexhost.com/index2257.html
http://free-girls-sex-usa.prosexhost.com/index2258.html
http://free-girls-sex-usa.prosexhost.com/index2259.html
http://free-girls-sex-usa.prosexhost.com/index2260.html
http://free-girls-sex-usa.prosexhost.com/index2261.html
http://free-girls-sex-usa.prosexhost.com/index2262.html
http://free-girls-sex-usa.prosexhost.com/index2263.html
http://free-girls-sex-usa.prosexhost.com/index2264.html
http://free-girls-sex-usa.prosexhost.com/index2265.html
http://free-girls-sex-usa.prosexhost.com/index2266.html
http://free-girls-sex-usa.prosexhost.com/index2267.html
http://free-girls-sex-usa.prosexhost.com/index2268.html
http://free-girls-sex-usa.prosexhost.com/index2269.html
http://free-girls-sex-usa.prosexhost.com/index2270.html
http://free-girls-sex-usa.prosexhost.com/index2271.html
http://free-girls-sex-usa.prosexhost.com/index2272.html
http://free-girls-sex-usa.prosexhost.com/index2273.html
http://free-girls-sex-usa.prosexhost.com/index2274.html
http://free-girls-sex-usa.prosexhost.com/index2275.html
http://free-girls-sex-usa.prosexhost.com/index2276.html
http://free-girls-sex-usa.prosexhost.com/index2277.html
http://free-girls-sex-usa.prosexhost.com/index2278.html
http://free-girls-sex-usa.prosexhost.com/index2279.html
http://free-girls-sex-usa.prosexhost.com/index2280.html
http://free-girls-sex-usa.prosexhost.com/index2281.html
http://free-girls-sex-usa.prosexhost.com/index2282.html
http://free-girls-sex-usa.prosexhost.com/index2283.html
http://free-girls-sex-usa.prosexhost.com/index2284.html
http://free-girls-sex-usa.prosexhost.com/index2285.html
http://free-girls-sex-usa.prosexhost.com/index2286.html
http://free-girls-sex-usa.prosexhost.com/index2287.html
http://free-girls-sex-usa.prosexhost.com/index2288.html
http://free-girls-sex-usa.prosexhost.com/index2289.html
http://free-girls-sex-usa.prosexhost.com/index2290.html
http://free-girls-sex-usa.prosexhost.com/index2291.html
http://free-girls-sex-usa.prosexhost.com/index2292.html
http://free-girls-sex-usa.prosexhost.com/index2293.html
http://free-girls-sex-usa.prosexhost.com/index2294.html
http://free-girls-sex-usa.prosexhost.com/index2295.html
http://free-girls-sex-usa.prosexhost.com/index2296.html
http://free-girls-sex-usa.prosexhost.com/index2297.html
http://free-girls-sex-usa.prosexhost.com/index2298.html
http://free-girls-sex-usa.prosexhost.com/index2299.html
http://free-girls-sex-usa.prosexhost.com/index2200.html
http://free-girls-sex-usa.prosexhost.com/index2201.html
http://free-girls-sex-usa.prosexhost.com/index2202.html
http://free-girls-sex-usa.prosexhost.com/index2203.html
http://free-girls-sex-usa.prosexhost.com/index2204.html
http://free-girls-sex-usa.prosexhost.com/index2205.html
http://free-girls-sex-usa.prosexhost.com/index2206.html
http://free-girls-sex-usa.prosexhost.com/index2207.html
http://free-girls-sex-usa.prosexhost.com/index2208.html
http://free-girls-sex-usa.prosexhost.com/index2209.html
http://free-girls-sex-usa.prosexhost.com/index2210.html
http://free-girls-sex-usa.prosexhost.com/index2211.html
http://free-girls-sex-usa.prosexhost.com/index2212.html
http://free-girls-sex-usa.prosexhost.com/index2213.html
http://free-girls-sex-usa.prosexhost.com/index2213.html
http://free-girls-sex-usa.prosexhost.com/index2215.html
http://free-girls-sex-usa.prosexhost.com/index2216.html
http://free-girls-sex-usa.prosexhost.com/index2217.html
http://free-girls-sex-usa.prosexhost.com/index2218.html
http://free-girls-sex-usa.prosexhost.com/index2213.html
http://free-girls-sex-usa.prosexhost.com/index2220.html
http://free-girls-sex-usa.prosexhost.com/index2221.html
http://free-girls-sex-usa.prosexhost.com/index2222.html
http://free-girls-sex-usa.prosexhost.com/index2223.html
http://free-girls-sex-usa.prosexhost.com/index2224.html
http://free-girls-sex-usa.prosexhost.com/index2225.html
http://free-girls-sex-usa.prosexhost.com/index2226.html
http://free-girls-sex-usa.prosexhost.com/index2227.html
http://free-girls-sex-usa.prosexhost.com/index2228.html
http://free-girls-sex-usa.prosexhost.com/index2229.html
http://free-girls-sex-usa.prosexhost.com/index2230.html
http://free-girls-sex-usa.prosexhost.com/index2231.html
http://free-girls-sex-usa.prosexhost.com/index2232.html
http://free-girls-sex-usa.prosexhost.com/index2233.html
http://free-girls-sex-usa.prosexhost.com/index2234.html
http://free-girls-sex-usa.prosexhost.com/index2235.html
http://free-girls-sex-usa.prosexhost.com/index2236.html
http://free-girls-sex-usa.prosexhost.com/index2237.html
http://free-girls-sex-usa.prosexhost.com/index2238.html
http://free-girls-sex-usa.prosexhost.com/index2239.html
http://free-girls-sex-usa.prosexhost.com/index2240.html
http://free-girls-sex-usa.prosexhost.com/index2241.html
http://free-girls-sex-usa.prosexhost.com/index2242.html
http://free-girls-sex-usa.prosexhost.com/index2243.html
http://free-girls-sex-usa.prosexhost.com/index2244.html
http://free-girls-sex-usa.prosexhost.com/index2245.html
http://free-girls-sex-usa.prosexhost.com/index2246.html
http://free-girls-sex-usa.prosexhost.com/index2247.html
http://free-girls-sex-usa.prosexhost.com/index2248.html
http://free-girls-sex-usa.prosexhost.com/index2249.html
http://free-girls-sex-usa.prosexhost.com/index2252.html
http://free-girls-sex-usa.prosexhost.com/index2251.html
http://free-girls-sex-usa.prosexhost.com/index2250.html
Re: Re: <a href=' http://free-girls-sex-usa.prosexhost.com/index2250.html'
Posted by: rgerhgrt on January 24, 2004 04:28 PM