Friday, August 6, 2010

INTENSE


 comments.
Importing your old comments is very easy. Simply go to your Intense Debate dashboard and click on "Overview" for the blog whose comments you wish to import.
Next click on the "Blog Tools", then on the "Import Comments" link in the left hand column.
On this page, you will be prompted to log in to your Blogger account, which will allow Intense Debate to access the API for importing your comments. Once logged in, you will be able to choose which blog you wish to import from and to (be sure to import/export comments from the same blog, otherwise Intense Debate will not be able to allocate them to the correct posts!).
When you choose to import these comments from Blogger, the existing comments will not be deleted! If you decide to uninstall Intense Debate for any reason, you can export all your Intense Debate comments to an XML file, a

ASS IM TOADS

To fully understand the nature of horizontal asymptotes, one must first explore vertical

asymptotes. Asymptotes are when the graph of a function approaches a certain number but never

reaches it. A complex rational expression is essentially a fraction, and a fraction is essentially division.

The nature of division is that dividing a certain constant by a large number returns a progressively

smaller value, whereas dividing the constant by a small number returns a progressively larger value.

However, in division, at no point does the return value equate zero or infinity. The domain of a

complex rational expression with a variable on the denominator and a constant on the numerator is all

numbers except infinity and zero. Because infinity is not considered to be part of the set of all real

numbers, the only exception that remains is zero. This means the asymptote lies when the complex

rational expression is a divide by zero, which happens when the denominator is set to zero. This makes

solving for the vertical asymptote as conceptually elegantly solving for the zeros of the denominator by

any means, be it simple algebra, or quadratics.

amphibians

  1. asdfasdfasdf

kode

Name Description
Ajax Animator Web-based Flash alternative used by some school's curricula
Wikify A system of commentary and parody for web pages
Gaem/[Untitled] A realtime web based MMORPG
Shinytouch Touchscreen retrofitting system using reflectivity of the surface and a side-mounted camera
SnowCMS PHP/MySQL Content Management System
vXJS An extremely lightweight Javascript library
svg-edit
OnlyPaths A vector graphics editor for SVG and VML
VectorEditor Raphael based vector graphics editor
Flashcard application designed for 8th grade
μwave Third party Google Wave client
Mirrortouch Visible-spectrum Touchscreen system using a set of mirrors
Distributed PI Distributed computing in Javascript for calculating Pi
Gaecomic Google App Engine Comic Management system made for friend's webcomic
Omegle Bot A basic chat robot
Spamtection Experimental spam detection engine using many novel criteria
waveclient A Python implementation of the Google Wave client-server protocol
eLiteJS A small, mostly API-compatible clone of jQuery
pywavereader Reverse engineering of the Google Wave Client/Server protocol documentation and prototype
Word Association Net Raphael based mind mapping software for visualizing connections between words and concepts
Stick2 A stick figure animation program
Forkswif A minimialistic desktop Flash IDE in C#/VB.net
Freemovie/JS Javascript port of the Freemovie/PHP Flash compiler
js-compiler A JavaScript compiler that inserts callbacks to make code asynchronous
Rash QMS Ajax Patch Ajax up/down voting patch for Rash QMS
Distributed Hash Cracking Distributed MD5 Cryptographic hash brute force
Mental Interpreter A script that converts a brainfsck application into addition problems solved by humans to run the application
xdomain Functions to facilitate cross domain communication
tpl-engine A simple string templating engine
Subleq2 OISC VM, Assembler and Compiler
xdb-js A tiny javascript database
pmxhr XMLHttpRequest API using postMessage
vx-comet Lightweight implementation of the Bayeux Comet Protocol
rsvgshim SVG shim inspired by svgweb project to add svg support to IE using Raphael
pytrackerchecker Python application that handles TrackerChecker2 format files
pywikireader A simple python offline Wikipedia/Mediawiki dump reader
BigInt A small BigInteger library
Antivirus Searches Google for system file names to find viruses
Secure Chat Simple Comet based chat using AES256 and SHA256 encryption
Ascii Sine Animated sine function in ascii
autopatchmod Application modification and patch distribution system based on automated unidiff style patches
docxparser VB.net script that parses text from Word 2007 .docx files
js-boomshine A clone of the flash game Boomshine to SVG/VML
OnlyPaths + Raphael Precursor to VectorEditor
smfbot Python script which reads forum RSS feeds to automatically respond to target queries
substitution-breaker A set of tools to decrypt messages encoded with a substitution cipher
superawesome Virtual SSL over HTTP without Certificate Authorities using client side RSA
Twitter-Jetpack Firefox extension for notifying of new Twitter trends
Datastore Service Public data storage service on Google App Engine in Python
SHA256 SHA256 Cryptographic Hashing implemented in 1KB
SHA1 SHA1 Cryptographic Hash algorithm in 1KB
Clickjacking Experimental clickjacking security vulnerability testing
jsip A VNC-type remote desktop server and client
Secret Message Firefox extension which decrypts secret messages that can be hidden on websites
sleepcomm Transfer small amounts of data through loading latency;
snailpoop A scripting language
wavepause Pause google wave search streams
P2P Simulator Simulates a peer to peer environment and how it responds to peer segmentation
Color Range Plotter Program used to collect data for Science Fair 2010
Wave State Simulator Simulate the Google Wave gadget API
wave2 A high level abstraction of the Google Wave gadget state API
Stop Motion Animator VB.net tool for creating stop-motion videos
Wave Reader A implementation of the Google Wave JSON Conversation model
IE Getters and Setters Adding getter and setter support to legacy browsers by decompiling scripts, modifying and then recompiling
Wave Unread Navigator Chrome/Firefox extension for aiding the navigation of large waves by adding gmail-type navigation arrows
CSS3 Sideways Google Rotating websites using HTML5 and CSS3
XPath Bookmarklet Link to random sections of websites using XPath selectors
GIFEncoder Port of PHP GIFEncoder to HTML5

elitistland

Hello World blah blah ablasdhfas ldfjksadflk;jsadflkjasdlkfjasd;lfkjsaldkf jaslkdfj aslkdfj asdlfkjas dflkjas dflkasjdf slakdjf saldkfjsadf



fasinating isnt it because i can do stuff like this and do stuff because stuff is stuffy and blah blah blahb lashdf meeop moop peeem pee meep moop doop hoob doop loop kioop foob loop hoob doob loob hoob moob aooa cooc dooc eooe foof goog hooh iooi jooj kook lool moom noon oooo poop qooq roor soos toot uoou voov woow xoox yooy zooz


Faskinating.

pie


var t;
for (var i = 0; i < vmax; i++){
av = av * a;
}
for (var k = 1; k <= N; k++) {
t = k;
if (kq >= a) {
do {
t = t / a;
v--;
} while ((t % a) == 0);
kq = 0;
}
kq++;
num = mul_mod(num, t, av);
t = 2 * k - 1;
if (kq2 >= a) {
if (kq2 == a) {
do {
t = t / a;
v++;
} while ((t % a) == 0);
}
kq2 -= a;
}
den = mul_mod(den, t, av);
kq2 += 2;
if (v > 0) {
t = inv_mod(den, av);
t = mul_mod(t, num, av);
t = mul_mod(t, k, av);
for (var i = v; i < vmax; i++){
t = mul_mod(t, a, av);
}
s += t;
if (s >= av){
s -= av;
}
}
}
t = pow_mod(10, n - 1, av);
s = mul_mod(s, t, av);

html2xml

While this library doesn't cover the full gamut of possible weirdness that HTML provides, it does handle a lot of the most obvious stuff. All of the following are accounted for:
  • Unclosed Tags:
    HTMLtoXML("Hello") == '
    Hello
    '
  • Empty Elements:
    HTMLtoXML("") == ''
  • Block vs. Inline Elements:
    HTMLtoXML("Hello John") == 'Hello 
    John
    '
  • Self-closing Elements:
    HTMLtoXML("Hello
    World") == '
    Hello
    World
    '
  • Attributes Without Values:
    HTMLtoXML("") == ''
Note: It does not take into account where in the document an element should exist. Right now you can put block elements in a head or th inside a p and it'll happily accept them. It's not entirely clear how the logic should work for those, but it's something that I'm open to exploring.

moo wave


During late October of last year, I reverse-engineered some of the features of the Google Wave client. Up until then, the only published specs were the federation protocols, which dealt with how multiple wave servers would use a common protocol to allow multiple users without a central authority and for the gadget and robot apis. Notably missing was a client/server api, for a user of specifically the google wave client, which did not yet support federation (and to date, preview still does not), and to browse/view the waves in one’s inbox without needing to switch to an entirely new provider. The first component was the ability to read waves. After that was accomplished, I tried to reverse engineer a more complex aspect of the protocol, which was the ability to search waves. I eventually realized that that component, search was part of a larger puzzle, which was the real-time BrowserChannel wire protocol which virtually all of wave was based. I made some progress, but near the end, I gave up in frustration. Luckily, someone else became interested in the same thing, and Silicon Dragon basically got search working.

dom indexer


There’s lots of compression systems for JS out there. There’s the really smart JS rewriter magical rhino-based ones like Closure and YUI. There’s the string-based ones, packer base62, huffman, and lz77. But of the latter category, they all rely on a sort of dictionary coder, where the dictionary (or huffman tree) needs to be sent alongside the compressed content.

gif


I’ve tried this before but it didn’t work. can’t do toDataURL(‘image/gif’), and the primitive GLIF library couldn’t do much so I never had the opportunity to test my gif-merging code that I had. But I’m at it again, this time, porting it from the AS3GIF library, an awesomely comprehensive bitmap to binary gif encoder that even supports LZW compression (and the patent has luckily expired. Yay!). AS3Gif is supposed to “play and encode animated GIFs”, but since web pages can usually natively play GIFs fine, it’s only a port of the GIFEncoder portions of the library. And it works really well. The rest of this post is copied from theGithub readme. Interesting how the w2_embed/anonybot embed post was a blog post turned into readme, this is a readme turned into blogpost. I’ll start with a link to the Github repo anyway:

OOH SHINY


I have yet to give up entirely on ShinyTouch, my experiment into creating a touch screen input system which requires virtually no setup. For people who haven’t read my posts from last year, it works because magically things look shinier when you look at it from an angle. And so if you mount a camera at an angle (It doesn’t need to be as extreme as the screenshot above), you end up seeing a reflection on the surface of the screen (this could be aided by a transparent layer of acrylic or by having a glossy display, but as you can see, mine are matte, but they still work). The other pretty obvious idea of ShinyTouch, is that on a reflective surface, especially observed from a non-direct angle, you can see that the distance from the reflection (I guess my eighth grade science teacher would say the “virtual image”) to the apparent finger, or “real image” is twice the distance from either to the surface of the display. In other words, the reflection gets closer to you when you get closer to the mirror. A webcam usually gives a two-dimensional bitmap of data (and one non-spatial dimension of time). This gives (after a perspective transform) the X and Y positions of the finger. But an important aspect of a touchscreen and what this technology is also capable of, a “zero-touch screen”, is a Z axis: the distance of the finger and the screen. A touchscreen has a binary Z-axis: touch or no touch. Since you can measure the distance between the apparent real finger and it’s reflection, you can get the Z-axis. That’s how ShinyTouch works.

Fluids


It’s always bothered me how some web sites have these fixed-width layouts, sometimes with insanely thin boxes allocated to content. The vast majority of my screen becomes this orange blob of text. Chrome’s visual appearance motto is “Content not chrome”. That doesn’t help if the content is being obscured by the presentation of the content (gopher might have solved that problem). Less chrome just means my eyes start to drown in +/- 1,732,405 pixels of orange. Even outside the extreme case, having a fixed-width layout isn’t efficient, and using something like Readability to only show the content removes the personality of the site or author, and only works on articles.

Lindemann–Weierstrass theorem

In mathematics, the Lindemann–Weierstrass theorem is a result that is very useful in establishing the transcendence of numbers. It states that if α1, ..., αn are algebraic numberswhich are linearly independent over the rational numbers Q, then eα1, ..., eαn are algebraically independent over Q; in other words the extension field Q(eα1, ..., eαn) has transcendence degree n over Q.

Transcendence of e and π


The transcendence of e and π are direct corollaries of this theorem.
Suppose α is a nonzero algebraic number; then {α} is a linearly independent set over the rationals, and therefore by the first formulation of the theorem {eα} is an algebraically independent set; or in other words eα is transcendental. In particular, e1 = e is transcendental. (A more elementary proof that e is transcendental is outlined in the article on transcendental numbers.)
Alternatively, using the second formulation of the theorem, we can argue that if α is a nonzero algebraic number, then {0, α} is a set of distinct algebraic numbers, and so the set {e0eα} = {1, eα} is linearly independent over the algebraic numbers and in particular eα cannot be algebraic and so it is transcendental.

testing


  • The algorithm described above has an O(n2) duration. So 10 times as many decimal places will take about 100 times as long. My 7,000 MIPs PC took about 15 hours to calculate the first 1,000,000 decimal places of pi. That works out at about 380 million million instructions in total.
  • To get 1,000,000 decimal places, each multi-length number is implemented as an array of 166685 integers, using a base of 1,000,000 so that each integer gives us 6 significant digits. This actually gives us 1,000,104 decimal places, but the last few might be incorrect because of the infinite number of terms of the Maclaurin series that we have to throw away. Comparison with this shows that the last three decimal places are wrong, so we have actually got pi correct to 1,000,101 decimal places.
  • The first 1,000,000 decimal places of pi were first calculated in 1973.
  • The 19th century English mathematician William Shanks spent over 15 years calculating the first 707 places of pi using Machin's formula. He published his results in 1873. In 1944 it was found that he had made a mistake in the 528th place, and all the following digits were wrong. By changing to #define NDecimalPlaces (1000), you can now achieve in a fraction of a second more than William Shanks failed to achieve in 15 years.