Archive for March, 2010
Have you ever wondered what the largest number is? At one point it was a googolplex, but unless you write a custom class to deal with really large numbers, your dev environment will never count to a googolplex.
For http://loc.is I am reworking a geohash encoding algorithm today, and I wanted to see what Javascript could handle. Strongly typed languages like Java have known upper limits, but languages like javascript are a bit more mysterious, so the only way to know is to find out. I wrote this function to test it, and I ran it in the firebug console on a random webpage ( firebug won’t work unless the DOM is ready ).
for( i = 0 ; i < 500 ; i++){
var value = Math.pow(2,i) +1;
console.log ( i + "\n" +
value + "\n" +
value.toString(2));
}
The output finally looks like this, and reveals that 2^52 is the largest number you can add 1 to and still represent it as an integer. Any larger and javascript will just use it as a float, and you will not have a sufficient number of bits to represent it. I wonder if this is the same in all browser/ os combination pairs?
I love my syntax highlighting in jEdit, and why shouldn’t I? Good Syntax Highlighting helps you catch code errors early. So about 2 years ago, I created a custom jEdit “Edit Mode” so that HTML buried in your XML CDATA tags would be Syntax Highlighted. Here is the original post on Google Groups ( http://groups.google.com/group/opensocial-api/browse_thread/thread/12e250246ab64054/343c858695e8eb12 ).
Here is the custom Edit Mode for XML->CDATA->HTML c-xml.xml
It uses a simple trick to identify the CDATA with HTML with a special CDATA tag like the one below
<![CDATA[<!--HTML-->
<html>
<!-- friendly neighborhood web page -->
</html>
]]>
The perl version is here perl-html.xml
So for the perl version i use the structure of Perl’s HEREDOCS and use the following java capable regex
<<\p{Space}*(['"])([\p{Space}\p{Alnum}]*)\1;?\s*<\!--.*HTML.*-->
Which will HTML Syntax highlight any perl HEREDOC as HTML if it has <!– HTML –> in it so the following should syntax highlight. There is however, one bug. If your HEREDOC is not well formed, meaning you have an unclosed tag css object, or javascript call, then the syntax highlighting gets stuck. Maybe I will figure out how to make this work for non well-formed HTML. any ideas?
print <<"EOT"; <!-- HTML -->
<html>
<!-- friendly neighborhood web page -->
</html>
EOT