|By Hcpjk (Hcpjk) on Sunday, January 04, 2004 - 11:21 am: Edit|
How many of you did that? Did you make something out of the paper or write an essay on the paper? Mine sort of plays off one of the hacks from a few years ago.
|By Tout (Tout) on Sunday, January 04, 2004 - 01:09 pm: Edit|
I submitted something. Hopefully it will convey my passion for MIT.
|By Gottagetout (Gottagetout) on Sunday, January 04, 2004 - 11:28 pm: Edit|
I applied online and all I got was a text area.
I put in a "picture" of myself like you have to do when applying for things after college (med school, grad school, jobs, etc). Below is the picture:
(periods for spacers on board only)
And then I listed some specific fields of my independent studies.
|By Bigman82085 (Bigman82085) on Sunday, January 04, 2004 - 11:32 pm: Edit|
I got 250 people (out of 300) in my senior class to sign a piece of paper stating I am a strong applicant and should be admitted into the Class of '08. ;)
|By Tout (Tout) on Monday, January 05, 2004 - 12:48 am: Edit|
Haha, Bigman, so that means 16.7% of your graduating class thinks you should NOT be admitted into MIT? Well... I think you are an automatic rejection then! =)
|By Lessthan3 (Lessthan3) on Monday, January 05, 2004 - 01:12 am: Edit|
hahaha clever bigman
|By Binks (Binks) on Wednesday, January 07, 2004 - 05:20 pm: Edit|
oh my god, i think this is MIT's worst idea ever. After opening hundreds of envelops for them, i think this has gone way out of hand. Some people take it too far.
|By Bmckn (Bmckn) on Wednesday, January 07, 2004 - 10:22 pm: Edit|
Binks, what have been some of the worst?
|By Kylethekender (Kylethekender) on Saturday, January 10, 2004 - 06:27 pm: Edit|
I drew a map of Middle Earth and replaced the locations with college names such as "MIT-dor", "Caltech-han", "Harvard-or," "Mt. Harvard," (Mordor) and "Yale-gard."
Oh yeah, and Loriengineer, Hobbitechton, and Rivendology.
Then I said "I want to join the forces of good" and drew a stickfigure picture of myself, labeled it "me" and drew an arrow pointing to "MIT-dor" (Gondor).
God Lord of the Rings is awesome.
|By Dewgrl55 (Dewgrl55) on Saturday, January 10, 2004 - 07:38 pm: Edit|
Hahaha, that's so awesome. I love LOTR -- I just bought the new leather-bound editions of The Hobbit and the trilogy with some Christmas money. They're so awesome... yummy!
|By Zaqwert1234 (Zaqwert1234) on Sunday, January 11, 2004 - 11:49 am: Edit|
Posted this on another thread, but in case you didn't see it...
Submitted the front/back one.
The front was a computer program that can do any calculation regardless of length, normally 20 pages long. I put it in size-2 font and stuck a magnifying glass and the disk on there, lol. The back was an example of it calculating all of the digits of 5000 factorial (all 30000-some digits) in an attempt to search for the ASCII values of "MIT"... there were none. I suppose I could have done something more meaningful, like the square root of 3 to a few thousand places, but those are all available online.
|By Vsage3 (Vsage3) on Sunday, January 11, 2004 - 10:31 pm: Edit|
Im guessing you mean to within the number of available memory addys on your harddrive, Zaqwert . I made a similar program but the division algorithm is terrible.
|By Avatar56 (Avatar56) on Monday, January 12, 2004 - 07:59 pm: Edit|
Well, 5000! is available online.
|By Zaqwert1234 (Zaqwert1234) on Tuesday, January 13, 2004 - 11:17 pm: Edit|
It is? Ah well screw it... They'll be able to see the code with the magnifying glass or on the disk ;)
Vsage, pretty much... which is a lot... once it hits 32,768 it makes a new element in the array. Soooooooooo technically it can do 32768^32768 if you get enough memory.
|By Memememe (Memememe) on Tuesday, January 13, 2004 - 11:29 pm: Edit|
32768 looks like some outdated 16-bit stuff here. Why aren't you using 64-bit integers (unsigned long long)?
|By Zaqwert1234 (Zaqwert1234) on Wednesday, January 14, 2004 - 12:57 am: Edit|
Uhhhhhh, you mean I should use unsigned long long so that if I reach a calculation that has more digits than 32768^32768, the data type won't malfunction? ;) (Rhetorical question)
|By Memememe (Memememe) on Wednesday, January 14, 2004 - 02:05 am: Edit|
No, but it disturbs me that you're using 16-bit elements. It seems a bit outdated if that's what your compiler supports.
|By Pakitexan (Pakitexan) on Wednesday, January 14, 2004 - 10:48 am: Edit|
im impressed ... and a lil scared
|By May_1 (May_1) on Wednesday, January 14, 2004 - 05:17 pm: Edit|
umm...yeah, is there anyone out there who DOESN'T have a clue what they're saying? Are any non-CS inclined folks applying?
|By Hcpjk (Hcpjk) on Wednesday, January 14, 2004 - 07:32 pm: Edit|
I made....a papercut?
Maybe there's an artistically inclined member of the admissions committee
|By Gottagetout (Gottagetout) on Wednesday, January 14, 2004 - 09:41 pm: Edit|
May_1: Zagwert seems to have written a program that calculates arbitrary mathematical expressions. To store the resulting very large or very small numbers, he uses variables which have a maximum capacity of 32768 and he uses 32768 of these (so he can name each one with a single number from another variable of the same size). As you can probably understand, this is a huge number of available digits (many, many more digits than the number of atoms in the visible universe (~googol is being generous)). This is the source of zagwert's rhetorical question. Me^4 then questioned why zagwert didn't use a newer variable type that could hold a larger number (64 bits or binary digits (~1.8E19 is the largest number)).
|By Eccentricity (Eccentricity) on Wednesday, January 14, 2004 - 09:43 pm: Edit|
heh i hope so cuz i took a piece of paper and put my handprint on it, with lotsa paint splatters... and wrote some stuff about how i love art and how it's going to change MIT. Want to be a visual arts major at MIT!
|By Lessthan3 (Lessthan3) on Wednesday, January 14, 2004 - 10:18 pm: Edit|
haha yeah im an art person too, definitely not a super techy person. im into biology, planetary sciences, and art. computers are definitely "not my bag"
|By Memememe (Memememe) on Thursday, January 15, 2004 - 01:00 am: Edit|
Gottagetout got my point perfectly. Implementing multiplication with 64-bit elements on our newer processors of today is much faster (though a bit harder) than using 16 bits.
|By Zaqwert1234 (Zaqwert1234) on Thursday, January 15, 2004 - 09:28 pm: Edit|
Ehhh, yeah, I suppose I could change it to 64-bit just for searching for whenever I declare an int and change the data type. But I mean there's no real reason to if it just effects it length-wise. In terms of speed, however, I didn't know that it was faster. Is it? Because if it is, I might wanna do that.
|By Exit_Now (Exit_Now) on Friday, January 16, 2004 - 01:02 am: Edit|
Actually, unless you have a 64-bit processor (and an OS to take advantage of it), you'd want to go with 32-bit ints.
|By Memememe (Memememe) on Friday, January 16, 2004 - 02:08 am: Edit|
Not necessarily. In timed tests on an encryption system I developed last year, I found 64-bit big integer arithmetic about 20% or 30% faster than 32-bit big integer arithmetic. Although Pentium IV is 32-bit, the 64-bit arithmetic is probably quite optimized in software.
|By Exit_Now (Exit_Now) on Friday, January 16, 2004 - 10:40 am: Edit|
What compiler? Perhaps it was able to take advantage of SIMD extensions with your code, because otherwise I am pretty sure it will be slower (a add, adc / sub, sbb for 64-bit addition and perhaps a bandwidth hit depending). Maybe you could take a look at your assembly output?
|By Memememe (Memememe) on Friday, January 16, 2004 - 10:53 am: Edit|
Suppose you have a 64-bit number you want to represent. No matter how you do it, on a 32-bit processor, it will be represented by two 32-bit integers. Suppose you want to multiply two of these 64-bit numbers. If you represent it with two 32-bit integers explicitly, you have to implement the divide by conqeuor method (which is actually faster than the normal multiplication method) to avoid overflow. On the other hand, you can just have a single multiplication function for the 64-bit representation (even though it is internally two 32-bit numbers). And despite the fact that the divide by conqeuor is actually supposed to be faster than straight multiplication, the 64-bit was a bit faster. I used SSE2 for both 64-bit and 32-bit multiplication. Now, I think that may have helped somewhat, since SSE2 enhances arithmetic that is media-oriented (which 64-bit multiplication certainly is).
However, the point here I believe is that using 64-bits is faster than 32-bits, no matter by what means. Now, on the other hand, there is no doubt in my mind that 16-bit arithmetic is just plain silly. The 16-bits in the computer will be represented by 32-bits anyways, resulting in a waste of 16-bits (unless you use a 286, in which case I'm not going to comment). Also, your arrays will be much bigger than needed, making it slower by a large factor (maybe even 4 times slower, if you're using normal multiplication, not divide-by-conqeuor or Fast Fourier Transform).
Now, if you were to use FFT to multiply everything, it hardly matters how you represent numbers. But calculating factorials with FFT is kind of overkill, if you actually coded that yourself.
|By Gottagetout (Gottagetout) on Friday, January 16, 2004 - 04:27 pm: Edit|
Me^4, I think it is important to note that your argument is based on the chip instructions (including SSE2!). The fact is, if some operation is hard-wired into the chip -- yeah it'll always be faster than any kind of normal software operation. Zagwert's code accomplishes its task well and is quite portable. Remember, TMTOWTDI.
|By Exit_Now (Exit_Now) on Friday, January 16, 2004 - 06:49 pm: Edit|
Yes, SSE2 is certainly helping you out (as I mentioned). However, I have never seen it claimed that for normal operations on a 32-bit x86 architectures a 64-bit integer operation would be faster than a 32-bit one, and none of the tests I have carried out have ever indicated anything other than that they are slower. Which of course makes sense given the limitations of the architecture...
|By Memememe (Memememe) on Friday, January 16, 2004 - 08:55 pm: Edit|
I think I'm being misunderstood.
The operations are clearly performed on large integers, for which you can have arrays of 32-bit or arrays of 64-bit integers. If you have 64-bit integers, you can take advantage of the simpler mathematics operations hard-wired into the system. What I mean is not that 64-bits are faster than 32-bits (that's absurd) but that an operation of multiplication on one 64-bit integer is faster than operation of multiplication of two 32-bit integers in an array.
|By Zaqwert1234 (Zaqwert1234) on Sunday, January 18, 2004 - 11:30 am: Edit|
In that case I need not switch to 64-bit. You obviously misunderstood my data type. The array is not even being invoked UNLESS the maximum number of digits are being used. When the array comes in after the maximum number of digits are used, all it is doing is switching to the next array. The process will still be O(n) where n is the number of digits in either case, whether it's 32 bit or 64 bit. So unless you're trying to say that 64-bit multiplication is faster than 32-bit multiplication, it will still take the same amount of time.
Report an offensive message on this page E-mail this page to a friend
|Posting is currently disabled in this topic. Contact your discussion moderator for more information.|
|Administrator's Control Panel -- Board Moderators Only|