Because I don't use the command line that much, I usually forget this incredibly simple thing when it comes up: how to change to another drive using the command line (the DOS prompt).
For example if you want to run an application or script from within a specific directory on the E: drive:
If you are in C:/> simply type E:
then add the rest of the path, then the filename of the script or application you want to run.
After a recent update to Firefox, all my precious debugging extensions disappeared. The Add-on's window showed nothing installed. This post on the MozillaZine Forums explained how to force Firefox to rescan your addons and get them all back:
"Crikey... My extensions have gone or are unusable.... The update has confused the extension manager.... This procedure will reset it, so Firefox rescans your collection of addons, to see what is really there.Look in your Profile Folder (see above for how to find it) and Delete these three files
extensions.ini
extensions.cache
extensions.rdf
Make sure Firefox is not running when deleting these files. Firefox will regenerate these files on restart."
For the last week I've been getting "Startup disk is almost full" messages, and spent a lot of time cleaning house, only to have it nearly full again the next day.
The X Lab suggests looking at the console logs to see if there are any log files that that are growing out of control because of runaway processes. Sure enough one file was huge: 12.5 GB, filled with errors generated by a dashboard widget, Plazmatunes.
The log files and Plazmatunes have been deleted. Now I'm waiting to see if this ever happens again.
These brushes were derived from Durer's engraving St Anthony At The City. Create your own remix of a 16th century town! Let me know if you create something nice with them, I'd like to see it!
I've been experimenting a little with dual brushes. The ones here are good for producing multi-hued textures and backgrounds. They will automatically shift color, size, etc.
Drop me a line if you use them in something you are particularly proud of, I'd like to see what you do with them.
Javascript is a loosely typed language, which means it is possible to define a variable without specifying what type of data it holds (string, integer, floating point, etc.). This can cause problems if you think a particular value is a number when in fact it is a string. A string must be converted to a number to use it in calculations.
For example, when working with SCORM elearning software, scoring and performance data is stored in a Learning Management System as strings. If you need to do calculations with the data after retrieving it, the string data must be converted to integers or floating point type.
The parseInt() function can be used for this purpose. It parses a string and returns an integer. However use of the function without understanding the details can lead to unexpected results. If your string begins with a zero, the number will be evaluated in octal instead of decimal system. In Octal, 08, 09 are not valid numbers, and 010, 011, etc. will not represent the same values as they would in decimal system.
To ensure that the string is evaluated the way you want, specify the "radix" parameter, and make sure that the first character in the string can be evaluated as a number.
From the W3Schools article on parseInt() function:
The radix parameter is used to specify which numeral system to be used, for example, a radix of 16 (hexadecimal) indicates that the number in the string should be parsed from a hexadecimal number to a decimal number.
If the radix parameter is omitted, JavaScript assumes the following:
If the string begins with "0x", the radix is 16 (hexadecimal)
If the string begins with "0", the radix is 8 (octal). This feature is deprecated
If the string begins with any other value, the radix is 10 (decimal)
...
From the ECMAScript Language Specification (PDF)
Update, Nov. 26, 2007 The cub has been named Zhen Zhen!
Here's a photo diary of the as-yet-unnamed female panda cub born August 3 at the San Diego Zoo. The little panda is the fourth cub of Bai Yun, a panda that arrived from China in 1996.
To read the latest news on the Giant Pandas at the zoo, CLICK HERE

8/9/07

8/15/07

8/17/07

8/19/07

8/20/07

8/29/07


8/29/07

8/29/07

8/29/07

8/29/07

10/2/07

10/2/07

10/2/07

10/03/07

10/4/07
There is much happening in genetics it's hard to know where to start listing the highlights. Here are some of the more interesting items I've come across recently:
Did DNA replication evolve twice independently?
by Leipe DD, Aravind L, Koonin EV. in
Nucleic Acids Res. 1999 Sep 1;27(17):3389-401.
DNA replication is central to all extant cellular organisms. principal proteins involved in transcription and translation, which are highly conserved in all divisions of life. We performed detailed sequence comparisons of the proteins that fulfill indispensable functions in DNA replication and classified them.
The universal conservation of some components of the DNA replication machinery and enzymes for DNA precursor biosynthesis but not the principal DNA polymerases [an enzyme that assists in DNA replication.] suggests that the last common ancestor (LCA) of all modern cellular life forms possessed DNA but did not replicate it the way extant cells do. We propose that the LCA had a genetic system that contained both RNA and DNA, with the latter being produced by reverse transcription. Consequently, the modern-type system for double-stranded DNA replication likely evolved independently in the bacterial and archaeal/eukaryotic lineages.
Cell-free, de novo synthesis of poliovirus
A Molla, AV Paul, and E Wimmer
http://www.sciencemag.org/cgi/content/abstract/254/5038/1647"Cell-free translation of poliovirus RNA in an extract of uninfected human (HeLa) cells yielded viral proteins through proteolysis of the polyprotein.
The origin of viruses and their possible roles in major evolutionary transitions
Virus Research Volume 117, Issue 1, April 2006, Pages 5-16
Comparative Genomics and Evolution of Complex Viruses
Patrick Forterre
Ancient virus resistance came at modern cost: Science Snapshot
The key difference seems to be a protein called TRIM5-alpha, variations of which are expressed by the genes of humans, apes and monkeys. "Each primate species encodes a TRIM5-alpha with a different antiviral specificity," write the study authors. "For example, TRIM5-alpha encoded by rhesus macaques renders them resistant to infection by HIV-1, but human TRIM5-alpha affords no such protection." The human variant of TRIM5-alpha knocks the stuffing out of PtERV1, the researchers found, after dosing the resurrected retrovirus core with the protein. Just one problem. TRIM5-alpha can either restrict PtERV1 or HIV, but not both, the team finds, after looking at the disease in apes and monkeys. The mutation needed to cancel out one disease robs it of the ability to combat the other. So, the authors conclude, the human body is still primed to protect itself from a virus that has long been extinct, safeguards that have opened the door to the deadly impact of HIV.
<xsl:value-of select="../excerpt" disable-output-escaping="yes"/&rt;Example of xml which contains HTML data:
Example of XSL fragment which displays the data:
<?xml version="1.0" encoding="UTF-8"?>
<blog_entries>
<blog_entry id="0">
<date>09/01/2007</date>
<title>Entry Title</title>
<excerpt>
<![CDATA[
This is an excerpt that contains some HTML data. <a href="http://google.com" target="_blank">testing URL's in cdata section</a>
]]>
</excerpt>
<text>This is the rest of the article and contains some HTML code</text>
<author>Author name</author>
</blog_entry>
<blog_entry id="1">
<date>09/01/2007</date>
<title>Entry Title 2</title>
<excerpt>
<![CDATA[
Short excerpt here.<a href="http://google.com" target="_blank">testing URL's in cdata section</a>
]]>
</excerpt>
<text>
<![CDATA[ Longer excerpt here<a href="http://google.com" target="_blank">testing URL's in cdata section</a> ]]>
</text>
<author>another author</author>
</blog_entry>
</blog_entries>
----<?xml version="1.0" encoding="UTF-8"?>
<!-- DWXMLSource="blog.xml" -->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="html" encoding="UTF-8"/>
<xsl:template match="/">
<style type="text/css">
<xsl:comment>
.blogText{font:11px Verdana, Arial, Helvetica;}</xsl:comment>
</style><xsl:for-each select="blog_entries/blog_entry/date">
<div align="left" class="blogText">
<xsl:value-of select="."/><br />
<b><xsl:value-of select="../title"/></b><br />
<xsl:value-of select="../excerpt" disable-output-escaping="yes"/><br />
<xsl:value-of select="../text" disable-output-escaping="yes"/><br />
<xsl:value-of select="../author"/>
</div>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>