Archive for the Technology Category

Free Online Biblical Studies Repositories by slaveofone

Apart from developing my own personal library in hardcopy, the digital arena has allowed me to amass a considerable electronic corpus of books, articles, and manuscripts (only a few gigabytes) from professional biblical scholarship. A few of my favs include JSTOR (most colleges/universities provide free access even if you already graduated), BiblicalStudies.org.uk (someone loves F.F. Bruce), ETANA, the essential Theology Program (for conservatives), the Biblical Manuscripts Project, the Journal of Biblical Studies, the Journal of Biblical Textual Criticism, back issues of Biblical Archaeologist/Near Eastern Archeology, CCEL, Early Jewish and Early Christian Writings, and, of course, early scholastic books can be downloaded straight from Google Books (a lot of translations and other gems are public domain).

Two free caches I recently stumbled on are the Gordon College Bibical eSource web site (click on a scriptural text and it will take you to a page with countless dissertations, articles, books, and even multimedia presentations available in multiple formats) and a horde of articles by Scott Noegel, one of those rare scholars who combines Biblical and ancient Near Eastern scholarship so beautifully. Commence drooling.

On-line English-Babylonian Translator by slaveofone

Ever wanted to write something simple in Egyptian? How about Babylonian or Sumerian? Now all you have to do is go on-line and type it in. It does not appear, however, that this can be relied on except in terms of simple words and short phrases. It may even butcher those. And it will definitely not be of any use in terms of digital translation of ancient documents… If something like Altavista’s Babelfish or the myriads of other on-line translators can’t even adequately translate a moderate German sentence into English (or vice versa), I think there is not much hope of an ancient language working any better. But it is amusing!

Go here to read all about it.

I’m soooo lucky… by Mit The Destroyer

About 2 1/2 years ago my CRT monitor died (went up in a puff of smoke), and so I decided it was time to finally upgrade to a nice 19 inch LCD. Unfortunately, my video editing machine would no longer boot into windows 2000 (except safe mode), because the last g550 matrox driver release, for windows 2000, doesn’t support LCD monitors. Thus, my only option to get support was to upgrade to windows XP which I didn’t have the money to do.

So I figured I would research to see if GNU/Linux could be a viable video editing platform. But everything I read at the time said no. So I just let the machine sit there for the last two years. About a couple of weeks ago I finally decided to take the plunge and installed Ubuntu on it, so I could at least backup the data that was there and then start clean. Luckily in this time frame GNU/Linux has gain the ability to mount NTFS drives, so I didn’t have to reformat my drives and thus was able to use GNU/Linux to backup the data that was there.

While I was backing up my data I discovered a folder on one of the NTFS drives I had never seen before called “RECYLER”. So I started poking around in the newly discovered folder to see what was in there. And low and behold I found a gold mine. I found the master print of my Camp Attitude video (ogg) I did 5 years ago, which I thought I had forever lost due to me accidentally deleting the wrong file, and not noticing until a year later. I can’t tell you how jubilated I am, this is the find of the century, as I thought I would never be able to make a DVD of this video, so I can show the video to friends and family on a TV instead of a poorly encoded postage stamp QuickTime video on my computer. Which, up to this point was my last remaining copy. So in celebration I’ve made a copy of the master in ogg theora, so you can view the Camp Attitude video (in ogg), here on the website.

Why I Use Linux by slaveofone

There are many good reasons out there which, had I known previously, would have compelled me pretty quickly to abandon Windows for Linux. There is, for instance, no thrill as big as downloading several dozen different types of legally free software which individually do almost if not the exact same things as their non-free counterparts whose combined price tag would number in the multiple thousands. Every time I open Synaptic, I feel like I’m going on a shopping spree… What kind of really expensive software do I want for free legally today?

But the primary reason I use Linux is actually very simple. Because I’m Libertarian. I believe there is no greater good than liberty and no greater evil than the oppression, coercion, or slavery of our own natural rights and authority. I don’t accept Nissan controlling how, where, or when I drive my car and what I can or cannot do with it. Then why in God’s name would I let Microsoft control my operating system or tell me how I can and cannot use my software? Of course, there is a price involved: you have to learn a new way of doing computing. But nobody ever said liberty costs nothing. The question is what are you more willing to pay for: liberty or slavery?

Most people do not realize that when they laid down those several hundred dollars for Windows, they were not actually purchasing the operating system for their own control and ownership, but a license which allows Microsoft to maintain ownership and, therefore, to have control, authority, and right over the person using it. Using any Microsoft product is allowing yourself to be enslaved digitally for the opportunity to use that product. Some people might be fine with that slavery and chose it for themselves. If so, great! This Libertarian stands behind your decision, whatever that happens to be. And I will stand beside you against anyone who tries to deny your right to your decision. But I cannot abide selling myself into digital slavery.

Linux is everything that digital enslavement under Microsoft is not. For a long time I neither knew I was enslaved nor knew what it meant to be free of that slavery. But now that I have digital liberty, even thinking of going back to my old Microsoft shackles is repulsive. If this liberty were the only advantage to Linux, it would be enough reason for me to leave everything else for it. There just happens to be a great many other advantages as well.

IE7 Uncle Double Class Selector Bug by Mit The Destroyer

While debugging some code on a site I work on. I discovered a new double class bug in IE7. The weird thing about it is the code that causes the double class bug to appear is not even related to it. Sample Test case:


<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”>
<head>
<title>IE7 Uncle Double Class Selector Bug</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<meta http-equiv=”Content-Style-Type” content=”text/css” />
<style type=”text/css” media=”screen”>
p {
color: red;
}
.class1.class2 p {
color: green;
}
.foo + p { }
</style>
</head>
<body>
<div class=”class1 class2″>
<p>I’m Green</p>
<p>I’m Green Too</p>
</div>
<p>I’m red</p>
</body>
</html>

I’ve set all paragraphs to default to the color red. However, due to the double class selector changing its children’s paragraphs to green, and also creating a select any element that has the class foo, whose siblings are paragraphs (doesn’t matter if you set styles or not in that selector, or if the .foo is changed to * or to an element selector that is the same element as the parent with the double class selector [e.g. * + p {}, or div + {}]) it will cause IE7 to create a symbiotic relationship between “.class1.class2 p:last-child” and “.class1.class2 + p:first-of-type”. Thus, if you set styles on “.class1.class2 + p:first-of-type” it will cause “.class1.class2 p:last-child” to get those same styles (and visa versa). Luckily there are a couple work a rounds (ordered by effectiveness).

  1. Don’t use any sibling selectors in your styles
  2. Add any type of DOM node between .class1.class2 and it’s sibling p, so long as it’s not a plain text node (e.g. you can use a comment tag or empty element node with style set to display: none;).
  3. Add an inline style declaration on the effected element that overrides the style set on the “.class1.class2 p” selector.
  4. Change the “.class3 + p” selector to be an element + p selector, so long as the element to the left of the + is not the same element type that would get selected by the double class selector. In other words with the test case above you can use any element + p combination except for div + p
  5. Change the “.foo + p” selector to ” #foo + p” selector
  6. Change the double class selector to a single class selector (e.g. change “.class1.class2 p” to “.class2 p” or “.class1 p” (this solution only works so long as you don’t have any * + p selectors).

Dead Sea Scroll Font Released! by slaveofone

My Dead Sea Scroll Unicode font is complete! In creating this font, I surveyed the Great Isaiah Scroll, Leviticus fragment MS4611, and the Paleo-Hebrew Tetragramaton in 11QPS. DSShebrew-1.0 is released under the GPL Font Exception License. Download the font for Windows, Linux/Mac, or head to the Resources section of this site.

Advertising Against Microsoft by slaveofone

Not that I’m an advocate of government stealing from me or you what we have rightfully earned in order to use it for its own brand of arbitrary ethical propaganda…

But in light of Microsoft’s absurd declaration against open source software, saying that it violates at least 235 of its intellectual property patents, I had me a thought. Since the government has felt free over the past several years to use my money to tell me how bad smoking is and that I shouldn’t do it, wouldn’t it be great if government came out with another campaign–a campaign against Microsoft? Think of the commercial possiblities… There could be billboards saying free yourself from Windows or see a Vista they won’t let you see showing a woman racing from a glass house into a field of flowers in the fresh open air, new worlds waiting to be discovered on the horizon.

Like the glass structures of the same name, Windows is enclosing. It limits your freedom by controlling and defining your actions and possibilities. Microsoft is not leading the way in faster, more efficient, more innovative, or more affordable software. Each new version is more system dependant. More resource intensive. And full of more holes and problems. Instead of following software standards meant to increase individual and public utlitiy, efficiency, and interoperability, Microsoft has created their own standards in order to create a software slave market. Microsoft does not exist to give you more power, but to increase its power over you. Most people are shocked to discover that when they laid down their hundreds of dollars for Windows, they didn’t actually purchase an operating system–only a license to use one. Microsoft still owns, controls, and authorizes your computer use–not you. And the more you try to open their Windows, the harder Microsoft will shut it in your face (Vista).

Enter Open Source. Everything that Microsoft isn’t, open source is. It’s for that reason that open source has taken the world by storm and Microsoft is trying desperately to control it–from selling cripled versions of its operating system and software for 3 dollars overseas to making empty threats of patent violation lawsuits. In time, the Tyrant will fall and the digital Middle East will be free. Until then, Microsoft is a much bigger threat to civilization than cigarettes. Of course, I’m a computer addict, not a tabacco one.

Dead Sea Scroll Font 0.5 by slaveofone

The official name for the Unicode dead sea scroll font is DSShebrew. Major glyph design is finished for all consonants and end forms (including Paleo-Hebrew Tetragrammaton). It is now ready for reassessment, adjustment, fine tuning, and package preparation. Pictured here is not only the Hebrew alphabet, but a small sample from a dead sea scroll with its script reproduced below using the DSShebrew font.

So now that IE unerstands pure XHTML… by Mit The Destroyer

The question remains can the technique I showed in Fix for IE’s lack of application/xhtml+xml mean we can now embed other XML based formats inside the XHTML, as XML promises? The answer is, absolutely!

Here is a XHTML, SVG, MathML example page, that shows MathML and SVG embedded right along side an XHTML document. To properly view the page you will need to download these MathML Fonts, and these SVG and MathML plugins if viewing in IE.

What do we need to change to make this work?

  1. Modify the doctype to the XHTML file
  2. Modify the html tag to add the additional name-spaces
  3. Add object tags to head to inform IE to use plugins to render SVG/MathML
  4. Modify the xsl:stylesheet tag to include the additional name-spaces

Example of doctype, html and head tag modifcations


<?xml version=”1.0″ encoding=”utf-8″?>
<?xml-stylesheet type=”text/xsl” href=”svgMathMlXhtml.xsl”?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN”
“http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd”[
<!ENTITY % MATHML.prefixed "INCLUDE" >
<!ENTITY % MATHML.prefix "math" >
<!ENTITY % SVG.prefixed "INCLUDE" >
<!ENTITY % SVG.prefix "svg" >
]>
<html
xmlns=”http://www.w3.org/1999/xhtml”
xmlns:svg=”http://www.w3.org/2000/svg”
xmlns:math=”http://www.w3.org/1998/Math/MathML”
xml:lang=”en”>
<head>
<title>Advanced Example</title>
<meta http-equiv=”Content-Type” content=”application/xhtml+xml; charset=UTF-8″ />
<object id=”AdobeSVG” classid=”clsid:78156a80-c6a1-4bbf-8e6a-3cd390eeb4e2″></object>
<?import namespace=”svg” implementation=”#AdobeSVG”?>
<object id=”MathPlayer” classid=”clsid:32F66A20-7614-11D4-BD11-00104BD3F987″></object>
<?import namespace=”math” implementation=”#MathPlayer”?>
</head>

Example of xsl:stylesheet modifications


<xsl:stylesheet xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”
xmlns=”http://www.w3.org/1999/xhtml”
xmlns:math=”http://www.w3.org/1998/Math/MathML”
xmlns:svg=”http://www.w3.org/2000/svg”
version=”1.0″>
<xsl:output method=”xml” encoding=”utf-8″/>
<xsl:template match=”/”>
<xsl:copy-of select=”node()”/>
</xsl:template>
</xsl:stylesheet>

Fix for IE’s lack of application/xhtml+xml by Mit The Destroyer

Have you ever tried sending a 100% strictly compliant xhtml to IE, so that IE would use It’s xml engine to render the page? If so, you know that IE borks on it and forces you to download the xhtml file. I’m here to tell you that I’ve found a work around, that is standards compliant and gets around that limitation and forces IE to use the XML rendering engine. Two steps are required for it to work:

  1. Configure web server to send xhtml files with the mime type of application/xml
  2. Then attach a XSL sheet to each xhtml file you serve to IE

Exmple File

Example xhtml code


<?xml version=”1.0″ encoding=”utf-8″?>
<?xml-stylesheet type=”text/xsl” href=”fixMe.xsl”?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en”>
<head>
<meta http-equiv=”Content-Type” content=”application/xhtml+xml; charset=UTF-8″ />
<title>Simple Example < /title>
</head>
<body>
<!– xhtml code here –>
<body>
</html>

Required fixMe.xsl code


<xsl:stylesheet xmlns:xsl=”http://www.w3.org/1999/XSL/Transform” xmlns=”http://www.w3.org/1999/xhtml” version=”1.0″>
<xsl:output method=”xml” encoding=”utf-8″/>
<xsl:template match=”/”>
<xsl:copy-of select=”node()”/>
</xsl:template>
</xsl:stylesheet>

Why does this work?

As far as IE is concerned you sent it a XML file, with an XSLT sheet applied to it. It’s XML rendering engine then applies the XSLT sheet which converts the XML page into an XHTML page. Without the XSLT sheet applied IE would have just showed us the source code to the page.

How did you ever figure this out?

I discovered this when I was developing this website, to teach myself XSLT. And knowing what I know about mime-types I figured it should work if I just changed the mime-type for XHTML from application/xhtml+xml to it’s alternate compliant mime-type of application/xml1, seeing as IE wasn’t having any issues displaying XML files sent as application/xml.

Additional Notes

Update: To see an example with SVG and MathML mixed in with the XHTML read So now that IE unerstands pure XHTML…