If you’re reading this and are considering/will be going to LSMSA, you’ll soon learn that it’s your civic duty to alert others when someone is wrong. (I may be exaggerating slightly).

Anyway, if you’ve never come across Archer Quinn’s free energy project, allow me to assist you: http://www.engadget.com/tag/archerquinn

Visiting his website is almost unbearable to read – be warned if you click on any of the links from endgadget. To help protect your eyes, I’ll just be taking small clippings and explaining the fallacies therein. Indeed, a complete rebuttal is nigh impossible due to his disorganization and terribly broken English.

Conservation of Energy Myth

Science believes that work in equal work out. The siphon itself proves this false.

If the weight of the pressure of the 5 kilos/litres of water falling its own height as it lowers was only equal to gravity of the weight falling and the pressure it took to fill it I would agree that Newton was correct, but I can fill the bucket with only the pressure required to get it just over the lip of the bucket pumped from I inch below the bucket, when I siphon it out, the pressure of the falling water is equal to the lift, standard Newtonian physics, yet I can raise the siphon to a far greater height over the lip of the bucket and still get it to run. So I have more power required to raise the water higher to empty the bucket than to fill it in the first place, and this is not provided yet it still happens, against the Newtonian laws of conservation of energy.

You cannot beat that or explain it in math.

Wanna bet? ;) I’m not even going to bother trying to translate this muddled “proof” into coherent thought. He’s making some point about the energy in a siphon not being conserved, and it’s obvious it’s just because of how he defined his system. If you take a pendulum and set it in motion, the law of conservation of energy would say that it will continue indefinitely. But this is not the case for a physical pendulum, it clearly slows and stops after a time. Aha! Energy was not conserved! Newton was wrong!

Or we simply defined our system so that we ignore the energy that went elsewhere (such as friction). Defining a system consisting only of a pendulum would make it seem that energy is not conserved, if it existed physically. If you pour water in a “kitchen sink system”, the water goes down the drain and energy is not conserved in this narrow view of the system. Of course, the water went somewhere, you just excluded the place where it went in your model of the system. If you can’t recognize the difference between a theoretical model and a physical incarnation of that model, you probably aren’t ready to tout the solution to the energy crisis.

Luckily for us, we’re provided with a handy example to aid us in understanding these new phyiscs concepts. I spent a few minutest trying to read this. It is utterly incomprehensible to me. If someone can explain what “You see whilst a suspended fulcrum still has all it weight in the same place, it can move way before a beam trying to go over the top.” means, I think I could make some more headway.

I think I’ve gained further insight into his amazing brilliance by reading his “Truth” page, which I recommend avoiding. On this page he states, “The math for vertical lift and fall is false as being equal.” Heehee. Anyway, the rest goes like this:

Is this scientifically true, yes, This is seen where two equal weights are placed on a fulcrum or wheel (try it at home with your push bike upside down), the first one sitting at 7 o’clock and the second one placed on at one o’clock and let fall, not pushed!!!, the second weight will always go past the point of balance because of momentum, it will eventually rock until it balances, but it will never slowly fall until it becomes level. If there was only M G math it would fall until both balanced, but it has enough to lift the opposing weight past the centre of the wheel and balance point. Now surely the weight of gravity acting upon the 7 o’clock weight should have as much power as that on the right ? But it does not And momentum from fall has always been the true source of free energy.

Is this scientifically true? No. I can assume that “mg math” means Newtonian Classical mechanics, and what he is saying is nothing new. A weight at 1 o’clock and 7 o’clock do not oppose each other until one is on each side of the center of the wheel, so it makes sense that the second weight would go past the center line. None of this is physically surprising. As for equal/unequal power…he didn’t back it up at all! And he mentions nothing of torque and angular momentum (for those unfamiliar, Power = Torque * Angular Momentum). Power depends on torque, torque = rxF, and with r and F the same the only difference would be the sin(theta) introduced in the cross product, which of course is different because of their different positions (remember this is the angle between r, a radius to the point of applied force, and F, which in this case is mg). No equal power for us! In no way is this unpredicted by Newtonian mechanics.

I’m running out of time now, so I’m going to do something lame. Can YOU figure out what’s wrong with the rest of his arguments on his page? I leave you with this link: http://www.surphzup.com/index.html.

What about good physics? Well, check out this abstract I just found. Does antimatter fall up or down?

Meine hässliche Schwester hat mir deines Orangensaft nicht gegeben!

My ugly sister hasn’t given me your orange juice! (Google: My ugly sister gave me your orange juice is not!)

Well I naively forgot that 0’s exist in decimal digits when writing my last incarnation of the char* constructor, so this morning I wrote a new one entirely. Yesterday I had tried to just tack things on to it to check for 0’s and make changes…but there was still one problem with it and in order to fix it would’ve required unpleasant code; the function would’ve probably been made almost completely unreadable. Unintentional obfuscation ;)

The new function has two more loops, which worries me for performance reasons, but it’s a constructor, after all, and it shouldn’t be called inside of another loop, so I should be fine. This code is pretty straightforward, I named things pretty well so most of what’s happening should be generally obvious.


ipfloat::ipfloat(char* ch)
{
int len = strlen(ch);
int i = 0, j = 0;               //i keeps place in ch, j keeps place in man
sign = (ch[0]=='-')?'-':'+';    //assign the sign :P
int startZeros = 0, trailZeros = 0, manLen, decPos, decOffset;
while(ch[i]!='' && ch[i]!='.')
i++;
decPos = i;
i=0;
while(ch[i]=='0' || ch[i]=='.')
{
startZeros++;  //this now contains 1 more than sz if theres a dec
i++;
}
i=0;
while(ch[len-1-i]=='0')
{
trailZeros++;
i++;
}
manLen = len - startZeros - trailZeros - 1;
man = (char*)malloc(sizeof(char)*(manLen+1));
for(i=startZeros; i<(startZeros+manLen+1); i++, j++)
{
if(ch[i]!='.')
man[j] = ch[i];
else
j--;
}
man[j] = '';
decOffset = (startZeros>=decPos)?0:1;
exp = decPos - startZeros - decOffset;
}

This is only 6 lines more than my old one, and a good 12 lines less than the bloated one I was trying to modify. Although floats in general didn’t break my += operator, floats with leading zeros or large fractional parts do, so I have to fix that. Should be fairly easy, since it’s just identifying what needs to change in loop bounds.

In other news, I stopped by LSMSA last night to visit. I kind of miss summer school…it would be cool to meet all the new Juniors, but I suppose I can still do that. Also, I’m going running with some guys over there at 9 tonight; I’m out of shape.

Also, for coffee drinkers: http://itcinterhome.com/mokka-not-mocha/

It’s amazing, I promise. (I’m drinking it right now.)

Springen Sie nicht über der Integralrechnung, es ist sehr schmutzig.

Do not jump over the integral calculus, it is very dirty. (Google: Goto you do not have the integral calculus, it is very dirty.)

Incidentally, it seems there’s no word just for “Calculus”, you must specify either differential or integral (Differential is Differentialrechnung). Intuitively, die Rechnung would be Calculus, but alas, it means invoice. As for Google’s weird “Goto”, I can only assume that there’s a seperable verb überspringen that means “goto”. (Nope – just checked. überspringen means “skip”, and Google is weird.)

I just finished my char* constructor, the most important one! All that’s left are double and float, but they’re just a convenience anyway, now that I have a char* constructor. They can wait. I should mention that this really wasn’t very difficult or complicated, just terribly handy. For your pleasure:

ipfloat::ipfloat(char* ch){
int i = 0, expstop, len;
len = strlen(ch);
if(ch[0] == '-')
{
sign = '-';
len -= 1; //allocate less space
i++;      //skip negative sign
}
man = (char*)malloc(sizeof(char)*len);
while(ch[i]!='.')
{
man[i] = ch[i];
i++;
}
expstop = i;
while(ch[i]!='')
{
man[i] = ch[i+1];
i++;
}
exp = expstop - 1;
}

To celebrate, I uploaded an avatar! You’ll note that a friend of mine, Steven, is rubbing my hair. This may seem strange to you, but I have very soft hair, and everyone rubs it at some point. It’s as inevitable as something that is analogously inevitable.

I thought I’d take this chance to outline my ipfloat class. I had to make a lot of tough decisions along the way, and I’m not entirely sure that I chose the best way to set up my class – but I can’t really know ahead of time what the performance will be (unfortunately).

To start with, numbers are stored in the computer as binary. They consist of a certain number of bytes, which is determined by different things like processor, operating system, and compiler. Each byte is 8 bits, which is a 0 or 1 (although, depending on the system, these can be different. Some might be 9 bits, 8 data bits and a carry bit, or 7 data bits and a carry bit – it all depends. Negatives are stored differently sometimes, too). Not all numbers can be represented exactly in binary, however, just like not all numbers can be represented as decimals (.333…). For this reason I chose to store my mantissa in decimal, and I don’t know the consequences of that yet, good or bad.

Floating point numbers are stored in parts – sign, mantissa, and exponent. Think of a floating point number in terms of scientific notation: -2.3×10^-6. In this example, the sign is ‘-’, the mantissa is 23, and the exponent is -6. For this reason, if you were to look at the code in ipfloat, some things appear strange or contradictory to what I am trying to accomplish in a function, but if you remember how everything is stored it should be fairly clear.

My addition algorithm has an asymptotic complexity of O(N). For a better explanation of what this means I would check Wiki, but broadly this gives a representation of how long the computation takes. Think of the worst case scenario in a basic search function – where the Nth term is the one you’re looking for. I use a schoolboy approach, but it may not be implemented obviously. I think I’ll need to comment it thoroughly so as not to forget myself…

Ah! I’ve just remembered that my += function does not loop. I should go fix that now. After that it’s on to multiplication! Expect a post soon of Fast Fouriers.

Der Kaffee habe ich gerade getrunken.

I have just drunk the coffee. (Google: The coffee, I have just drunk.)

First off, some praise for LSMSA, especially Mr. Jamil. I was in Barnes and Noble and while browsing the Science section, I spotted “Advanced Calculus.” It was one of those cliff-notes style, sum up the whole topic in 100 pages type things, so I picked it up and flipped through it. I knew it! It was very exciting. I skimmed the pages, and glanced through topics concerning gradients and vector operations and multiple integrals and Green’s and Stoke’s Theorem…It just makes you feel like 4 semesters of calculus was worth it. I should admit that at the end it mentioned a “Gauss’s Theorem” which I hadn’t learned…but that’s what Wiki is for, right?

I was going to talk about FFT’s and Infinite Precision here…but I choose sleep instead. And remember, I end with German…

Warum hat dein dickes Auto meine Katze gefressen?

Why has your fat car eaten my cat? (Google: Why did your big car my cat eaten? )

I started my new job today, at the National Center for Preservation Technology and Training – NCPTT. I’m helping migrate their whole website to WordPress, reformatting old content, prepping release content, and integrating with social media networks. Today I uploaded and tagged about 20 videos to Viddler, which is a service like Youtube but they allow higher quality videos and they can be much longer. I also tagged a fair number of flickr photos on ncptt’s flickr album so that they can be easily found (or, rather, found by accident).

Later on I think I’ll be doing a lot of converting of pdf’s to html, which promises to be tedius. Not much of my job isn’t tedious, but I still kind of like having something to do. LSMSA keeps you so busy all the time that summer almost feels horrible – a huge vat of empty, stress-free time. Nice at first, yes, but after a while it feels irresponsible to not be doing anything.

$0.50 an hour? Well, in a way. It’s actually volunteer work, but they reimburse my lunches ;)

Still working on my distinction. I’ve been prematurely researching Fast Fourier Transforms for my multiplication algorithm…I still have a bit of addition work to do. Well, frankly, I have to write a constructor for my ipfloat class that takes a char* array. That way I can say ipfloat var(“123.31231231234151″) and it’ll construct a nice ipfloat for me. I’ll make a post later about the details of my class.

In any case, FFT’s are really cool. I also skimmed a few articles on Discrete Fourier Transforms, the Fourier Operator, and Fourier Expansions. Fourier expansions seemed especially interesting, and from my skim they look to be the periodic-function-based equivalents to a Taylor expansion…

I think I shall need to write a very long math/computer science post soon.

Also, to keep up my German over the summer, I decided to end each post with a sentence that I make up. For fun, I’ll translate it and compare it to Google’s translation. Here goes:

Wer hat meinen schwarzen Hund genommen?

Who has taken my black dog? (Google: Who has my black dog?)

ipfloat &ipfloat::operator +=(const ipfloat &ip){
int carry = 0, i, j, c;
ipfloat temp;
temp = *this;
int expoffset = abs(exp – ip.getExp());
int len = strlen(man);
if(exp<ip.getExp())
{
free(man);
man = (char*)malloc(sizeof(char)*(len+expoffset));
for(c=0; c<expoffset; c++)
man[c] = ‘0′;
exp+=c;
man[c] = ”;
man = strcat(man, temp.getMan());
i = strlen(ip.getMan()) – 1;
j = i;
}
else
{
i = strlen(man) – 1;
j = i-expoffset;
}
for(; i>=0 && j>=0; i–, j–)
{
man[i] = (char)((((int)(man[i] + ip.getMan()[j] – 2*’0′)) + carry)%10) + ‘0′;
carry = (temp.getMan()[i] + ip.getMan()[j] – 2*’0′ + carry >9)?1:0;
}
return *this;
}

Ahh! Code! This is what I’ve been working on the past couple of days. It’s my += operator overload for my arbitrary-precision floating point library. Why did it take so long? Well, I had a malloc problem elsewhere, and malloc problems pop up in weird places, not where the problem actually exists.

In any case, this works for almost everything…There’s still a problem with adding two numbers when the first number has more digits in the exponent, which is what I’m trying to fix. Hopefully I’ll finish the operations before Monday.

Update: Works for all addition! Hoorah!

What does this have to do with lsmsa? Well, it’s my distinction project, it should count for something.

I can’t go to summer school. A lot of people do, and I did last year, but I’m not going to go this year. LSMSA is great, but they only offer so many classes. The only two I could take would be Latin or Shakespeare. Latin would be awesome, but I don’t have room to take Latin II my senior year, so I don’t want to do that, and Shakespeare…eh. Just isn’t very appealing.

What am I doing this summer, you ask? Well, I’m writing this blog, for one. It almost seems silly, writing a blog about Louisiana School without being there, but I will be going back next year…

I’m also working on a distinction project. This is LSMSA’s equivalent to a thesis, really. You choose a topic, research it, compile a presentation (for the whole school), write a paper, the whole shabang. My project doesn’t yet have a title, but it’s generally about Chaos Theory. My main goals:

- Create a program to replace the outdated Mac software for the investigation of chaos (this includes function iteration, graphical iteration, orbit diagrams, the Julia Set, and the Mandelbrot set). I’ll also be enhancing it with Lyapunov exponent stuff, attractors (like the Lorenz), and the Buddhabrot.

- Create an arbitrary-precision floating point library for deep-zoom images of the mandelbrot set. Be able to zoom at least to e-100.

- Create facilities for viewing 3-dimensional/quaternion chaos. (I’ll be using opengl for this bit)

What have I done so far? Well, I’ve got a Mandelbrot set that zooms, a Logistic map that zooms, and the beginnings of an arbitrary-precision library. I hope to finish the library within the week, and then everything else (aside from the quaternion stuff) should be fairly straightforward.

I know that’s really technical, and if you’re reading this blog you probably don’t understand much of it. But I’m really excited about it, and I’m making some good progress. If you finish your project and present it, you graduate “with distinction” which is one of the highest honors at LSMSA.

In addition to this work, I’ll be working at NCPTT as a volunteer for about 20 or so hours a week this summer, starting next Monday. I’ll keep you updated on that, because it _is_ relevant to lsmsa. (You just may not understand why yet)

Peace!

Welcome! You’ve finally made it!

I’m a student at LSMSA – that’s Louisiana School for Math, Science, and the Arts, and this is my blog.

I took it upon myself to blog of my experiences at Louisiana School, so that anyone interested in coming can find out what it’s really like. I’m not going to waste time with a big “about me” spiel, you can just figure it out as you go. Guten Tag!