20 May 2011 @ 6:32 PM 

I’ve already written about the “classic” 2012 end of the world doomsday prediction, you know, prediction number fifty bajillion. I have to say that end of the world predictions don’t have a very good success rate so far, what with the world not being ended and all.

Anyway, as ridiculous as the prediction is, there is an even more ridiculous prediction that occurs in 2011 (this year). In fact, it’s mere days away on the 21st.

Now, it is important to note that this prediction is… well it’s not really based on anything, and truly what end of the world prediction isn’t based on self-doubt and nonsense. This one however truly takes the cake. The wikipedia article on this can be found here . Apparently, this is yet another prediction by one of those people who seems to have this magical ability to predict when the world will end and then when it doesn’t they find they made a “calculation error”. This doesn’t make a whole lot of sense. You would think in the time between predicting the “end of the world” and when it doesn’t actually happen you might have given the “math” (haha, how laughable is that, but you’ll see, it’s freaking hilarious) a once over and found this “calculation error” especially since, in almost every case the “math” is the thing being constantly brought forward. Are we really supposed to believe that “oh the prediction is sound I just forgot to borrow a ten here”. Bullshit. This same guy apparently also predicted the end of the world in 1994, and I’m sure we can work out how accurate that was.

 

Camping states he has attempted to work out mathematically-based prophecies in the Bible for decades. In an interview with the San Francisco Chronicle he explained “…I was an engineer, I was very interested in the numbers. I’d wonder, ‘Why did God put this number in, or that number in?’ It was not a question of unbelief, it was a question of, ‘There must be a reason for it.’ ”

What the FUCK is this? “There must be a reason for it”? Really? Even the most devout christian can agree that there is such a thing as overanalysis, and treating the bible as a fucking math textbook takes it beyond a joke.

But it get’s better. He provides a “mathematical proof” of this:

 

  1. According to Camping, the number five equals “atonement”, the number ten equals “completeness”, and the number seventeen equals “heaven”.
  2. Christ is said to have hung on the cross on April 1, 33 AD. The time between April 1, 33 AD and April 1, 2011 is 1,978 years.
  3. If 1,978 is multiplied by 365.2422 days (the number of days in a solar year, not to be confused with the lunar year), the result is 722,449.
  4. The time between April 1 and May 21 is 51 days.
  5. 51 added to 722,449 is 722,500.
  6. (5 × 10 × 17) 2 or (atonement × completeness × heaven) 2 also equals 722,500.

What? seriously? “hey look at me assign arbitrary numbers to these words and do some pointless math and come out to another number that happens to be able to be derived from another math formula involving these numbers? Is this guy on FUCKING CRACK? Seriously? Just take a bunch of completely fucking arbitrary date intervals, do some basic arithmetic on them and them make up some handwavey bullshit about the results and POOF! proof of some retarded idea. Here, I’ll try this too!

  1. The number 12 equals bear. the number 3 equals eagle, and the number 7 equals tertiary turkey.
  2. 3 is a prime number. so is 97. if you convert 3 to a word (three) and take the length of the word-version of 97 (ninety seven) (11 letters) and subtract it, you end up with 8, which is one more than 7, which represents a tertiary turkey
  3. Tertiary means three, which is the original prime number; having established an intrinsic relationship between 3 and turkey, we also find that 3 is the number of sides a triangle has.
  4. The word isosceles( a type of triangle)  has  9 letters, which multiplied with 180 (the number of degrees the angles in a triangle add up to) we get 1,620, divide by 10, and we get 162, 180-162 is 18, which divided by three is 6, which is exactly half of the bear number.
  5. This CAN’T be a coincidence! it indicates a clear relationship between triangles, bears, and turkeys that cannot be refuted!

Really, just try to find something that I did differently. I replaced the terms and the numbers but I included the same ass-pull of arbitrary other numbers that is done in the “original” prediction text.

332 total views, 2 views today

Posted By: BC_Programming
Last Edit: 20 May 2011 @ 06:32 PM

EmailPermalinkComments (0)
Tags
Categories: Programming
 19 May 2011 @ 12:37 PM 

Fig 1-1: Process Explorer viewing disk cleanup DLL files

Ever wonder how the windows disk cleanup utility works? Go ahead. Try googling it. All you’ll get are various “tech tips” on how to effectively use the program, nothing on how it actually does it’s task. I became curious recently in a forum thread regarding Disk cleanup and a few other similar tools. Ages ago I recall reading some article or Q&A column or something where the author described some of the intricacies of disk cleanup; I couldn’t find it, (it was probably in the MSDN library collection I was using at the time)- and it was written for Windows 98 Anyways. So, I decided to determine the method disk cleanup uses to figure this out. My first tool in this fight was to try to use Process Explorer to try to determine what DLLs disk cleanup loaded, shown in Fig 1-1.

 

 

 

 

From this, there isn’t a whole lot to go on. There is a lot of informational noise, in that it’s difficult to determine which files would be the presumed “plugin” dlls and which are simply loaded by other DLLs and so forth; Additionally, there is also the possibility that it doesn’t keep the DLL loaded and therefore it wouldn’t appear in this list at all. However, there would still be behaviour using the DLL and related data, and it has to retrieve the list of “plugin” DLLs or whatever from somewhere, so I turned to Process Monitor instead.

Process Monitor

Generally speaking, I actually prefer to avoid using Process Monitor if I can. It’s not that I dislike the program- it is extremely powerful and replaces both of the older filemon and regmon utilities. The problem I have is that even though it provides a number of powerful tools for filtering the various events, it is still a lot of data to sift through. In this case, I set a filter to include only cleanmgr.exe related events, ran disk cleanup, (or at least let it “enumerate” what it could clean) and then sifted through the various events. Searching through the results I found some entries corresponding to the names of each “cleanup” list item, which can be seem in Fig 1-2.

Fig 1-2:Process Monitor finds something relevant to my goose chase

From this, it seems clear that Disk cleanup is getting many of it’s cleanup “entries” from a list contained in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches . Naturally I assume this differs if the tool is run as a standard user (rather than as administrator). Each key seems to have a few pieces of data; a filelist , for example, and a Folder , both of which seem to allow for pipes separating multiple values as well as wildcards. They also have a Description entry, which is either a string or it could be a resource reference in the form @filename.ext,-resid where resid is the resource id in the dll/exe’s string table that is referenced by the @filename.ext . This same format is repeated for a few other entries as well as what icon Disk cleanup should show in the list.

More interesting however is the “default” item, which references a CLSID; I followed the CLSID for one cleanup entry, in this case the “chkdsk temporary files” entry. This clsid can be found in HKEY_CLASSES_ROOT\clsid and it’s inprocserver32 is %SystemRoot%\System32\DATACLEN.DLL . Because CLSID’s are in fact class IDs and

Fig 1-3: OLE/COM Object viewer failing to load dataclen.dll

therefore we can assume that DATACLEN.DLL is in fact a COM component, I opened it up with OLE/COM Object viewer included with the Windows SDK. Unfortunately, it refused to open it, as seem in fig 1-3; inspecting the file with Resource Hacker, I determined that the cause was in fact because the file did not have the TYPELIB resource entry that is typical of COM components; or, more precisely, that entry was probably stripped. So, I was somewhat at a loss here; clearly, disk cleanup interfaces with DLLs as COM components and passes the data from each registry key to that component in order to perform that particular phase of cleanup; in the case of the chkdsk temporary files cleaner for example, it passes in a FileList of *.CHK, and also a list of folders, ?:\FOUND.000|?:\FOUND.001|?:\FOUND.002|?:\FOUND.003|?:\FOUND.004|?:\FOUND.005|?:\FOUND.006|?:\FOUND.007|?:\FOUND.008|?:\FOUND.009 which I would imagine means to search the specified drive for each of those given “found.00#” folders and delete all .chk files within them. Pretty straightforward, judging from this we can assume that dataclen.dll is what actually is doing the grunt work here, in that many of the entries specified- at least in my registry- point to dataclen.dll with varying folders and file masks.

For a bit, I figured “well, maybe it’s a secret interface that isn’t documented” but no doubt there would be trouble over that- Microsoft is apparently supposed to work with their insides out nowadays but I digress; either way, application vendors have been adding functionality to Disk cleanup for ages so I assumed there was some sort of documentation, which led me to this page.

This documents exactly what I originally suspected; Disk cleanup does use a specific interface, in this case IEmptyVolumeCache and IEmptyVolumeCache2 . So far, the way Disk cleanup works appears to be something like this:

it enumerates all keys in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches . It may also enumerate other keys for similar entries.

In this case the default value for each key will be a CLSID; this CLSID points to a class that implements either IEmptyVolumeCache or IEmptyVolumeCache2 ; the latter of which is of course newer and adds a single new function which adds better multi-language support. Disk Cleanup opens the appropriate registry key (which again may be in HKEY_CURRENT_USER in the case of a non-admin run) and passes the HKEY handle to the initialize routine of the instantiated class. Then presumably each cleanup class will “do it’s thing” to initialize from that key. This explains why some of the keys present in VolumeCaches seem to have different values; the different DLLs and CLSIDs can require different keys and values to be present which can mean different things. That said most of them are in fact “standard”, and are documented here . the “stateflags” entry appears to be the one affected by using /sageset and /sagerun, the behaviour and effects of which to me were a final puzzle piece:

 

By running the disk cleanup manager’s executable file—Cleanmgr.exe—from a command line, you can declare cleanup profiles . These profiles are composed of a subset of the available handlers and are given a unique numeric label. This allows you to automate the running of different sets of handlers at different times.

The command line “cleanmgr.exe /sageset: nnnn “, where nnnn is a unique numeric label, displays a UI allowing you to choose the handlers to be included in that profile. As well as defining the profile, the sageset parameter also writes a value named StateFlags nnnn , where nnnn is the label you used in the parameter, to all of the subkeys under VolumeCaches . There are two possible data values for those entries.

  • 0: Do not run this handler when this profile is run.
  • 2: Include this handler when this profile is run.

For example, suppose that the command line “cleanmgr.exe /sageset:1234″ is run. In the UI that is presented, the user chooses Downloaded Program Files , but does not choose Temporary Internet Files . The following values are then written to the registry.

 

   HKEY_LOCAL_MACHINE  
     Software  
        Microsoft  
           Windows  
              CurrentVersion  
                 Explorer  
                    VolumeCaches  
                       Downloaded Program Files  
                          StateFlags1234   = 0x00000002
                       Internet Cache Files  
                          StateFlags1234   = 0x00000000 

The command line “cleanmgr.exe /sagerun: nnnn “, where the value of nnnn matches the label declared with the sageset parameter, runs all of the handlers selected in that profile.

A generic StateFlags value is written to the registry when Disk Cleanup is run normally. This value simply stores the state (checked or unchecked) of the handler the last time it was presented as an option to the user. There are two possible data values for those entries.

  • 0: The handler was not selected.
  • 1: The handler was selected.

 

What can we glean from this? well, aside from changing a few flags in the registry, this doesn’t actually change the list of usable cleanup options. “But BC” I hear you say- “My list is different when I use cleanmgr /sageset:65536 & cleanmgr /sagerun:65536″!

 

Of course it is. when you run cleanmgr /sageset, it lists <every> handler; even those that would normally be excluded because of permissions, since you are merely changing the values of them in the registry. When you then use the /sagerun switch you aren’t actually performing the cleanup for all those items, only those valid for the current profile. Compare for example the list you see when you use /sageset:65536 to the list you get when you run cleanmgr.exe as an administrator. For me, I see no difference. /sageset and /sagerun don’t actually change the available cleanup options, they just change the cleanup options chosen (which boxes are checked by default).

754 total views, 2 views today

Posted By: BC_Programming
Last Edit: 19 May 2011 @ 12:37 PM

EmailPermalinkComments (0)
Tags
Categories: Programming
 04 May 2011 @ 2:30 AM 

Specifically, I’m talking about sites like this .

I mean- come on. Just what in the fuck is that? “Voluntary Human Extinction Movement”? From the site’s basic 1996-era HTML page:

Phasing out the human race by voluntarily ceasing to breed will allow Earth’s biosphere to return to good health. Crowded conditions and resource shortages will improve as we become less dense.

Now I have some problems with this; first off, it seems to be one of the many perspectives that regard Humans as somehow different from the rest of the planet. I mean, we are- in that we are now the dominant species on the planet; however, it’s important to note that we are also the only species that, and if I may put this bluntly, gives a flying fuck. if a Baleen whale is about to eat the last of some rare endangered species of krill, it doesn’t give a fuck. Why should it? It’s not it’s fault that that particular species of krill happens to be coloured a extremely bright red (or whatever colour) that they can identify and find easily. Only humans feel bad about doing what is necessary to survive. We (as humans) kill and eat livestock; in the grand scheme this is an advantage for the animals; they no longer have to hunt for their food or scavenge it, they can just laze and run about in a pen, or in the case of cows graze in the pasture to their hearts content; We (well, the farmers) try to protect them from their predators, and basically the entire process of that species survival is set in stone; it’s a form of inter-species mutualism, the fact that one of those species is us doesn’t change that into some sort of slavery. Hell, just by domestication we’ve created thousands of new species or at least breeds of species- if we are supposed to feel bad about species going extinct, should we feel bad about creating new ones?

The thing is, we as humans evolved and basically took over the planet; now it seems that our innate sense of outward altruism has extended to all other species and even the earth itself. This is preposterous. Other species should evolve around us- in fact, many already have- we shouldn’t just drop out of the race for no reason. I mean, holy shit, how much of an over-inflated sense of altruism would somebody need to think “golly, we are killing all these other species, it can’t possibly be their fault for being stupider, slower, and all around less intelligent then us, no, we must be evil”. No other animal feels remorse. Consider that for a moment. you think if there were 6 billion tigers on the planet they would decide to kill themselves for the good of the planet? Hell no. They eat gazelle and don’t give a fuck. the gazelle eat grass, you think they have nightmares where the grass screams in terror as it’s cells are ripped apart and those cells are masticated into a fine paste by their mouths? No. In fact, we don’t to co-exist and live with the animals, we could kill all of them for no reason, but that is the thing, there is [i] no reason [/i] to do so. Let’s consider a made-up animal, let’s call it the superpig (because I lack imagination, obviously). The superpig is an animal discovered deep in some unnamed jungle. Let’s say somebody, lost in the jungle, traps and eats one of these animals for food, and discovers that it is the most delicious thing he’s ever tasted, even though it was covered with bits of charcoal and didn’t have any seasoning at all. Needless to say he spreads the information and more and more people go deep in the jungle and hunt the superpig until it goes extinct. Some people like to qq at such a scenario. “oh poor piggies, OMG why do we think we can just trample everywhere”. But seriously, think about it. The reason the pig went extinct wasn’t because we are malicious and selfish assholes, but rather because the pig <i>tasted good</i>. There are plenty of insects that either taste bad to their predators, smell bad, or are otherwise unappealing as a meal; in the case of this supposed “superpig” none of this happened; only evolutionary traits that help the species become dominant. It’s fully possible that the superpig hunts a rare supergold truffle and it evolved a sense of smell able to hunt out these rare golden truffles, but the side effect being that it also makes them taste delicious to humans. Naturally, this isn’t a problem when they first develop the trait, because there are no humans around. But then the explorer encountered them and basically their ecosystem changed. They got a new predator. We like to think of ourselves as somehow above the whole predator/prey distinction, but we aren’t. Typically we are of course more predator them prey; I don’t think that we are a predator in the sense of domesticated animals for the reasons of mutualism I noted earlier, though.

The evolutionary line of all the animals that exist today has plenty of unrealized lineages; the trilobite went extinct long before mankind, as did millions, if not billions of other types of plants and animals. In many ways we protect species because we will take steps to prevent them from going extinct- why? Nobody knows. most of the animals that have gone extinct had serious shortcomings anyway. Dodo birds couldn’t fly, for example, and basically evolved to take advantage of a predator-free ecosystem; otherwise, over time, they would have either been made extinct by such predators or developed ways to survive. That is how shit works. Either kill or beat the shit out of what is trying to kill you. Or fly away, I guess. I just like the idea of a Dodo bird that evolved to fight kangaroos and could perform flying kicks. That said, there are plenty of similar birds, like the penguin, that cannot fly, but manage to survive simply because it developed a powerful swimming ability as opposed to flying. This makes perfect sense, because in their ecosystem there simply isn’t a whole lot for them to do in the air but fly around randomly; Seagulls need to take to the sky to seek out food, and owls use it to spot prey that they hunt on land, and so forth, but with penguins there isn’t anything in the air. So they developed powerful swimming ability via natural selection; if somehow another animal entered the ecosystem that was either a much better swimmer or was able to pick them off from the air or something, then the penguin would either need to develop instinctual tactics or tics that manage to help it elude that enemy, develop more powerful swimming ability, or some sort of defensive addon. (the last of which is highly unlikely). The only problem when that animal is man is simply that there is never enough time for any sort of adaptation on the part of the animal, simply because we don’t hunt like other predators would, which is, only for food, but oftentimes the leading factor is simply profit, and the method by which the animals are exterminated are very systematic and often occur over a short period.

In any case, the idea of purposefully making our species extinct is just ludicrous; “so the biosphere returns to normal”? And just what the fuck IS normal? I mean, the very reason that mammals and ourselves ever became a dominant species was because the dinosaurs were killed by something, and the mammals at the time happened to be equipped with the tools to deal with the aftermath and survive. The fact is, we don’t change the ecosystem or make it worse, we are a part of it. We are a part of the food chain, and if we were to voluntarily remove ourselves from this planet something else would eventually become sentient and start feeling self-important, or maybe they would see what was left of our society and learn that we killed ourselves on purpose and laugh in our face for being so <i>fucking stupid</i>. Also I like to imagine that they would be dolphins or dogs, because it’s funny thinking of them wearing a suit, even though the realism of such a scenario is pretty low.

To the website itself, I totally support their cause. I move that they stage a protest where they sit outside the government buildings of their choosing and take the first step by killing themselves. After all, voluntary extinction starts with YOU!

602 total views, no views today

Posted By: BC_Programming
Last Edit: 07 Jun 2011 @ 03:48 PM

EmailPermalinkComments (0)
Tags
Categories: Programming

 Last 50 Posts
 Back
Change Theme...
  • Users » 860
  • Posts/Pages » 192
  • Comments » 67
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

PP



    No Child Pages.

Windows optimization tips



    No Child Pages.