Note: This article assumes a basic familiarity with the DOS command prompt, and is somewhat of a continuation of our previous article on DOS, Basic DOS Commands. Here, we are exploring a few of the more interesting commands available via the DOS command prompt. For a more complete reference please consult the Windows Help file (Windows XP) by entering
hh.exe ms-its:C:\WINDOWS\Help\ntcmds.chm::/ntcmds.htm
at the command line prompt (or via the Start > Run... dialogue box). For a brief overview of essential DOS commands, characters, devices, and variables, check out DOS Fundamentals.
Continue Reading
A brief overview of essential DOS commands, characters, devices, and variables
Ahh, the fun I have at work while experimenting with the command line. I will be the first to admit that I understand very little of DOS, especially when considering the scope of its functional capacity. Nonetheless, I am taking the time to chronicle a few interesting DOScoveries here in this article, as well as in at least a couple of others (see related articles section at the end of this article).
The first thing that I should mention is that there are at least several different entities commonly referred to as "DOS". Windows 98SE and earlier run on the MS-DOS kernel, which is directly accessible by pressing the F8 key repeatedly (after the beep) during computer startup. Windows 2000, Windows XP, and beyond do not run on the MS-DOS kernel, but do provide two MS-DOS-like programs, the command prompt Cmd.exe, and the MS-DOS emulator Command.com. For more information, you may want to explore the difference between Cmd.exe and Command.com before diving in..
Continue Reading
Let’s face it. Websites are as transient as the wind. Developers and designers spend countless hours producing sites that may exist online for mere months or even less before being restructured, redesigned or removed completely, forever disappearing into eternal nothingness — or, even worse, into the sterile void of a search engine database. Clearly not the best situation for designers looking to maintain a complete record of their online work.
Even for sites proactively encouraging their caching and archiving by the search engines, accurate and reliable online site preservation approaches the impossible. Unfortunately, search engines are extremely inconsistent when it comes to archiving websites. If you doubt that, try digging up one of your old sites and see how it looks as stored deep within the archives of say, Google or Yahoo. Search engine archives commonly omit associated CSS, JavaScript, and image files, rendering sites incomplete and useless as a design reference.
Local or offline site storage also is impractical, especially if your sites are database-driven and require a server to process content. Replicating the original server environment is usually a hassle, requiring database reconfiguration and URL path repairs. Further, databases frequently involve absolute URL’s, thereby rendering offline sites practically useless. Besides, many sites are often aesthetically redundant, consisting of hundreds of virtually identical, dynamically created pages. Such archived sites are waste of disk space, especially if their content is now obsolete or exists elsewhere online.
Rather than rely on the search engines or depend on impractical offline archiving methods, savvy web designers and developers should develop a concise, high-quality screenshot archive of all their work. A well-maintained screenshot archive is an invaluable design tool providing streamlined reference for future projects, source material, and portfolio development. Clearly, from a visual-design perspective, screenshot archiving is far more valuable, useful, and beneficial than traditional methods of storing antiquated or otherwise dismantled websites.
Continue Reading
Embed Windows Media Player via the object tag
Here is the general format for including .wmv files in web pages:
<object type="video/x-ms-wmv" data="http://www.domain.com/path/to/winmovie.wmv" width="340" height="280">
<param name="src" value="http://www.domain.com/path/to/winmovie.wmv" />
<param name="controller" value="true" />
<param name="autostart" value="true" />
</object>
Continue Reading
As promised, the fine folks at WordPress have released WordPress 2.1, which has been named "Ella" after jazz legend Ella Fitzgerald. The new version features several key improvements, including lossless XML import/export, spell checking, post Autosave, and even a new search-engine privacy option. All that, and much more. Reading through the vast list of changes and developer features, we are quite excited to dive in and explore the new and improved, "state-of-the-art semantic personal publishing platform."
Download WordPress 2.1 (direct download)
Web developers trying to control comment-spam, bandwidth-theft, and content-scraping must choose between two fundamentally different approaches: selectively deny target offenders (the "blacklist" method) or selectively allow desirable agents (the "opt-in", or "whitelist" method).
Currently popular according to various online forums and discussion boards is the blacklist method. The blacklist method requires the webmaster to create and maintain a working list of undesirable agents, usually blocking their access via htaccess or php. The downside of "blacklisting" is that it requires considerable effort to stay current with the exponential number of ever-evolving threats, which require exceedingly long lists for an effective response. Although time-consuming and potentially work-intensive (there are automated methods of blacklisting bad bots), blacklisting optimizes hits by allowing site access to anyone not on the blacklist. Unfortunately for blacklisters, it has become relatively trivial to disguise bots by using standard user-agent strings. So the bad guys bypass the blacklist and slip into your site incognito. Besides, nobody wants to waste valuable time digging through endless access logs. Whereas blacklisting is reactive, whitelisting is proactive..
Continue Reading

Mint As many statistics freaks already know, Mint is an excellent way to keep a close eye on your site’s visitors, referrers, most requested resources, and much more. Even better, Mint’s functionality is easily enhanced via a growing collection of free extensions referred to as "Peppers". Peppers provide Mint functionality for a wide range of statistical operations, including everything from geographical IP information to nice, graphical summaries of collected data.
While we have not tried every Pepper available today, we have managed to incorporate an extremely powerful arsenal of statistical weaponry that keeps us well-informed about our site’s online activity. For Mint users, the following list of Pepper extensions is essential for complete statistical analysis..
Continue Reading
Behold the seventh wonder of the virtual world: max/min-height and max/min-width properties are possible in Internet Explorer! Indeed, by taking advantage of IE’s proprietary CSS attribute, expression, you too can whip IE widths and heights into desirable proportions. The CSS expression attribute enables JavaScript commands to be executed within Internet Explorer. JavaScript via CSS? Thanks, Microsoft!
Why is this so great? Well, because in other, standards-compliant browsers, max/min-height and max/min-width properties are easily accomplished with this simple bit of CSS..
Continue Reading
To rename the Recycle Bin in Windows XP, create a new text.txt file in your favorite directory and add the following lines:
REGEDIT4
[HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\ShellFolder]
"Attributes"=hex:50,01,00,20"CallForAttributes"=dword:00000000
Next, rename the file extension from ".txt" to ".reg" — the other part of the file name may be whatever you prefer (e.g., RecycleBin.reg). Then, double-click the file to have Windows import it into the Registry. Now go right-click your Recycle Bin and use the new option to Rename it.
To remove renaming functionality for the Recycle Bin, replicate the same file you created initially, and replace the last line (i.e., the third line) with the following:
"Attributes"=hex:40,01,00,20"CallForAttributes"=dword:00000000
Again, double-click the file to import it into the Registry.
In our previous article on creating spamless email links via JavaScript, the presented method, although relatively simple to implement, is not the most effective solution available. Spambots, email harvesters, and other online scumbags relentlessly advance their scanning technology, perpetually rendering obsolete yesterday’s methods.
In the case of spamless email links created client-side via JavaScript, many spambots now are able to decipher certain email addresses hidden within the JavaScript code itself. Spambots scan JavaScript for keywords such as "email" or "mail", or even character strings containing ".com" or the "@" symbol. Spambots collect and decipher such data and return the favor with a flood of email spam.
Fortunately, the flexibility of JavaScript enables us to encode our email links as simply or as convoluted as needed. Indeed, our first post on spam-free email links focused on simplicity at the expense of long-term effectiveness, with multiple email addresses requiring multiple instances of the JavaScript function.
In this article we present a technique which obfuscates all email data within the JavaScript itself, making it virtually impossible for current technology to extract accurately any email addresses contained therein. This is a more durable, industrial-strength method for protecting your inbox from the spammers. Although slightly more complicated, this method accommodates multiple email addresses within a single, robust JavaScript function. So, without further ado..
Continue Reading
This post is hereby dedicated to the official logging of all unresolved and/or unexplained errors encountered during development or implementation of various plugins, extensions, themes, scripts, and/or anything else that results in bizarre and mysterious errors, bugs, or other anomalies. Further, we will also post any potential solutions, fixes, workarounds, or explanations for any errors logged in this post. This information is provided for reference purposes only — please share any related information you may have concerning any of the errors described in this error log. Please use the comment form below or simply contact us directly. Thanks.
Continue Reading

Second-generation iPod nano The second-generation iPod nano is the perfect perpetual soundscape delivery system. Its lightweight design, intuitive interface, and generous storage capacity encourage digital listening pleasure virtually everywhere. The sound quality is crystal clear even at deafening volumes, and the sharp display screen makes it super-easy to configure a highly customizable set of preferences. The zen-like control wheel features touch-sensitive volume adjustment, which tricks you into thinking that you are magic or something every time you change the volume. It may be a little scary carrying around such an expensive and relatively delicate piece of technology, but the sheer aural empowerment makes it both luxurious and liberating.
Continue Reading
Compared to some of the big players out there on the internet, we here at Perishable Press run a relatively small website. We began this project in September of 2005 with nothing but a domain name and a pocketful of inspiration. During the first several months of development, our traffic statistics looked something like: one unique visitor and 10,000 hits (i.e., nobody but us).
Well, that went on for the first few months of 2006, and then something miraculous happened — we were linked to by another site and subsequently indexed by Google, and then Yahoo, and soon thereafter MSN. Within several weeks after being picked up by the search engines, our page rank was like 1 or 2 and our traffic was something like: 30 unique visitors and 1,000 hits (i.e., we were finishing up site development as more people began visiting).
Well, the next several months into 2006 — like, say, from around April to July — Perishable Press continued to produce content, articles, themes, scripts, and all sorts of links everywhere. We were making more noise and several more sites linked to us. Traffic began to increase into the 100’s, 200’s, and eventually leveled off around 300 unique visitors per day (with like 3000 hits due to continued site development, etc.). Things were officially up and running..
Continue Reading
Hiding and filtering CSS rules for specifically targeted browsers is often a foregone conclusion when it comes to cross-browser design considerations. Rather than dive into some lengthy dialogue concerning the myriad situations and implications of such design hackery, our current scheduling restraints behoove us to simply cut to the chase and dish the goods. Having said that, we now consider this post a perpetually evolving repository of CSS filters..
Continue Reading
i heard today that caos is better to live and create in than in a world of pure even, balanced, organized utopia.