If there is one thing that no two Operating Systems can seem to agree on, it’s how best to store configuration information. Linux programs generally store their configuration in .config files, which have a, ironically enough, “proprietary” text format (that is, program A’s config file will be unlikely to follow the same conventions as program B’s, and so forth). For Windows, there are a lot of options to choose from. the earliest model was a INI, or initialization file; an INI file was laid out something like this:
[sectionname]
valuename=value
valuename2=value2
[nextsection]
morevalues=moreitems
evenmorevalues=evenmoredata
Basically, it consisted of a set of “Sections” (the text in square brackets) each of which contained values (the name/value pairs within).
The two “private” variants of this Kernel32 function almost always appear in programming-oriented discussions about INI files, but the former two have been lost in time.
the “INI” file structure was essentially “standardized” as far as windows applications were concerned with Windows 3.0. This was more a de facto, rather then a de juere standard, because the win.ini, system.ini, and various other Windows system based “ini” files used that form. Windows 3.0 offered the WriteProfileString and ReadProfileString functions. These functions are still present, even in the windows 7 Version of kernel32.dll:
C:\Windows\System32>dumpbin /exports kernel32.dll | find "ProfileString"
579 241 0001E6A7 GetPrivateProfileStringA
580 242 0003018B GetPrivateProfileStringW
606 25C 00032B13 GetProfileStringA
607 25D 00031E72 GetProfileStringW
1323 52A 00033FB8 WritePrivateProfileStringA
1324 52B 000335CA WritePrivateProfileStringW
1330 531 0008A982 WriteProfileStringA
1331 532 00033669 WriteProfileStringW
the non- “private” versions of these functions were pretty similar; there were also variations that allowed for writing/reading directly from integers as well as entire structures. Windows 3.0 only had the “non” private versions- and they all dealt exclusively with win.ini.
So, using WriteProfileString in kernel.dll, you could save your applications configuration data to and read it from a section in win.ini. This would have worked fine, with the minor inconvenience of a large win.ini file, but there was a caveat- the functions could not work with an INI file larger then 64K.
So, this technical limitation combined with the aftertaste of having a win.ini file that even comes near to approaching 64K guided the implementation of the “private” versions of these functions. These took, in addition to the values that the older functions did, a parameter specifying a filename. So now, applications could read and write values and sections to their own “private profile” INI files (thus the name). They still had the 64K limit, but this is hardly ever approached.
Fast forward a few years, and we have the Windows Registry. This is where Microsoft encourages us to save our application specific data. And I won’t argue- it works great. There is of course a minor caveat- it’s not as “user editable” as an INI file. if you ask somebody “change such and such value in program.ini” to solve a problem, they will usually have no problem, but ask them to change values in the registry and your asking for trouble, first- they could change the wrong value (after all, it’s pretty much a hierarchal version of the old win.ini, but without a size limitation), second, it’s not as “discoverable”. you can open an INI file, change it, make backups, etc. You can do this with a registry key but it’s not as simple and intuitive. backups involve exporting .reg files.
Now, with .NET, we are being encouraged to save our data into XML files. Are we not now back where we started? we started with text based INI files, moved to a monolithic binary hierarchal database, and we are now back to a text based format. The only real difference between INI and XML is the fact that XML is inherently heirarchal, so it’s easier to make code that works with either XML or the registry without problems. INI is limited to a fixed structure where there are two layers- the sections, and the values.
In either case, sometimes for a simple application there is no need to get involved in either the registry or XML; or, maybe you just like the simplicity and user-editability of an INI file. This is why I use INI files for most of my applications.
Given the fact that we have the API functions to work with INI files, you might think that my class-based solution may use them. This is not the case. you see, first, they are deprecated- second, they are limited to 64K, and lastly, and perhaps most importantly, they can sometimes not even read INI files at all- thanks to the fact that their functionality will often look in the registry for data. (this establishes it quite loudly as a compatibility function, not something to depend on for modern applications).
Instead, I opted to create a INI file parser. Thankfully, because of the simple structure it’s not hard to create something like this.
First, we need to think of an appropriate object model. we have sections, values, and the INI file itself. the base-level representation should be an abstract class that sections, and values can derive from:
you may be thinking, “why make an abstract class?” well, consider for a moment, comments, in the INI file. by convention, an INI file can have comments inside it, indicated by a semicolon as the first non-space character on the line. We could simply discard them entirely, but ideally, we would preserve the comments between loading the INI file and saving it. Here, we can create a derived class representing a comment:
the Section itself can contain a list of INIItem objects, which can represent either INIComment or an INIDataItem, which is shown here:
At this point, I have decided that it would make sense to Load the INI file entirely into memory. INI files are usually small in size, and considering the convention with XML files is to keep the XMLDocument in memory it’s not that new of an approach.
Now, we need a INISection class; this will be used to represent each Section in an INI file; It needs a Name, a list of Values, and a “eolComment” (end of line comment) for when there is a comment on the same line.
Now this can appear a bit more daaunting then it really is. The bulk of the code is in the indexer, which allows you to modify an INI file like this:
It’s actually a lot shorter then it would have been had I not used lambda expressions:
first, this is operating on the IEnumerable being given back from getValues(); getValues is what is known as an iterator method, a simplified way to think of it is that the return value is a set of all the values that were “yield returned” from that function. In this case, getValues() returns all the items that can be cast to an INIDataItem. This ensures that the lambda expression used with FirstOrDefault() has access to the Name field to perform the appropriate comparison.
And that’s the INIFile. the INIFile itself has a Indexer similiar to what the INISection class has, but it deals with the list of Sections. relatively straightforward, for the most part. LoadINI and SaveINI are both overloaded with a few different parameters, from passing in a StreamReader/Writer to simply giving a filename. For reading in an INI file into a class structure we simply read every line (the while ((currentline = fromstream.ReadLine()) != null) loop ) and take an appropriate action based on what we find- if it starts with a square bracket, it’s treated as a section. a new section is added with that name, and the local variable “currsection” is changed to point to it. if it starts with a semicolon it is treated as a comment (and an appropriate INIComment object is added to the INISection pointed at by currsection, which by default is an imaginary “global” section). Otherwise if there is an equals sign in the line, it is parsed (using the ParseINIValue() function) into a appropriate INIValue object, and that object is added to the current section.
writing it back into a stream is pretty much the opposite; loop through all the sections, and for every section, if the name is not the globally defined intrinsic item, then write out the appropriate section header (the name in square brackets), as well as any end of line comment defined for that section. then loop through all the values and write out the ToString() from it as a single line. (remember, the INIComment will return a comment line (starting with
and the INIDataItem object will return a properly constructed Name=Value string.
The Full Source can be downloaded here:
recently, I stumbled upon a ridiculous thread regarding system requirements for “Counter-strike: Source”. Well, I wouldn’t say stumbled, it was actually linked in a TheDailyWTF thread.
the Poster claims that it’s “Unfair” that they can no longer play the game using a system that fits the specifications of the original “boxed” copy.
They go so far as to claim that valve did this intentionally in order to force people to upgrade, which seems clearly ridiculous since upgrading doesn’t help them at all. Most of the people in the discussion (which, for reference, can be found here) have clearly acquired their entire understanding of the justice system and law on episodes of Law & Order, which, I’m sorry to say, wouldn’t help them pass their Bar exam. They have an equally deficient understand of anything remotely programming related.
They claim that Valve did this on purpose. First, Why? What do they have to gain? Sure, they did it on purpose, but I suspect the reason is that the API is almost completely different between all of DX7, DX8, and DX9, and they assumed that somebody who played a game as fad-inspired as Counter-strike would no longer be using a 11 year old video card.
From where I stand it sounds like a bunch of teenagers complaining about how they can no longer “pwn noobs” because their ATI Rage Pro is no longer fully supported. The cries to upgrade fall on deaf ears, because the have no jobs and rely entirely on their allowance to get anything at all. This is further proven by the fact that the complainant claims to actually understand anything about Law. Nobody understands anything about law. Nobody. Even lawyers simply pretend to understand. All “law” is apparently based on precedent (according to the law expert that is this particular CSS player, an oxymoronic statement I would rather not repeat) so it makes me wonder why they bother to write up all these other things. They quote a legal link as it it matters, with absolutely zero inference to the fact that A:) the product on their “box” is NOT the same product they have on their PC.
They are absolutely free to install the game form their original disks, and refuse all updates. They won’t be able to play online, but that restriction is clearly NOT COVERED by the law. So they can shove their links right back up their ass where they pulled them from.
This is one of the things that pisses me off. people pretending they know what they talk about when they are merely pulling arguments out of their ass or even out of thin air, and basing their entire stance on the subject on pure assumption. It really pisses off those of us who do know what we are talking about (hahaha)
I mean, for Possum’s sake, these people play COUNTER-STRIKE, and at the same time claim to have some sort of depper understanding of Legal issues. What a bunch of dumbasses. Hardly anybody who has an IQ higher then about 60 plays Counter strike, and those that do at least understand the basic premise that a software update changes the software in question and different software will have different requirements. Bitching and complaining because your 10 year old PC can no longer run a fully updated copy of a game you bought 9 years ago is like complaining to microsoft because the changed software scene has essentially antiquiated the minimum requirements they specified for nearly all their Operating Systems. When they were released they were minimum, and recommended, and they fit the description, but as software grew larger and adapted to the various changes the requirements became meaningless. Do we sue Microsoft because we can no longer run XP comfortably with 64MB of RAM? No, of course not. XP SP3 changed XP but the biggest factor is the different software being used.
And their constant cries “IT’S EEZEE TO FIX LOL ROXOR I GONNA {PLAY COUNTOR STRIKWERH NOW DUHG” clearly indicates they have no idea what they are talking about. First, unless they have actually seen the source code, what needs to be changed, the regression testing that will need to be performed, the layout of involved data structures, and so forth, they cannot make a claim that “it’s easy” and since they clearly have not seen any of that they are basing their claim entirely on their observation of what that code does, which is
See the previous post in this series: Phrase Examination I: “happy as a clam”
In today’s episode of phrase examination, I examine the phrase “A Penny saved is a penny earned”.
This saying is usually used when somebody either finds a small amount of money or has made arrangements in which they save a small amount of money.
However, the concept is flawed! you see, saving a penny indicates placing it somewhere for safety and for the express purpose that it be spent or used later. Following this, it doesn’t matter how that money is acquired originally- stolen money can be saved just as easily as earned money.
Therefore, while on the surface the phrase is harmless, what it’s really doing is encouraging criminals the phrase essentially says that if you steal money, you’ve properly earned it simply by saving it. What utter nonsense that is, I say! The real meaning should be more like “A Penny Earned should be a penny saved”, since not only does it make assertions that are logical fallacies such as saying that all pennies that are saved were all earned. Since earn, by definition, means “acquire or deserve by one’s efforts or actions” they are saying indirectly (but quite clearly) that if you save money, no matter wether you stole it or acquired it by selling drugs or other illegal means, you still earned it legitimately. I take issue with this.
While assertions such as direct comparision saying “X is Y” when it is clear that not all of X can possibly be Y are rather common when it comes to phrases, this is one of the few that actually encourages criminal behaviour. Do we really want our children to learn these sayings? When a young child finds a penny on the street, do their parents say “a penny saved is a penny earned”? because a day might come where it is revealed that that child has saved up millions of dollars that they had stolen through embezzlement and theft, should we hold the parents responsible for telling their children that this is right? Should we allow these vagrant assertions to rule our daily lives, and fray the very fabric of morality in all of us for the purpose of a single cute saying?
I for one say no, I say no to these asserted logical fallacies and the results that they bring, and I encourage everybody to curtail their use of such ridiculous phrases!
In a new type of post I will class “Phrase Examination” I will examine common metaphorical phrases that, when examined deeper, often have deep existential implications.
For example, often times, people, myself included, will use the phrase “Happy as a clam”. from the context, it suggests that clams are in fact happy.
However, how do we know a clam is happy? How do we even know a clam is capable of emotion? Oftentimes, I’ve wondered, since I really have too much time on my hands, wether it might actually be a reference to the clam’s physical shape itself, how, when you look at a clam from a isometric viewpoint, the clam often appears to be wearing a smile, which to the uneducated observer can seem to run to infinity. Of course, such a concept is rather foolish- a smile is defined as “a facial expression characterized by turning up the corners of the mouth; usually shows pleasure or amusement”. of note here are the terms “facial” and “mouth” a clam has no face, and the bivalve’s two-halves hardly form a “mouth” as much as it forms a “concave environment in which it spends it’s entire life”. Additionally, the concept is based entirely on a viewpoint- from above the clam. if you do the same from the bottom, the clams metaphorical expression becomes one of deep emo-like sadness, the type that makes you wonder if it cuts itself because it’s not worth it’s own blood.
Another Clam-related phrase, or more precisely, clam-related word, is the word “clammy” which means moist and warm, and can usually apply to nearly everything in a warm humid environment. contrariwise, the Clam is a saltwater bivalve that lives in seawater in the temperate regions of the Earth. under the water the humidity is at a constant 100%, for reasons I hope i need not explain, but the Clam doesn’t only live in warm water, nearly anything in the temperate region is suitable. Additionally, it’s cold-blooded, so the implication that warmth+moistness somehow implicates a relation to clams is only half-true, and truly the word “lobstery” or “octopussy” could apply equally as well. (although I think the latter is used to mean “deactivating a nuclear warhead at the last second while wearing a clown-suit that a colleague was killed in” or even as an alternative form to mean pulling the old “swithcharoo” where, for example, you replace a priceless artifact with a fake of the same artifact and take the original for yourself.). And of course such such words are far more sound metaphorically.
But back to the existential implications of a clam’s emotions. It’s rather rather stupid to assume it has emotions. And certainly if it does the predominant one cannot possibly be happiness, but rather complete and utter boredom. I mean, the creature spends nearly it’s entire life completely motionless, filtering the fish crap from the ocean and eating it. Now, I’m no food critic, but fish crap is hardly my definition of fine dining. Sure, clams have a foot and can even swim, so they aren’t completely immobile, but you never watch horror movies about piranha-like clams that strip a creature to the bone in seconds, nope, such honours are reserved for piranhas (although I suppose my simile comparing clams to piranha’s sort of gave that away) which reminds me of that awful 1978 “piranha” movie. Which of course buys into the whole notion that pirahna will eat anything. which is ignoring all the scientific efforts I put in years ago! Why, during my experiments, I was trying to figure out why piranhas will reduce a monkey to the bone, but leave a baked potato untouched. It was important scientific research, and if I had discovered why I might have cured cancer. I believe this is the same facility where we were performing experiments to do the following:
-make a cat laugh
This had important connotations. First, we needed to determine wether cat’s simply had no sense of humour, or perhaps they were only amused by certain kinds of humour. We were unable to make a cat laugh, even after years of experimenting. We were certain we saw some smiles on the cats when we showed them makeshift propaganda videos that depicted a great cat leader telling his cat followers that they had finally taken every single grain silo in the world, and it was time to begin phase 2. This video was produced by a strange fellow named Catty Felinous McKitten, whom we later discovered wasn’t a human at all but rather an inpromptu and unexpected alliance between the OCAWYCAFALWCFOD (Old Cats Against Whatever the Young Cats Are For and Also Like Wet Cat Food as Opposed to Dry) and the young cats, who by that time had decided on the name “Young Cats Who Hate Animaniacs and Will Ally With Older Cats Only When It Serves All Catkind In Their Struggle For Control of the World’s Grain Supply” known by the shorthand YCWHAWAWOCOWISACITSFCWGC. (pronounced why chwa wah wookow isackit cerwug gik).
-turn a piece of toast back into bread.
This was really a spin off of a previous experiment where we tried to turn a cooked boiled egg back into a raw egg. I forget the exact reasons, but it was somehow related to extending the battery life of AAA batteries. Also, the market demand for an untoaster would reach unprecedented levels, on account of the fact that toasters have this tendency to either overtoast or undertoast, and with the technology behind an untoaster one could integrate the two using a series of low-quality timers like those used in toasters today to make it so that regardless of how skewed or useless the thermosistor used in the “darkness” knob is, the toast will always come out perfect, and if it is too dark you could set it the “untoast” mode and resolve that easily. It was discovered however that simply using a less shitty variable resistance timer on a actual toaster one can make one that works properly. No company has tried this, and only a few expensive (nearly 20 dollars) models are in existence.
-devising haircutting technology for frogs
We quickly met a dead end after many years of simulations when we realized that frogs didn’t have hair. we them wasted the next few years performing similar simulations for tadpoles, when the same was revealed for them. However, we were able to apply the haircutting technology successfully on true tadpoles (people with 1/8th or less Polish descent). The invention would have changed the world- it consisted of two blades, each with a single handle, connected using a single flexibly axis. by using the thumb to hold onto one handle and the rest to hold the other side, one can easily cut paper hair, and other similarly low shear strength materials. funding stopped when it was realized that what we invented was actually a pair of scissors.
-creating a unit for measuring freedom
With this we hope to rate a number of first-world countries based on their “freedom quantity”. our initial attempts to devise the system were common among those trying to devise a unit of measure- we chose two reference points, and gave them values. We chose the freedom inside a prison as the low point, and the freedom of a bird as the high point. However, our progress soon slowed as we started arguing amongst ourselves about exactly how free a bird truly is, and wether a animal needs to be sentient to actually be free. Additionally, many birds are placed in cages, so the simile “as free as a bird” cannot possibly compare to them. Not to mention the fact that Canary’s were used extensively to test the dangers of deep areas of a mine. (except in areas, such as Canada, where Canary cages were hard to come by. We improvised and just sent some chinese guys, which worked out fine… well, for us, not necessarily for the chinamen)- (serious sidebar: this is absolutely true, that and even more inhumane acts, such as sending them in to explode dynamite without giving them enough time to get away. This was during the building of the transcontinental Canadian Railroad, which was a condition of British Columbia’s entrance into the confederation. Additionally, the line itself served as a buffer to keep those nasty American’s from yelling “manifest destiny” and scoffing up the remaining parts of British North America not yet confederated as provinces or territories)
-make a clam smile
This was actually a offshoot from the initial discussion about “happy as a clam” that we had in the lunchroom. We all agreed that since seeing a clam smile was completely dependent on your perspective, we should try to make it so the clam truly forms a smile in the traditional sense. We did modify our definition and define the “mouth” as the bivalve opening, And we did have to stop our experiments on howler monkeys, AND we never did get clams to smile. We wrote the experiment off after a few years as “as hard to do as getting a cat to laugh” difficulties which we of course had first hand knowledge of.
Alright, so I sort of touched on this subject before, but I feel I need to revisit it for no reason. Also, because I can do whatever I damn well please.
Now, as you are no doubt aware, there is quite a furor about “the end of the world”… well, more precisely, there was. as 2012 approaches it appears that they are changing their tune “well, it won’t be the end, but everything will change!”.
For “facts” proponents refer to the mayans, Nostradamus, and the bible.
for Facts.
please, tell me they aren’t serious?
First, they claim that the Mayans “knew” there was going to be a major change in our history. How? magic? Did a people who couldn’t even master the length of the solar year actually have somehow mastered time travel and seeing into the future? No. Of course not. Sure, their civilization was advanced, but if they couldn’t predict their civilizations own death I really don’t think it’s very smart to believe any of their “predictions” (did anybody account for the fact that their solar calendar was busted, anyway?).
And don’t get me started on Nostradamus. Biggest phony ever. “hey, guys, I have an idea, I’ll write down completely meaningless gibberish and say it’s prophecy, and people will believe it and connect the dots for me.”
The sad thing is nobody sees it! They are purposely vague not because “he didn’t understand today’s technology or the various changes that he “saw”" but rather because if he was specific they would be wrong.
The fact that any otherwise reasonable human being with a solid understanding of either physics or the nature of space can even give any sort of creedence to an obvious fake and even go so far as to evangelize his name (well, if he predicted it, it’ll come true).
Except he didn’t predict anything! That’s the problem I have with it. If I wrote down that in 2013:
a great power will rise. Many will be killed.
The Koala bear roams free. eucalyptus suffers.
Olives drop. All dead. Great bird eats grapes for breakfast.
And enough people believed it “it would happen” not because I predicted it, but the very vague nature of the words opens them up to so many interpretations that during the course of the year it’s certain that there is a timeline that could fit this random gibberish. This doesn’t even touch on the fact that the man was french, so all of these predictions are translated. I decided to do a little digging, namely about his “power” to predict world events; for example, here is the original french passage that “predicted world war 2″:
Bêtes farouches de faim fleuves tranner;
Plus part du champ encore Hister sera,
En caige de fer le grand sera treisner,
Quand rien enfant de Germain observa. (II.24)
Now, according to the website I originally found this the translation of this to english was:
Beasts wild with hunger will cross the rivers,
The greater part of the battle will be against Hitler.
He will cause great men to be dragged in a cage of iron,
When the son of Germany obeys no law.
Note
Beasts mad with hunger will swim across rivers,
Most of the army will be against the Lower Danube.
The great one shall be dragged in an iron cage
When the child brother will observe nothing.
As with any of his passages, and even his strongest proponents agree “his predictions only become crystal clear after they have occured”.
What the fuck kind of use is that? “Oh, he can predict the future, but we can only know what it means after it happens” So, basically, he purposely phrased his quatrains in a vague, completely meaningless way and as I said those who want to are able to give meaning to any passage. It’s really quite simple, and the fact that people actually believe this utter and complete bullshit is beyond me. Not to mention they even go so far as to invent propesized events- apparently he predicted 9/11, but he didn’t. the entire thing was a hoax. So the real question is how many of his “predictions” are either biassed translations or completely fabrications? I find it interesting because a large quantity of his “followers” can’t even read french.
This is a rather similar case as with the bible itself. Now, I have no problem with Christians of course, and the bible certainly contains words that anybody can live by.
But it’s a spiritual guidebook, not a prophetic gypsy book. The problem is the bloody thing has been translated and re-translated that even if the original was in some way “the word of god” it’s become so mangled and filtered by so many people translating it between different languages that it’s only natural for some parts to lose cohesion.
It, just like most “predictions” is also rather vague, using symbolic imagery to try to pain a picture of the future (in those parts people claim it does that).
Now, the problem here is that the only place that “symbolic imagery” and “predictions” should ever be used in the same sentence is when you are referring to the horoscopes in a newspaper. No reasonable person is going to read a horoscope for their sign that says:
There could be some friction in your place of work or group gathering today, and it will be up to you to take the middle ground. Pay attention to the minor details in connection with a major project, because it’s the little things that will make the final picture work.
and actually believe it (well, nobody who is completely sane, anyway) because it’s often wrong and it’s sufficiently vague it could apply to nearly anything. and if you add the fact that desperate times calls for creating new meanings for literal words… for example, a die-hard advocate, upon seeing that t his has absolutely no relevance to anything whatsoever might try to say “well, maybe the friction represents…” or “by “middle ground” they must mean…
it’s all a load of smoke and mirrors and it’s the fact that these people understand, either conciously or sub-consciously, how the human mind has an arcane, even magical, ability to fill in the blanks and create connections where there are none. It’s really no more then a optical illusion with ideas and words. When you see the classic optical illusion whereby two images of the same size are placed on a perspective plane, do you truly believe that the object that appears larger (because it is “farther back”) is really larger?
No, of course not. Once you remove the backdrop of the perspective line and vanishing point the entire thing is clearly not as it seems. So too can people cleverly insert “perspective lines” in our very own perceptions of words. Just as our Visual Cortex fills in many blanks for us when there isn’t enough information, or as part of our perceptions (for example, our perception of contrast, colour, and so forth, can be changed by merely introducing a few lines, just as the way an entire scene looks can be changed by introducing a single element. So too does our mind “fill in the blanks” for many other topics. More precisely, we see what isn’t there because we want to see what isn’t there.
Many people have capitalizee on this.
I previous discussed the dangers of the deadly giant Earthworm. Recently, a new discovery has been made, the tiny Anaconda, which has been dubbed the “MicroConda”.
This is a force to be reckoned with. The Life cycle of the Microconda consists of the following phases:
First, they are born as a sort of virus. Microscopic in size, and they infect bacteria that live in a mammal’s intestines. The bacteria don’t die, but the MicroConda Larvae virus infiltrates the cell nucleus and changes the mitocondrial DNA to collect phosporus from the bloodstream. This is used and combined to create a photosensitive mitochondria. The virus then uses it’s powers of nucleic persuasion to do this to two mitochondria, forming eyes. A side effect (and therefore a symtom of microCondal infection) is that all excrement from the mammal will glow bright Orange. Once the infected bacteria are released in this fashion,they seep into the ground where they are ingested by tree roots. Through a process known as osmosis, the tree sap (as well as the infected/mind-controlled bacteria) finds it’s way to the forest canopy, and finds it’s way into a leaf.At this point, the larvae form simply waits until a leaf-miner caterpillar eats it. It infects the caterpillar and reprograms it so that it eats almost three times as fast as your standard leaf-miner. At the same time, it reprograms the DNA instructions that will be “executed” when the caterpillar enters it’s chrysalis. The leaf-miner, due to it’s larger intake of food grows to epic proportions, to the point where it is nearly 3 feet long. Since this is readily visible to predators, the virus creates a networked computer system inside the caterpillar, using the caterpillars organs as a sort of Bio-Nemetic processor. Using this, it also puts up a meta-phasic shield around the caterpillar, which turns any predator within 3 feet of it into a flaming mess.
At this point, the larvae sets a course for the most stable branch of the tree, and begins the reconfiguration process by initiating the formation of a chrysalis. During this time, the larvae has created a sort of replicator technology and protects the chrysalis using a metal alloy, in addition to the shields described earlier.
During the reconfiguration process, the larvae reconfigures the caterpillar slightly so that instead of forming a butterfly, it creates a small interstellar spacecraft that is capable of faster then light travel (easier then it sounds really, in fact the butterflies as they are today are really a result of a cosmic ray that hit one of the first evolved caterpillars and knocked it’s gene sequence out of whack, so that they all have the “do not form a interstellar light-speed capable starship” gene.). Once the larvae emerges in it’s newfound starship, it spends exactly 13 nights hovering around the globe in front of very drunk and paranoid people, as well as those who like to form UFO conspiracy theories, knowing full well that not only will they think they were much larger then they were but also that they were real starships.
After the 13-day rest, the larvae sets course for Mars, where it sits dormant in the Martian soil in order to confuse scientists. It makes a deliberate effort to try to be scooped up in any Rovers that come by, in an attempt to further confuse people about wether there is life on Mars. After (usually in vain) waiting there for another 13 years, the Larvae (yes, it’s still a larvae) powers up it’s Engines and sets course away from Earth. This is where the cycle get’s confusing- Nobody really knows what happens to it, but it always returns on Memorial Day 15 years later at exactly 10:00 PM GMT, which is the exact time Oprah is on in Little Rock Arkansas, but because of the memorial day parades and stuff the Larvae doesn’t get to see it. Because of it’s long isolation on Mars, it blames humanity for it’s troubles, and is intent on causing at least 3 unsolved mysteries and one cold case that is eventually blamed on the victims father on law. It does this by cleverly shooting each subject in the face with a AA torpedo, which is similar to a Photon Torpedo but instead of a Engine driving by fictitious warp plasma it runs on 2 AA batteries. the cold case is inevitably solved in some way or another by the Larvae leaving behind one of the batteries.
About this time, it faces the alter-ego of itself- the Boogers. These are formed when the Larvae accidentally infects a caterpillar that becomes a moth instead of a Butterfly. Due to the increased complications involved in trying to reprogram the moth to become a spaceship (unlike the butterfly, which as I stated would naturally metamorphose into a Interstellar starship if not for the supression gene) the Moth instead has a gene that suppresses it from becoming Liam Gallagher, who, ineffectually, is in fact the single case where the Larvae was unable to change the DNA fast enough to prevent the onset of Gallagralitis.
Those Microconda Larvae which, after reading through a few pages of the code comments on the Caterpillar’s DNA, determine that they are in fact inside the wrong type of caterpillar, set quickly to work on trying to limit the damage and try ot set them to metamorphize into something more useful. The lucky ones are able to cause the Caterpillar to metamorphize into a large perfect cube of mucus, which have been dubbed “boogers” by most 5 year olds who have seen it. The unlucky ones (only one so far) are unable to prevent the inevitable and accidentally cause the caterpillar to metamorph into Liam Gallagher. Thankfully, this has only happened once, and the other few instances were deep in the jungle where he lived his life out as a Howler Monkey. (actually wait, that’s the same as the one who managed to pass as human… oh well).
Now, back to the “boogers”. Now, As I said, these were the lucky ones. they were able to salvage their situation and still create a interstellar starship with metaphasic shielding, however, the one difference is that they have to wait nearly 60 hours for their outter layer of mucus to try before they enter lightspeed. As it happens, they often encounter the more successful “butterfly” marvae when they return from their sabbatical on Mars. The Boogered Moth only has one goal in mind, assimilation of everything else. It wants to integrate everything into it’s collective. however, unlike the species that I am obviously basing this off, they are a lot smaller. Most of their drones consist of grasshoppers and the occasional Lichen, neither of which are very useful. The “mucus” implants are really just a thin coating of mucus that does nothing to enhance their abilities, and there is no need to supress their will because, I mean, their grasshoppers, lichens, and a few stray bits of fluff. Oh, and some wasps. The wasps are probably the easiest to control I would imagine, they have one of the simplest DNA programs. So anyway, they inevitably meet with the vastly superior Butterfly version, and they engage in combat- Usually in and around the Asteroid belt, where the Butterfly Larvae is able to fire far more AA torpedoes then it had originally. The Booger cube uses it’s established defense tactic of moving lazily to the left, which keeps the Butterfly version on it’s toes.
The outcome is different everytime.
Well, that’s not true, there are only 4 possibilities:
1. the Butterfly Larvae wessel destroys the booger cube
2. The Booger cube assimilates the Butterfly larvae ship.
3. Both are destroyed in an ambush by T.I.E fighters
4. Neither one is destroyed, and the butterfly larvae instead moves into a career as a rock musician, while the Booger cube supresses it’s “pretty” gene a little further and becomes a common member on “The View”.
Now, the Butterfly larvae wins most of the time, being that the Booger Cubes best defense against the AA torpedoes are mucus torpedoes, which aren’t very useful. At this point, regardless of who wins, they celebrate by visiting my Aunt Martha for a bowl of Brown beans. Yes, she is intricately involved in the ecology of a species. I warned her that she was breaking the Prime directive, then I realize that was a completely fictitious law and it was a lot funner to do the opposite anyway. It actually all started when she left the spaghetti leftovers in the fridge for nearly a year. by the time somebody found them they had already grown sentient and had even started their own version of American Idol. (And no, being sentient and watching American Idol don’tcreate an oxymoron). Apparently they had been holding frequent referendums between those spaghetti strands that lived touching the sauce (known as saucicans) and those not touching the sauce (whose name isn’t important, I think they called them John Mayer’s because of their intrinsic boring quality.) Anyway When my Uncle Ruddiger opened it up, he released the Flying Spaghetti monster, and it has become a ridiculous meme on internet forums and chatrooms ever since. The flying Spaghetti Monster laid eggs and gave birth to the very first Microcondan life forms, which are really only snake-like for a few days.
Anyways, After visiting my aunt Martha, the spend the next 2 years going back in time and just barely making it back, and finally decide that while they don’t necessarily like Fresca, it’s not the worst drink in the world, and it’s certainly good to hae around fort diabetics, who are rather sensitive to their sugar intake. After havingthis epiphany, the StarShip’s Self-destruct is activated and the Larvae leaves using an escape pod, this escape pod is in fact a long slender organic mass, and is a snake like form as well. At this point it hides itself in Cajun cooking and is ingested. There it lays it’s eggs and is excreted, and then flushed down the toilet. It makes it’s way to the sewage treatment plant, where, by careful planning, it manages to sabotage the entire place so that instead of outputting treated sewage it gives out Coca Cola (it only takes a few minor adjustments and a touch of lemon). With it’s newfound business sense, it now roams across the country converting sewage treatment plants to Coca-Cola bottling knock-off plants. However it is soon discovered that the MicroConda isn’t actually a human being, which puts a dent in his credibility (namely, the large speech bubble on every can saying “Yes, I am a human being”. It slinks off into the shadows, returning only shortly to plan a trip to the Amazon Rainforest where it grew up. At this point, in a twisted set of logic, the Microconda is thinking “haha, I am so doing this of my own free will, my base instincts would never send me back to the rainforest I grew up, when in fact, that is exactly what is happening. Little does he know it, but the cycle is about to complete.
So, he goes on a tour in the rainforest, pretty much the same one that they filmed that Anaconda film on. Speaking of which, that film was pretty awful. Anyways, once there, it ends up getting in a rather heated debate over toilet paper brands with a local Howler monkey, and soon things start getting personal, both sides start questioning the parentage of the other, the promiscuity of each of their mothers is brought up, as well as their immense weight and various other negative traits. (around this time it becomes clear that while one is a howler monkey and the other is a Microconda that a fraction their size, both of their mothers are some sort of diesel or other high octane fuelled locomotive.
After much debate, they both decide to settle their differences by agreeing to disagree, and they both go out for soda. The Microconda, because of his previous epiphany, orders a Fresca. The Howler monkey starts (what else) an intelligent debate about the carcinogenic effects of aspartame, to which the Microconda eloquently replies that there is no real solid evidence either way, and until there is an established, medically sound report that conclusively proves otherwise he wasn’t going to let nonsense rule over his choices. The howler monkey, at this time, requests that they have butt sex, which the Microconda of course politely declines, “It’s not you, it’s me, I don’t have an anus” he replies. The howler Monkey, heartbroken but quite understanding to the Microconda suggests that he have anal reconstructive surgery in which he can finally achieve his lifelong dream of owning an Anus.
After many years of planning the operation, Dr A. Tear finally decides that it is doable. So, on the following Tuesday, The Microconda finally has an operation to give him an Anus. The Observatorium is packed with onlookers, I was among them- I distinctly recall ordering two hot dogs and a ice cold beer from the fellow selling refreshments, in fact, which I ate and drank while watching the Microconda being torn a new butt-hole, so to speak. Or should I say literally… I don’t know.
Unfortunately in the second half of the operation there were complications, namely, Dr. Ass Tear forgot which side of the Microconda was his new butt and which one was his mouth, and started working on the wrong side. This was quickly corrected when I threw my shoe at him from a distance.
After recovering from the surgery for nearly 12 minutes, the Dr. declared it was a complete success. At that point he informed us that he’d like to keep the Microconda here for at least a week for observation, which seemed fine to me, I mean, I was only sort of related to him through my Aunt martha, and even that was a Dubious connection. The Howler monkey did (what else?) differential equations to pass the time, and tutored his many advanced astrophysics students in the finer points of Einsteins Special theory of relativity, namely the importance of reference frames. Or maybe that the General theory. I don’t know, I was reading some awful MacCleans magazines from 1994.
After the Microconda recovered, he prompty returned home to his wife, Mrs.Howler monkey, with whom he engaged in frequent butt sex. Unfortunately, during one such episode, the chainsaw they were using became sentient and wrote rude words on the floor. The landlady of the area was not impressed at all and evicted both of them, where they both lived on the street as vagrants for a year before finally starting their own restaurant, “Howling Snake” It was mildly successful, at least until that incident where started to murder anybody who tried to pay with a discover card. Once again homeless vagrants in addition to being fugitives from the law, they started to live the homeless life which consisted of mostly not having a home. They made small change by having the Howler monkey do (what else) derived calculus equations on the street for money. unfortunately, their luck quickly got a lot worse. on a trip to the amazon rainforest, The Microconda caught a mild disease known as the “uncommon cold”. On his death bed, and dying of an unrelated anal aneurysm, the Microconda promised that wherever they met again, butt sex would surely follow. the Howler monkey did (what else?) spatial IQ puzzles. Shortly after, the Microconda died of Natural causes. As his last request, he wanted to be burned, transformed into a fine paste, spread on toast, and thrown into the rainforest. Nobody knows why- the common belief is that it was the fashion of the time. In any case, certain cells regenerated and formed new MicroConda Virii which continued the cycle once again.
[ad#Google Adsense]

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Back
Void « Default
Life
Earth
Wind
Water
Fire
Light 