The REALLY EASY WAY To Understand Continuations, Memoization, Generics.... and Social Networking (AKA ... The
I sometimes find myself in complete and total awe by how complicated people can make something that simply doesn’t need to be complicated by ANY stretch of the imagination. For example,
In regards to the understanding of “Man” and “Machine”, I’ve come to five ABSOLUTE “without a single, solitary, doubt in my mind” conclusions thus far in life…
1 - As the number of levers, control knobs, and bypass valves on or around a device increase, there is a proportionate increase in the level of “understanding” in regards to how something works by a similar proportionate of individuals who will claim they understand how something works.
2 - As the number of levers, control knobs, and bypass valves contained on or around a device decrease, there is a proportionate decrease in the level of understanding of how something works by a similar proportionate decrease in individuals who will claim they understand how something works.
3 - The fewer the levers, control knobs, and bypass valves; the easier something is to understand.
4 - The fewer the levers, control knobs, and bypass valves, generally speaking, the better something works, and even more so, the more reliable something tends to be.
5 - If you want to understand how a particular device works, ask the guy who invented the version with the fewest number of levers, control knobs, and bypass valves.
So, for example,
;; (2) Every LAMBDA expression in the code of the interpreter
;; is a continuation: it says what to do next when the call to
;; any given @-routine is “finished”.
[OIOWs, “When you’re done doing whatever it is you’re doing, don’t worry, I know what to do next…. Don’t you worry your precious little self… In fact, better yet.. Close your trap, get in the trunk, and DON’T SAY A WORD UNLESS I SAY SO…. CAPIECHE????!!!!
Maybe a little over-the-top (pun, unfortunately, intended), but…. well,
Save (memoize) a computed answer for later reuse, rather than recomputing the answer.
Ummm…. I think I’ll pass… I would only make it more complicated than it needs to be. (note: yes, this is the simplified version; yes, memoization really isn’t memoization unless you’re dealing with a function in which always returns the same output value every time for a given set of input values (e.g. 9 + 9 is always going to equal 18 when returned from a function whose job is to add the first value with the second value and return the result.
NOTE: the first person to state “but what if someone overloads the operator!!!???” gets one extra lever, two extra control knobs, and three less relief valves added to their device!
Consider yourself warned. ;)
Generics permit classes, structs, interfaces, delegates, and methods to be parameterized by the types of data they store and manipulate.
[OIOWs, “Hi, I’m an instance of a Customer class… You can tell because of this type attribute attached to me that says “Customer” and yet I fit nicely into the same “generic” container as any other kind of class without the need for those phony a$$ smoke and mirror reflection doo-dads you used to poke and prod me with to see if I “quacked”, “cried”, or “called the police” for invasion of…
Well, you get the point….]
In conclusion I leave you with one simple question in the form of a statement posing as a question (see, more complicated than it needs to be, right? Yep!)
The semantic web technologies are SOOOOOOOOOOOOOOOO COMPLICATED nobody — not even the ABSOLUTE TIPPY, TIPPY, TOP of the Brightest Brains in the Semantic Web Business — wants to use them.
So why are you/we still building them?
Can’t we just find ways to take the data we have and make better sense of it? I mean, look what the top tier search engine can do at a moment in history where full text searches are the number one form of data mining information and relating it to things that people who type in simple phrases will find of interest and, as such, return again to search for something else using this same service.
Now add a few categories, a date or two (or fifty for that matter), a title/(subtitle)subject, a name with — at least in that particular moment in time — a GUID in an attached email address, and even more so (not everyone will or wants to add their email address to a data feed for obvious reasons) an ACTUAL GUID (or at least if the person who wrote the generator has/had half a clue, it SHOULD be a GUID) and think about how much more we can determine with that information using simple query and data binding mechanisms.
You see, the only reason we have this extra information is because most of it can be generated at no additional “cost” to the person creating the content — e.g. by a machine. Dates, names (after the first time you add your name/email address to your blog engine software of choice), even category tags can, and often are, generated after the fact, and in fact sometimes these categories/tags are added by other humans who decide “I think this fits in this category here”, so no complex category generating algorithms are even necessary in such cases as these.
With all this in mind, couldn’t/shouldn’t/why are we not spending our time finding ways to make better use of the data we already have, and then feel lucky when we get thrown a bone with a category, or the name of someone we know that can be used to help us find information from regarding people we know and have interest in without having to bare our address books to every “Semantic Web Startup” that swears “oh no… We’re different than the other “Social Network Companies.”
Uh… No you’re not.
Want to know why…
People form, and break, and reform, and re-break, and etc… their own social circles, in their own social ways… Some might choose a “service” but most will just go about life as they already have, and will find that they gain the most from the “Social Networks” that are not Pre-fabricated with all sorts of SPARQLy knobs, and levers, and release valves. The world continues to prove time and time again that they don’t want to be the “same as” anything except what THEY want to be the same as, so attempting to apply such labels is at BEST, temporary, and at worst, useless, and ultimately, pointless.
Simple tools that make life just a little bit easier at a time is all the world both wants AND needs.
Thanks in advance for understanding, and for the time you now plan to spend closing up shop on al the SW acronym projects, and shutting the doors of the entire online social… errr… ummm…
Maybe I’ll just stick with the “Simple” theme for now.
Thanks in advance for both finding a way of making it and keepin’ it simple!
NOTE: I’m only telling you this because I have MUCH love in this heart of mine for you.
You know that, right???
Thump, thump. Thump, thump.
[UPDATE: To prove it, I made you a new Mr. Burns ExcelThump image.
You’re welcome :D ]
Thump, thump. Thump, thump. Thump, thump. Thump, thump. (and so forth… :D)