pixel

free web hosting | website hosting | Web Hosting | Free Website Submission | shopping cart | php hosting
Network Ready Response - The Missions NetworkeEye - Digital SecurityExperts Exchange - The First IT Professional Collaboration Network On The WebAll Net Tools - The Most Useful Security/Test Tools Available OnlineCastleCops - Because Security Is EverythingArs Technica - The PC Enthusiast's Resource


[ Go to the bottom ]


Updated: 5.6.2006

Count: unavailable

Valid XHTML
----
Valid CSS

validate

NAVIGATENOTABLE

root-main

-- intro
-- rules
   principles
-- tweaks
-- hints
-- articles
-- software
    -- cmdline
    -- security
-- links

sub-other

-- config
-- terms
-- projects
    -- certs
-- various
-- specs
-- events7
    -- events6
    -- events5
    -- y-2005
-- about
    -- website
----
Get Firefox
Get Thunderbird
I noticed that rather in programming, I am more interested in the OS itself and its usage in general. Like for example useful things I can do to help my computer, to make it faster, more stable and so on, hm in one sentence, I could say that my "mission" is to make the use of my computer easier and more reasonable, as well as faster and more efficient. But to warn you all; those of you who are "experts" in computing-related stuff, and will read this page, please take into the consideration that you might not agree with some of them, so to emphasize again: these in particular are strictly my "personal rules", meaning that they are not "generally accepted" ones. Well, and once again, and in one terse sentence: I am really enthusiastic about various computing principles (that means discovering how things work etc. when winkering with the computer to the extreme), then I like to discover various ways of automation of tasks (mostly with use of batch-files), customize the various aspects of an OS in general, and discover the limits and capabilities of it. Of course, this also means to have a knowledge on how to cope with numerous common errors/problems, a knowledge of basic programming/scripting concepts and so on.

In fact, I was thinking the other day, and I came to the conclusion that in the world of programming, more or less everything is already done; meaning that there is a freeware program out there for almost anything one might want to do, and so I like to rather explore these "already made" things (already invented stuff), i.e. the behaviour of these programs etc. And so I started thinking: why for instance to learn to code in the C++ language to write such a program, if all I need to do is use Google (of course, I know how to write a program in Python which would for example create file, process some data, and output it into that file etc.), therefore I've realized that rather than in "full" programming-languages, I am interested in things that are not so hard to learn, and which have emediate effect; for instance one nice example of this "principle" would be markup languages like XHTML, XHTML etc.

I must confess that back then I had a period of time when I've actually studied the most common and frequently used mouse-moves and general navigation in my Total Commander file-manager, mainly to set its icons, menus, dialogs in the configuration .ini file to be as logically structured as they can be, and also to place its buttons and other customizable GUI stuff in an optimal manner, while I am also interested in "studying" the various other aspects of usability. Another "crazy" example is that I edit the config files (.ini and .cfg ones for instance) of various programs so that the lines/entries are sorted by alphabet. Though I am not saying that I am hacking each executable with the ResHacker program, I only mean chaning those configuration settings that are configurable from application's configuration dialogs, so therefore you have a chance to set/configure them by default (without advanced techniques), meaning that it was "meant" to do it by the programs's author.

My various blogs: Here is a list of links to my various blogs; as first a link to my Voljatel Blog, both in Slovenian language, as second there are the links to the two "ad revenue sharing community" blogs Senserely Blog [feed.png add], writingUp Blog [feed.png add] in English language, then there are the three unsorted blogs Kuro5hin Blog, Spread Firefox Blog [feed.png add], and CastleCops Blog [feed.png add] also in English language, and finally the two futile blogs Slashdot Blog (this one doesn't get much attention), Techrepublic Blog (it's inaccessible to non-registered visitors), both in English language too.

Site search Web search

  

powered by FreeFind


(refresh the page for other quotes)
TinyURL: enter a long URL

  
to make it tiny URL



/NOTE: From the site's update on 5.6.2006 onwards, this particular site will not be updated anymore. To be honest, I made few additional modifications on 6.6., 7.6., 8.6., 9.6., and 16.6., further on 13.7., 23.7., 23.8., and 26.9. in 2006, and finally on 14.1. in 2007 (which was the absolutely last update), but that was all just fixing old errors and formatting, and no new content was added. Optionally see the last "events-entry" on page "events7.html" (it's a short related announcement), and the first entry on the "events8.html" page (it describes all this in great details), however, the second one is located only on "still-updated" site-variants. Anyway, this notice applies to: Bravenet, Freehost386, Geocities, and Greatnow free-hosts (and from 14.1.2007 this includes also Atspace free-host), so for the current variant with the fresh content, please head on to one of these two main sites: 50webs, Voljatel, which are, as mentioned, the only ones still being updated.


The most general and widely-used of all my computing principles is that for "overall feeling", I just don't like seing processes running if they are not needed/required, be it one process or ten processes; although this is my opinion (my own "minimalism principle"), for my particular situation. Because it is certainly true that the process-memory is usually paged-out into pagefile or to MMF (after not being used for some time); and so because the overwhelming majority of a process's (and some parts of OS's) memory is pagable, if there's memory pressure it will just get written out to disk anyway. There's a small portion that's non-pagable (that can't be written out to disk), but non-paged memory is reserved for the kernel anyway. Many of the mentioned things doesn't degrade performance, but anyway, they do use additional resource, even if resource is hard-disk space, which is the cheapest one. Heh, it was again that Arsian with nick DriverGuru was "responsible" for me to realize this. But one of "real-world" examples how this (running too many not needed processes) can affect overall performance, is that more processes running cause a bit slower Process Explorer UI's responsiveness (delay in expanding/colapsing tree, opening dll/handle pane etc.), more intensive file/registry operations monitored with Filemon/Regmon (both as an outcome of more processes running), similar thing is number of files in a directory, but rather see "THE STRUCTURING PRINCIPLE" section below. Also, totally like standards, the various official ones (like W3C ones), and additionally I develop my own; be it a standard in my site's coding, the way I format my documents, the way I use BBcode in forum-posts etc.


THE ORIGINAL-FORM PRINCIPLE



This principle is related almost to everything, and it means to keep the things in a way (I am quite pedant about this), that one got them in the original, or yet better, in the default state. As I mentioned, this is true for all kinds of stuff, in various "areas" of computing. Like for instance I try to keep the original form especially for more or less personal kind of e-mails, i.e. those that I get from my friends and therefore I want them to be backed-up exactly the way they were when I got them, similarly this is also true for those few really important forum-posts (like the replies on my questions etc.), that I got used to copy and save them to respective files on my hard-disk, then another example of "keeping in the original form" is more or less my personal obsession and my "over-methodical" way of handling things. It is that I do not type manually the important stuff, like when I choose a serial/code or enter an e-mail address for an account on some forum, or during installation procedures or whatever, I rather use pre-made templates (of course, also to aviod potentialy typos), and therefore I simply copy the respective text into the input field and so on and on.

Another example would be in case of "non-setup" applications, respectively the single-executables ones (i.e. those programs that do not use their own or other "external" libraries, just the OS's "core ones" with basic win32 APIs), it means that I do not rename the .exe file (i.e. I also check the "Original File name under Properties), even if I could do it with no harm, meaning that the programs would run normally even if I would rename them. In case of "setups" there are even greater chances it won't, just think for example of renaming the Windows shell and file-manager's executable from Explorer.exe to MyExpl.exe or whatever (the OS would be probably "confused"), and it is just better feeling that way, but also it is true that you never know, when author of some programs decided to "hard-code" the executable-name into the compiled file code (the source), and I must say, I hate hard-coding in general. For those who do not understand what I mean with "hard-coding", here is a simple example of hard-coding the paths. Some authors even hard-code paths into the executables, i.e. this means that the programs executable (code) contains for example C:\Program Files\Common Files, instead of querying the CommonFiles variable from registry. So you see, that means that in my case there are no C:\Program Files, C:\Program Files\Common Files, D:\Program Files, D:\Program Files\Common Files nor D:\Documents and Settings named directories. There are only C:\Programs, C:\Programs\Common, D:\Programs, D:\Programs\Common and D:\Settings. Though it is true, changing the paths of these directory is against the very same principle you are reading, but I did this because of another principle (see below), that is somehow more important.





THE CONTEXT-MENU PRINCIPLE



Similar to passionately studying freqent mouse-moves and general navigation when using my file-manager Total Commander (as mentioned, to set its icons, menus, dialogs in the configuration .ini file to be as logically structured as possible), so what I want to say is that I actually take time to study the principle and I don't stop until I am sure I understand it (it can be quite annoying though, especially if I need to go to bed early), for instance for files that I use with keyboard hotkeys (enhanced keys), should they point to a location on my hard drive or to location on my RAM-drive/disk etc. Then further for my start menu (which is not at all a common Start Menu as you might think), I lately moved the whole directory-structure to my RAM-drive/disk; for details see the page "events4.html", the "10.10.2005" entry and especially read the part about changing the Shell Folders and User Shell Folders registry keys. But it would even work without this, since I can set the location to where the start menu of my Blackbox shell points easily with the "menu.rc" file (located under B:\Systems\ directory; also on my RAM-drive/disk): http://users.volja.net/tayiper/script/menu.rc with lines like these two: "[path] (Windows) {"B:\Pointers\Context\Windows"}", "[path] (CmdFreq) {"B:\Pointers\Context\Command"}" etc.

Anyway, separated directories which contain links are located on my RAM-drive/disk inside the B:\Pointers\Context\ directory. The root contains these three folders: [=Batch, [=Cmds, [=Setup and a few links: =arnes.lnk, =dialup386.lnk, Unitinfo.lnk, Sync-exe.lnk (the first two are links to establish a dial-up connection, the "Unitinfo" is Folding@Home related, while for "Sync-exe" see the page "cmdline.html"), while my global dekstop (my file-manager displays it as \\Desktop\; similar to \\My Computer\ or \\Control Panel\; these are called "special" or "shell" folders), which as we all know consist of D:\Settings\ivan\Desktop\ and D:\Settings\All Users\Desktop\ "merged" together, contains the links to these directories/files. The main directory for all this stuff on my my RAM-drive/disk is "B:\Pointers\"; so that when I go into let's say "[=Cmds" (by double-clicking on the link on "global dekstop"), I am now actually redirected into "B:\Pointers\Desktop\[=Cmds" directory. Another interesting thing might be the "[=Batch" folder, i.e. the global desktop link directs me to "B:\Pointers\Desktop\[=Batch" directory (and files/shortcuts in it point to "B:\Pointers\Scripting\" one); while its sub-directory "B:\Pointers\Desktop\[=Batch\Backup\" refers to "B:\Pointers\Scripting\Backup\" so all the global desktop's links actually somehow "reflect" the directory-structure my RAM-drive/disk. I guess this might sound a bit complicated, but I do hope that you got the general picture.





THE EVEN-NUMBERS PRINCIPLE



On various occasions I got used to use numbers that are multipliers of number 2 (this is the number "two"), for instance wherever you need to enter some value in configuration fields/edits etc. My personal favorites are 2, 4, 8, 16, 32, 64, 128, 512 etc., so the bottom-line is to use EVEN NUMBERS instead of ODD NUMBERS. I think this is quite reasonable because of the general way of how computers work, computer's "inner" binary architecture and so on. I got the general idea when I was working with RazorLame encoding/decoding program, see this page here: http://www.dors.de/razorlame, which is used together (i.e., it's a so-called "front-end") with the Lame encoding engine (LAME Ain't an Mp3 Encoder), check this link: http://www.mp3dev.org. So in RazorLame's configuration settings, you need to choose a specific number for the bitrate of encoding process, and many of the numbers below are listed there. But these numbers are also used (and in some cases must be used) in various Windows configuration dialogs for instance the DWORD value for the so-called "IoPageLockLimit" setting under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management registry path actually need to be one of these numbers: 4096, 8192, 16384, 32768, 65536.


There were only these numbers available in RazorLame:

4, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320


I presonally got used to use multipliers of number "two":

2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072


But I also use in "practice" any of these multipliers below:

3, 6, 12, 24, 48, 96, 192, 384, 768, 1536, 3072, 6144, 12288, 24576, 49152, 98304 5, 10, 20, 40, 80, 160, 320, 640, 1280, 2560, 5120, 10240, 10240, 40960, 81920, 163840 7, 14, 28, 56, 112, 224, 448, 896, 1792, 3584, 7168, 7168, 14336, 28672, 57344, 114688 9, 18, 36, 72, 144, 288, 576, 1152, 2304, 4608, 9216, 18432, 14336, 36864, 73728, 147456






THE STRUCTURING PRINCIPLE



I like to have all the things on my computer logically sorted. This includes my browser's bookmarks.html contents, meaning that they are sorted by topic-type, i.e. system or non-system by site's language, i.e. Slovenian, English, or other etc. But as even more important, I also sort the overall "directory-structure", i.e. non-setups applications their directories and links (in Windows Startup Menu), also a number of files that are in a particular directory are carefuly counted and thought-through. Like for instance - "non-setup" programs are placed into the D:\Software\ directory (note the 8 chars long file-name), commandline applications in one of its sub-directories etc., and all being nicely sorted by usage System/Projects/Internet/Support, and the other "usage", i.e. are they "residents" in meaning that they are running non-stop (like MS's User Profile Hive Cleanup Service, Blackbox shell, Buzzsaw defragmenter, MouseTrack and SETI projects, Process Explorer etc.), or I execute them once in a while, process/re-configure/apply "something", and close them. Of course, Internet programs like Firefox browser, Soulseek p2p app, CacheSentry IE's cache manager etc. are also mostly "residents" (same as above non-stop or at least running most of the time), but only on certain "conditions", i.e. when I am connected to Internet. As noted, I am still a 56-K dial-up modem adapter user, with actual line transmission speed even poorer, mostly 28.8 Kb/s, and hardly ever 31.2 Kb/s.


Non-setup apps structuring:



-- programs that you execute them, set something (or do some processing), and soon exit it, meaning that these applications never run as "residents"

-- programs that the most commonly run all the time, like various "system applications", for instance Blackbox - BB4win, my shell replacement, Total Commander file-manager, SETI@Home and Folding@Home related processes, Buzzsaw defragmenting program, various "auditing applications" and others.

-- programs that run all the time on certain periods of time, like Internet enabled applications (that run all the time, but only when I am connected to Internet), for instance my firewall, Firefox browser, Soulseek p2p client, Proxomitron proxy server, Wackget download-manager (that saved my partially downloaded files numerous of times) etc.


General directory structuring:



Directories and files are in general structured in a way, that files are separated in directories on hard-disk in a manner, that separate directories are equally filled. That way browsing through hard-disk with my file-manager doesn't cause delays on potentially too big directories, i.e. a separate directory containing too many files - we all know a delay when for example opening C:\WINDOWS\ or C:\WINDOWS\SYSTEM32\ directory, because fle-manager first needs to load all the icons into the RAM (and possibly also other file-info), ehm, not to mention the delays, if you are viewing some huge directory in "Thumbnails" view... So I "structure them" as they are structured like in this comparison-table below.

somehow like thisand not like this
E:\Wordings\

... 5-30 files approx ...

E:\Wordings\Readings\

... 5-30 files approx ...

E:\Wordings\Readings\Support\

... 5-30 files approx ...

E:\Wordings\Readings\Support\Common\

... 5-30 files approx ...
E:\Wordings\

... 2 files ...

E:\Wordings\Readings\

... 100 files approx ...

E:\Wordings\Readings\Common\

... 0 files ...

E:\Wordings\Readings\Common\Support

... 500 files approx ...


And yeah, for details about what comes next in this paragraph see: [ /other/events1.html#firstevent" ], but to mention it only in a few sentences - on the last Windows re-installation I changed the D:\Program Files\ to D:\Programs\ and D:\Program Files\Common Files "variables" to point to folder named D:\Programs\Common as usual with MS's well-known programs called TweakUI, but on the current one I even changed the default Windows XP's Profile directory D:\Documents and Settings to only D:\Settings (again see 8 chars long file-name in all cases) with the help of Winnt.sif file and Unattended parameters.





THE RAM-DRIVE/DISK PRINCIPLE



I use the so-called RAM-drive/disk program, particularly the QSoft's one from this site: http://www.ramdisk.tk (it consist of RAMDisk.sys, RAMDisk.dll and installation/info file ramdisk.inf); for details see the following thread on Ars Technica forums RAM drives and XPArs Technica 12 x 12 pixels icon http://episteme.arstechnica.com/groupee/forums/a/tpc/f/99609816/m/665008855731. I must stress at the very beginning I don't use it in a matter of gaining a performance but to reduce hard-disk writes, i.e. I use it as a "host" for certain kinds of very heavy disk-intensive operations. While of course I've heard for this kind of programs before, I've never actually bother to install and try/use one; while it is totally useful for files that are often written-to (because of the frequent hard-disk's seeks), or for those that are frequently accessed, i.e. for the files that are only often read-from, however, many times these particular files mentioned in the above sentence (the ones that are often modified) are the ones that contain valuable data, so I think it all very thoroughly before moving them and start using them from the RAM-drive, i.e. in the end I don't put those files on my RAM-drive in the first place. Hehe, in regard to "thinking it thoroughly" mentioned above; it actually ocurred once or twice that I couldn't fell asleep because I knew that I haven't yet thought it through (the "principle" of which files to use from RAM-drive and for which this is not clever thing to do). And of course, finally RAM-drives are ideal for any files/folders that are used as a temporary storage in general (files that are "meant" as a temporary storage), like various caches and various other temporary files and similar.

I must say this yet one more time: I really totally love the whole idea of having a portion of RAM reserved for a drive that behaves as a hard-disk. So since I got used to not to reboot my computer for days or even weeks, I can now store all the Internet Explorer's cached files on the RAM-drive, i.e. locations of its "Temporary Internet Files", "Cookies" and "History" folders. But anyway, loosing these files (in case of a system crash) is not a problem at all, since its only a cache and these files are meant to be stored only temporary. Otherwise I can always copy them to some safe location before rebooting and then copy them back into the RAM-drive on boot-ups (anyway, on boot-ups, I execute a great majority of my programs with two batch files; one for "All Users" and one for current user, rather than with registry Run keys, i.e. under the HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE branches); in fact I already wrote a nice batch script for that purpose, here is a main part of the "backing" part: "xcopy * "D:\SysUsed\Recents\Volumes" /E /C /Y /Q" and here a "restoring" part (first I need to "cd" to the "D:\SysUsed\Recents\Volumes" folder): "cd D:\SysUsed\Recents\Volumes xcopy * B:\ /E /C /Y /Q". Note the /C switch (help says: "Continues copying even if errors occur."), which I used because of the "Locked files" under TEMP/TMP path variable. You can always get info on command-line switches/parameters with "help" (infront of in-built shell-command), "-?" or "/?" (after the command-line executable name); so in this case that means "copy /?" (not with "-?", i.e. "copy /?") or another option if you might use "xcopy" command instead of "copy" one "help xcopy" or "xcopy /?". Then I use RAM-drive for other programs too; for instance the DNSKong programs I use constantly writes to its log-file and also IPs resolved to host-names to its presets.txt configuration file (it's in a "hosts-file" style/format), then I also use RAM-drive for my Total Commander file-manager's "tcthumbs.db" and "tcthumbs.idb" files (a thumbnail cache files), lately even for its .ini files (which are also often written to) and its treeinfo files "treeinfoC.wc", "treeinfoD.wc", "treeinfoE.wc", "treeinfoF.wc" (for each drive/partition separately) and finally Bginfo's "BGInfo.bmp" graphic; a walpaper with system related information. Therefore I am saving my hard-disk from a lot of additional but especially unnecessary stress, i.e. unnecessary writes to a hard-disk. I am even planning to store one of the Firefox's profiles in-there too and so on. Anyway but regarding running programs from RAM-drive, as DriverGuru said, the executable code of process surely needs to be copied from RAM-disk to another part of RAM (i.e. to "process address space"), but this is a "CPU-driven memory-to-memory" copy operation, so we can conclude that it is faster than "disk-to-memory" one (I guess not "CPU-driven") anyways. However, one thing is for sure; at least I know that they are certanly less hard-disk writes compare to before, i.e. that with RAM-drive some files don't get written to hard-disk at all; like those under TEMP/TMP location, those processed by me (for instance HTML documents before I optimize them) etc.

And as addition, I also re-discovered the HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders and HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders registry keys and the options they "offer"; for more info see the What's the purpose of the "UsrClass.dat" file thread on Ars Technica forums: Ars Technica 12 x 12 pixels icon http://episteme.arstechnica.com/eve/forums/a/tpc/f/99609816/m/770008085731; so with changing the values of entries inside those two keys, I managed to change the "Application Data" named directory to only "Data", "Local Settings" to only "Local", "Start Menu" to only "Menu" and so on. Hehe, the reason for that was my "minimalism principle" (or should I rather say the "principle of an obsessive-maintainer"), the principle regarding empty spaces and "less than 8 chars in-lenght" directory/file names principle. Additionally I later even got the idea (and realised it already) to move the whole Start Menu directory-tree into the RAM-drive (except for "Programs\Startup\", but I don't use Programs\ branch anyway), since I know for sure that there are lots of hard-disk seeks when browsing through sub-menus; I monitored it with Filemon back then and also checked it with Process Explorer (it seems that the seeks are caused by shell opening a "File" type handle with path as a "Name" each time), however, later I realised that I can change only the location of my Blackbox shell's "menu.rc" file without changing the value of the "Start Menu" registry entry under Shell Folders key. And by the way, here are the links to two screenshots: http://users.volja.net/tayiper/D_Settings_ivanek_Menu.gif, http://users.volja.net/tayiper/D_Settings_ivanek_Data.gif, that show an interesting effect after doing this. Well, I would rather call it a phenomenon.

/UPDATE 1: /UPDATE 2: As an addition to discussion in one of the threads linked above, Mark Russinovich from Sysinternals also said that if one uses a RAM-drive, the data is cached twice; namely he wrote this in his e-mail message to me: "The same thing happens as when you flush to standard disk: data in file the system cache gets copied to the RAM-disk memory. That's one reason that I don't use RAM-disks: most of your data is actually stored twice in RAM, once on the RAM-disk and again in the file system cache."

/UPDATE 2: I am also teporting one thing regarding RAM-disk and installation files needed under TEMP/TMP. Well, I've discovered one interesting thing regarding what Dilbert said in one related thread back then (unfortunately I can't find it anymore); i.e. that some installation programs need to use file(s) from/in TEMP/TMP directory on the next boot. See the post where I mentioned Dilbert's reply in a somehow related RAM drives and XP thread: Ars Technica 12 x 12 pixels icon http://episteme.arstechnica.com/groupee/forums/a/tpc/f/99609816/m/665008855731/r/617003075731#617003075731. You see, it's that when I was updating my anti-virus program, it apparently needed to continue with installation after the reboot. So it placed a "delus.exe" and "delus.ini" files into my B:\Cache\Temp directory on RAM-drive. And so I opened Autoruns program from Sysinternals and instanty found out a newly created entry under "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" pointing to that file. So all I needed to do was move those to files into some permanent location on my hard-disk, and modify the startup entry to point to this new location. But before I decided to use this very easy solution, I actually thought of many other potential ones, i.e. for instance to add an entry under HKEY_LOCAL_MACHINE pointing to a batch file that would copy those two files into that Temp directory on RAM-drive before they would be called (i.e. with moving the reference to HKEY_CURRENT_USER which is AFAIK queried later in the boot process)





THE MINIMALISM PRINCIPLE



My experience is that in practice more things added to the "default configuration" cause additional delays (in GUIs of programs); I mean more things like more items in the right-click menus/sub-menus (Explorer's SentTo or badly structured Start Menu), number of columns/buttons/separators, number of items in toolbars/buttonbars, number of lines in menus in various applications (for instance in monitoring programs; therefore more resources displayed), so you bet that I am almost fanatically trying to aviod that. Then more buttons/separators in Firefox's menu, Navigation and Bookmarks toolbars means more entries (higher number of them) in the Memory cache device etc. Well sometimes probably if you disable some feature it is just made "unavailable" to user (but still being "processed" in the background), so it is probably still taking resources anyway. But sometimes probably don't, I suppose it depends on coding. So therefore, I soon developed an "attitude" that I call minimalism principle, i.e. the principle that things must be as minimalistic as possible. So you see, I've always imagined there are also "other" resources, where the "number" of separate parts of some resource in use is important and not only the actual "overall amount" of the resource used, like for example the number of various objects created with handles pointing/referring to (GDI, User, other NT Object Manager namespace related objects), then number of windows, threads created in each process etc. It is similar in other applications and in use of operating system itself, and if you want - on hardware/device level (shortcuts and general file/folder structuring on hard-disk), generally to make usage of my PC even faster (and more efficient), and to make use of all the potential advantages. I mean where the number of resource in question is crucial and not the amount of memory it occupies, compare to for example overall RAM used, where it is obvious that the amount of resource is crucial. And because of that you can bet that I don't like to run too much processes (if not neccessary), so therefore, I also disabled all useless NT-services, few of them quite dangerous, but mostly not-needed for my particular configuration (uhm, see the rest of the page, I posted a complete list), to lower resources consumption as possible. I also think that more processes running means more chances for conflicts between them. But then I was told on Ars Technica forums that almost nothing in this system runs in order-N time, let alone worse in other words there is nothing that makes the system run slower just because there are more "things" running/mapped, like more processes, more handles, or more objects etc.

Further, another nice example of my "minimalism-principle" is that on the beginning, when I was still passionately trying out diverse so-called "tweaking" applications (before I discovered the magic of .reg files), I carefuly tried to not to install two applications with the same or too similar usages (like tweaks that programs applied etc.), but anyway - later I actually replaced most of my supposely irreplaceable "setup-required" applications with simple, straightforward "non-setup" programs, but see the "THE NON-SETUPS PRINCIPLE" below, but also I prefer programs that store settings in .ini files rather than in registry, which I imagine is kind of more directly operated by the operating system, although it is true - I guess file-handling also; because we all know that in the end applications communicate with hardware through Windowns kernel and file-system APIs in this order: Hardware -- Kernel -- Shell -- Applications. Another common example is file-handling, meaning that I like to keep various configuration .ini, .cfg and other files "clean" and small in-size as possible. Simply because each additional letter or even a carriage return (CR) and line feed (LF) in other file's cases in the Firefox's "bookmarks.html" file means additional bit or two (or whatever is the size of one letter) in the bookmarks file-lenght, and we all know that this results in slower bookmarks loading, viewing/browsing in the end. Just think of this example: bookmarking some page as http://www.ivan-tadej.tk and titling the bookmark-entry as "Tadej's homepage: computing hints, principles, and rules (index)" (in this case it's my own home-site), or bookmarking it as I prefer http://www.ivan-tadej.tk and titling it as "ivan-tadej". Another example is when I am doing a capture/screenshot (a .jpg, gif etc. picture) of some programs window's current state, I try to make the window itself as small as possible, and only "frame" the important lines - therefore the picture saved on my disk is much smaller in size. Heh, I even discovered that there is a difference if the text is highlightened or not, the cursor visible or not (and if it's blinking), pointer visible or not etc., i.e. all the mentioned things add additional colors to the final "mixture", and therefore it counts to the final file-size.


The bottom-line is:



More "things" added to core, more chances for run-time intererences and other incompatibilities, but as the most important slower the whole thing runs (core in meaning of computer, its hardware, OS and its required applications like default shell, services etc., and few crucial applications, like AV, FW etc.), whereas with "more "things" I simply mean, each additional process, plugin, extension, driver, virtual-machine, control, or whatever additional feature, thing ("down" to number of registry keys and values), consuming additional resources in all meanings and "forms" - CPU, disk, memory, handles, windows opened, number of NT-Objects etc., although it is ture, I use many "features" of my PC, so for those things, I just need some additional software to be installed. Like codecs, players - for video/audio, file-sharing app - to dl music all the time being connected (56K dialup user - so I need to take 100% advantage of the phone bill), interpreter and libraries - for programming, and so on), but as mentioned, I developed strict approach when choosing which one to finally use on long-terms. I even went further, and renamed all of my non-stop used directories (and most of files too), to have short-file names. That means equal or less than 8 characters in file name, and also of course with no spaces in file or directory name. This way I make commandline usage much easier, especially in DOS but also on Windows, and after all, this way you save yourself from unneceassary typing. And note that this is an example from "real world", i.e. I've seen one user with this exact directory/path on his hard disk, and there are numerous similar cases on other folks' computers. I mean why to create a directory named "C:\Install Temporary" if you can only create "C:\Install", "C:\Setup" or simply "C:\Temp"?? You certainly need to type less in the latter example.





THE FIREFOX-PROFILE PRINCIPLE



This a bit contoversal part of "principles.html" page, but I will post it anyway, since in my humble opinion it is an important one. Well, it is all about thought-through usage of Mozilla Firefox web-browser's disk-cache (number/size of entries) with using three separate profiles for one single user. The thing is that I was used to use two different profiles for a long time now, however, I used the other non-default one, i.e. I'was used to set it to run with Proxomitron filtering programs )for those few non-trusted sites, when I come accross with), and therefore I used was very rarely, in fact hardly ever. Oh and yes, note that I use Firefox with MOZ_NO_REMOTE user-variable so that each profile-instance runs in its own process; if you want to, see the benefits from running FF like that in this way in a Firefox's management of processes and threads: http://forums.mozillazine.org/viewtopic.php?p=702985 thread (a member Mook suggested to use that variable in his reply), that I opened on MozillaZine forums back then and where I first described my other Firefox-related discoveries. In this manner the mentioned variable that is set within the OS (through the Windows Control Panel), allows a second (or third, fourth etc.) launching of a Firefox process to ignore the presence of the "parent.lock" file. However, this way, i.e. with the mentioned variable set to have value 1, any attempt to open new window of Firefox (when another Firefox's profile/instance is already running ); for example with double-clicking the executable directly or a shortcut with a profile's switch/parameter, or through external programs (like clicking a link in e-mail clients, instant messenger programs etc.) will bring up the Profile Manager dialog box. So another option is to create the batch-file that sets the variable's value to 1, starts the new instance/profile, and then after the process exits, it sets the variable back to 0, therefore external links will be unaffected and will not start with the Profile Manager, but just as a new window, running in the existing running Firefox process/instance (in the most recently started profile), and also if one process stops responding or whatever, I don't lose all the windows running under either of the other two profiles. Yeah, it happens occasionally that with terminating the Firefox process you lose all the web-history entries. Although this is not related I will mention it anyway, i.e. it might even occur in case of BSOD that one can permanently lose bookmarks, because the file containing bookmarks can get corrupted, at least I surely did experience this once or twice so far.


The three profiles:



1. I use one profile that I named "default" (recently changed to "default1") only for commonly accessed more or less system/computing-related "static" sites (I hope you will figure it out by yourself, but anyway); where "static" means sites like for instance this page you are looking at right now which has a more or less permanent layout, not a dynamic one (although most pages on the Internet are some sort of "articles", some more dynamic, some less), i.e. it actually mostly doesn't change at all, then sites that are databases in principle, sites containing mostly articles (that don't change), and other pages on sites that are "static", meaning that the main "template" or "framework" is always the same. For instance http://about.com, http://www.infoplease.com, and http://en.wikipedia.org too, sites with statistics of DC-projects I am running too, various community sites (forums, chatting), software homesites and similar, i.e. those sites that I usually visit on daily basis, and those sites which I might want to re-view in the following few weeks so I want them to be stored in the cache for some time. This is opposed to "non-static" sites, where the main page (and others too) changes/is updated on dialy bases, like news sites etc.


2. Then there is a second profile that I named "extra" (recently changed to "default2") and I use it for the "static" non-system sites, for instance http://www.snopes.com, http://www.historychannel.com, http://www.crimelibrary.com, http://www.sourcewatch.org, http://www.kuro5hin.org etc., while in all mentioned cases the content of site's pages might also be updated quite often, but as mentioned above, the most of the basic/raw layout remains the same. And as opposed to type of site listed in the example for a profile in paragraph below, the point is that for these sites you are connected to the same server (for example to episteme.arstechnica.com) for the whole time of session. These are also visited on daily basis, but for some this is not neccesary.


3. And finally I use the third profile which is named "backup" (recently changed to "default3") for "non-static" mixed sites (means system and non-system); while this includes sites that change their content quite frequently, for instance my local pages of interest (TV, newspapers and other media sites), various other news sites and so on. Lately I moved the location of this profile to RAM-disk/drive; for details check out the page "events4.html", the "10.10.2005" entry. But compare to the example for a profile in paragraph above, these only link to various other sites, rather than enabling you to browse news on the site in question itself. Then further I use this profile also for sites for which their main purpose is to only link to other sites like http://digg.com, http://slashdot.org, http://www.newsforge.com, http://www.internet.com, http://news.yahoo.com, and also for those sites that I am visiting for the first time (again, mostly in cases when linked to the respective site from some other site), and there is a big chance that I will not visit it anymore. And of course in the end also for those few periodically but very rarely visited sites. But in general, I like to separate site that I am planning to visit also in future, and those that I will most likely visit only once.


The bottom-line is:



Although it is sometimes hard to distinguish these "static" and "non-static" sites, in any case this way the disk-cache of the "default" profile doesn't get filled so soon (similar for the "extra" profile), and so I have some sort of "permanent cache". Also as even more important is that it contains only the data that I actually want to be cached and will certainly be accessed within 1-2 days time limit. While for the disk-cache of the "backup" profile, I really dont care how big it grows, because I can always empty it without worrying to lose any speed when next time browsing the internet. Because as I said, most probably only those sites are cached that I visited once and will never visit them again (or cache contains only out-dated versions of these sites), but even for this profile I use the Total Commander's method, i.e. I set one of its "Custom Columns" (I named it "FileDate") to display the three file-date related columns; Created (the date of creation), Modified (the date of modification) and Accessed (the date file was last accessed), then I sort the cache files by (Last) "Accessed" and delete only those that weren't accessed for instance for more than one week. So you see, in the end the whole browsing experience is more "rational", and also all profile's bookmarks.html and signons.txt files are a bit shorter in lenght. Also note that I am trying to use same "family" of sites (i.e. hosts/servers which are part of the same domain) only in one profile. For example I keep all the related (in terms of domains) bookmark entries in the same profile. For instance for the "About" sites, I keep in the same bookmark file the entries such as: http://about.com, http://webdesign.about.com, http://websearch.about.com, http://crime.about.com, http://paranormal.about.com, http://ufos.about.com etc., and for the "Yahoo" sites, I keep the following entries in the same bookmark file: http://www.yahoo.com, http://yahoo.com, http://mail.yahoo.com, http://geocities.yahoo.com, http://news.yahoo.com, http://launch.yahoo.com, http://briefcase.yahoo.com etc., but I am also trying to have "sister" sites in the same profile; sister sites like for instance various sites of the CNET Networks branch: http://www.cnet.com, http://news.com.com, http://reviews.cnet.com, http://www.download.com, http://builder.com.com, http://techrepublic.com.com, http://www.zdnet.com, and further various sites that are "members" of IDG Network branch: http://www.idg.com, http://www.infoworld.com, http://www.computerworld.com

/UPDATE 1: Lately I started to use yet three different new profiles that actually never connect to the Internet. One is called "manage" and as it name hints I use it to manage my bookmarks locally (so I don't go "online" with it), then the other is called "preload" and I need to use this one to be able to use FirefoxPreloader.exe programs (because of MOZ_NO_REMOTE user-variable that I use mentioned above), which is used to load parts of Firefox into memory before it is used to improve startup speed), see here: https://sourceforge.net/projects/ffpreloader, and recently I started using also the third one that I named "livemark" profile. I use this one because I am on 56K dial-up modem connection, and so Firefox's livemarks consume quite great amount of bandwidth (when the update/refresh themselves)

/UPDATE 2: Throughout the whole this year's summer (i.e. the year 2006), I was having problems with too high hard-disk's temperature this summer, and so I was experiencing occasional unattended lock-ups/reboots (well, of course they were unattended); and so one of the results of these unattended reboots was that I've also moved the second Firefox profile that was previously on a RAM-drive back to hard-disk, simply because I've lost the newly created cache-entries (i.e. the most recently cached pages) too many times, but also I've noticed that with copying files from the RAM-drive to hard-disk (before a normal reboot), and back to the RAM-drive on next boot-up usually "destroys" some of the cache, meaning that pages that would certainly be cached if the cache would be normally stored on hard-disk are lost after being copied back to the RAM-drive and when Firefox is launched for the first time in current session. Therefore I now use Internet Explorer in this manner since its main caches ("Temporary Internet Files", "Cookies" and "History" directories) are still located on my RAM-drive.





THE NON-SETUPS PRINCIPLE



One of my main principles and "obsessions" is the so-called principle of using "no-setup" applications, I like that kind of software for many reasons, and in this section I will mention the most important examples and further try to explain the main reasons why I prefer this "form" of programs. Oh, and the reason why I wrote "main obsession" is simply because there is another one, i.e. the obsession with commandline utilities and scripting, but see the rest of the site for details about it, especially this page: /cmdline.html. So the thing is that I've become almost obsessed (as mentioned) with finding useful "non-setup" programs, and replacing as many "setup-required" programs I am currently using (and are somehow crucial to me), with the "no-setup-required" ones, i.e. be it a single-executable or .zip archive but not the installer of any kind, except maybe an extractor program, that just copies files "out of" compressed archive, and you can always "browse" the file in any file-manager capable of that or simply rename .exe to .zip. I actually succeeded to replace most of my favorite "setup-procedure-required" programs I was using in the past with "non-setups" (and I did considered those as "irreplaceable" tools), while in most cases the whole "procedure" of switching was pretty similar to switching from the System Mechanic programs to commandline Sdelete utility and batch-file usage, or from Boot Switcher to Rebooter application, both examples are described below.

So again, it is quite simple; I prefer applications to be a single .zip archive, containing all the required files (like libraries, data and configuration files etc.), which are then extracted to some location on local hard-disk, and you can already execute/use the program. Or even better - just one single .exe file, so executable is only copied (or extracted if it's zipped) to somewhere on hard-disk, and you can already execute it, but again as the most important - without the "installation procedure". While on the other hand some programs simply need to be "setups", there is no other way. This includes anti-viruses, firewalls, and similar deeply integrated applications, that require somehow more deep "system incorporation", software registry modifications, and blah, usually they require also a system restart after the installaion procedure finishes. I call them "low-level" programs because they use additional non-OS libraries (and need to register them), device drivers, i.e. drivers that are not so-called virtual and dynamically loaded (or in other words created "on-the-fly"), and therefore reside as actual files on hard-disk, programs that use ActiveX controls, OCXs, COXs, COM/DCOM objects or ALT components components (and also need to register them) etc.


The first bottom-line:



As you probably know traditional installation programs (installation wizards bundled to compiled self-executable installation files) must create directories, decompress programs files, register ActiveX controls, OCXs, COM components, ATL components, Visual Basic components and others, install system DLLs, and set/create global environment variables etc., and each of these dependencies represent a possible point of failure, not just during installation, but also later after other applications are installed and uninstalled, while in case of "non-setups" there is no installation-procedure at all. In general that means no no Start-Menu and desktop shortcuts created, which are things that are the most commonly done by application's installation programs, and other "supposely required" modifications in registry, which are all the things (as mentioned), that could go wrong during the installation or later during programs usage. I just don't trust installers in general from my own experiences and why would you need installer for only copying files (not referring to to the "low-level" programs here)?? So some of the "non-setup" programs appear almost like if they DO NOT EXIST AT ALL from the operating system's point of view, i.e. there are no registry entries created at all by the program, usually with all the configuration settings stored in a local .ini file, while other store ONLY THE MOST BASIC SETTINGS in the registry itself, like general settings from programs's UI, window position/size, various filters etc. For example Sysinternals utilities from Mark Russinovich's store their settings in registry in this manner and btw. I got used to save these settings from registry to *.reg file, so I can always restore the desired window size and position, but also font, filter and other settings all this for such cases if I delete the respective registry key by mistake, or something in the configuration itself gets somehow "corrupted" etc. And note, these "simple" programs usually make only one key, mostly only under the HKCU\Software path, or in case of media-players, they also sets a few file-associations, but as mentioned some programs don't store any settings at all, and that's one of the reasons why I just love this type of programs and mainly use only them.


The second bottom-line is:



You can DELETE THE APPLICATION'S REGISTRY KEY and/or some or all of ITS VALUES, and it will work normally after next execution. Further, in majority of "non-setup" programs you can even MOVE THE APPLICATION to some OTHER FOLDER or PARTITON and it will work normally after the next execution, i.e. because paths that were stored in the registry are just overwritten. One of the main reasons is that you do not need to cope with all the problems with upgrading and/or updating installed software, for example Firefox and Thunderbird programs installed with an .exe installer, and the majority of other applications (btw., there are so many topics about it, even on my beloved Ars Technica), compare to updating "non-setups", i.e. deleting directory and copy all the files from updated .zip archive package to new directory. After first programs execution, they surely both writes to registry, same as both "setup/install" variants etc., but when you upgrade, it is clearly stated on Mozilla.org, that you mustn't copy new version into same directory as previous is already installed. But if you just *need* to use an installer, then I think it is also recommended, somewhere on Mozilla home page, that you must un-install previous version first, i.e. deleting the profiles and execuable and other files' directories (possibly reboot after making all these changes), and then install new version. Optionally, I would also search for the left-overs in registry etc. In Firefox's case the files that I should pay attention to are: bookmarks.html, "user.js", prefs.js, cookies.txt, cookperm.txt, hostperm.1, signons.txt and key3.db (it is not necessary that all of the files mentioned above exists in your situation), while in Thunderbird's case there are also (beside user.js and prefs.js): localstore.rdf, cert8.db, key3.db, defaults.ini, components.ini, compatibility.ini., and finally all .ldif and .mab files; I guess the last two extensions are related to Thunderbird's address book. On my computer these files reside under the: D:\Settings\User\Data\Firefox\Profiles\default\ and under the D:\Settings\User\Data\Thunderbird\Profiles\default\ paths (lately I started creating Profiles folders under the program's installation directories, i.e. in Firefox's case this is the D:\Program Files\Firefox\profiles\ path, and in Thunderbird's D:\Program Files\Thunderbird\profiles\), though next time I will simply put the profiles directory as a sub-directory of where programs executable is located.

So as the conclusion of this section, I must say that I hope you see all the benefits of "non-setup" form of programs. Once more; in both mentioned Mozilla's programs all the things/procedures described above mean that only thing you need to do is that you simply backup all the mentioned files to some "safe" location on your computer, delete the old installation's directory, create new directory, extract/copy new release, restore backed-up files, and that's about it. Though it is true; at least in Firefox's case I rather backup/restore only the most important preferences, because I like to start new version of any programs as clean/fresh as possible. But anyway for the sceptics; if after all that's been said you are still asking yourself, why the hell single .exe or .zip archive rather than an installer?? Well as I already mentioned, I just do not like programs that are "too deeply integrated" into the operating system. But maybe even more important reason (but surely the practical one) is that I have structured all my "non-setup" programs back then into their respective directories, then zipped the directory-tree into one big .zip file, and I did that once and for all. I simply mean that after re-installing Windows or upgrading one of these programs - there is no annoying installing again, of each programs separately, no time-consuming clicking on YES or NO in the installaton-wizard's GUI (possibly rebooting), no re-configuring these programs later etc., I hope you got it. I mean those users who mainly use and/or prefer installers over the zipped archives would still be clicking on YES or NO buttons, while I would already browse the web, listen to music or watch a movie, whatever., but also in general - my personal opinion is that installaton programs are somehow creepy, and if they are not needed - why one would want them ... and further all that "messing around" that installer-programs do, it's just one thing more that could go wrong. But rather see the rest of the site for more examples, especially in /hints.html page. Ehm, and also one more somehow related thing that I just need to mention here. You see, it's that in my humble non-professional opinion programs should be individualized programs made to do one thing (written for one particular job), be it FW, AV, browser, e-mail client, p2p client, download-manager, IRC etc. (or more "jobs" in some special cases like audio/video players, file-managers, OS shells etc.), though this "job" could be done with many tasks, the bottom-line is in entirety, it should be one straight job. All this compare to so-called "all-in-one" utilities, which are "filled" with more and functionalities and this tends to quickly become "too many" functionalities. I mean, in general these "all-in-one suites" tend to become bloated and less specialized across the full spectrum of the applications they are supposed to replace.

Mozbot Search Engine



in your languages in english


Disclaimer 1: The opinions expressed at my web site and in my files are mine, or belong to other individuals/entities where so specified. Each product or service is the trademark of their respective company. All the registered copyrights and trademarks ( and ) referred in this site retain the property of their respective owners. All information is provided as opinions only. Please, also see the "Disclaimer 2" on the page "about.html".




All the pages on this site are labeled with the ICRA label.  ICRA label
The site is maintained solely by its author and is best viewed with a standards-compliant browser.


intro -- rules -- principles -- tweaks -- hints -- articles -- software -- cmdline -- security -- links -- config -- terms -- projects -- certs -- various -- specs -- events7 -- about -- website


This thing on the left is a simple Altavista's BabelFish translation script, for details see: http://babelfish.altavista.com. To make it work, click on the respective flag and translate the current page from its native English language to the choosen one, while for another similar script (which translates optional text) also check the page "various.html".

And the thing on the right is yet another Bravenet's affiliate banner, while here are various affiliate/referral links to other such accounts or services where I am a member: Senserely Referral Link, writingUp Refering Link, Spread Firefox Affiliate Link, TrafficSwarm Referral URL, Bravenet Affiliate Link, FreeViral Affiliate Link, Hits2u Affiliate Link, Ax.wbasi Referral Link.




[ Back to the top ]


Silicon - Breaking Business and Technology NewsUnited Devices - Grid Computing SolutionsOpenCores - Open Digital Modules CoresSlashdot - News For Nerds, Stuff That MattersEchoEcho - Free Online Web Hosting And TutorialsOSNews - Exploring The Future Of Computing

pixel