You are missing the point! This is not about protecting dumb investors. This is about protecting the quality of Linux. If Linuxone goes IPO, they will thrash the quality Linux has, better to be safe than to be sorry. The word Linux stands for all things good, we don't want it to mean evil tomorrow.
This has me very very pissed off. I am boycotting all companies involved. I am going to "spam" them with letters. Note, not email. Handwritten! emails are rarely read. When you hand write mail, put it in an envelope, stamp it and post it. It takes effort. I am going to mail as much people as I can, the companies involved, law makers and what not. Surely, one person alone cannot make an impact, but if everyone can freaking speak with ACTIONS instead of typing away here. Maybe, something will happen. If nothing happens, at least it will be nice for them to know that they have a few thousand angry people at them. GAwd, If only I could be God for an hour.
It depends, if I give you a function f(x), where the function f will give you the xth prime number, should such a thing be patentable? it depends! I really can't really say yes or no to this question, In mathematics, the truth exists regardless of if someone discovers it or not, thus mathematics should not be patentable, but the interesting thing to note here, is that this guy is not patenting mathematics, he is patenting the optimization process he used, substituting shifts for multiplications and such. But again, this is common logic! my compiler automagically does such optimization as needed. When I need to write tight C code, I optimize using shift. So, I don't see anything astonishing in what this guy did, he applied optimization method to an area of mathematics that he didn't discover. I agree with you, we cannot afford to put an barriers in mathematics or even optimization process, as that is still mathematics. I think that anything that is obvious from mere description should not receive patent, if (a) is a thing/method, and you give an abstract view of it, and someone else can recreate (a) from scratch then (a) is not really worthy of patent. Now if after the abstract view, and it defies imagination, then (a) is really worth patenting. Now who is to judge? certainly not me, I am just a coder, I live coding and mathematics, I hate politics.
Everyone is making fun of this and that, but does anyone know of the solution? I have warned my younger sister numerous times about installing any trial software especially AOL. But her big boned head never absorbed that.... and your guess is correct, she installed AOL 5.0, and the families computer is now screwed, and umm as the computer addict, they are expecting me to fix it, cuz heh, they are realizing just how addicted err useful the net is too. I don't use windows, never did, strictly Unix from day 1, so I really have no idea what to do. I have uninstalled the software and stuff, but it still doesn't help. I am currently searching for solutions, so that these people I call family will leave me alone, so that I can crank more code.
I can just see C.Y typing away over this article. I am aware that some female play games, but as far as I am concerned the game industry has never been for female and there are no female audience, the games like barbie crap have been for female, and big flops. general, I think women can enjoy games like 7th guest, sim city and such, but these games are not designed for female audience. If I was in the game industry, I will not be designing for female audience, cuz there is none. females have better things to do than to play games. gee
Get fucking real homer, who the hell is to say what is legal and not? I guess if tomorrow we make encryption illegal, that you will agree? Kevin was not arrested yesterday, when he was arrested the security business has not boomed. If he hasn't been arrested, I can bet he will probably be doing security work. I have sympathy for him, because he has a problem he can't control, he is a freaking addict, gee. I am an IRC addict, and addiction is not an easy thing to break off. I don't see him as a "criminal", he never tried to make profit from what he got. Kevin was doing the opensource thingy in another way to put it. He was interested in getting source codes, source codes!!! basically closed software drove him insane, like it will drive any normal hacker. He didn't sell them or spread them. Poor guy, I think he should get into electronics and mathematics for now. Once his 3 year computer crap ends, then he could easily transfer those skills to computer.
Oh shut up! For crying out loud, sure he is a cracker, but don't call him pretty poor. In early 1990's, before your lame ass probably started running Linux, Kevin had access to SunOS, VMS, Cell phone source code. Kevin might not be a great cracker, but he was definitely not a loser, and his social engineering skills is astonishing. The attack that was carried out on Tsutomu's box was sophiscated, IP spoofing tho written by RTM in 1985 was a black art till a few years ago, sure we doubt kevin even did that, but he had the hook up. Anyway, all crime aside, the important thing here is about the crime that has also been commited against this guy. For example, sun claimed it lost millions in dollars on its source, but kevin never released the src, and sun source is open today. 4 years without trial is pretty fucking unfair. We all fuck up one time or the other in our life, but that doesn't make us bad. I don't side with crackers, but you should got kevin some slack, he has been doing this since he was a kid, he is addicted. At least he wasn't doing it for money.
GIVE XEROX A DAMN BREAK!!!!! do you here me? these guys had the smartest mind in the industry, in 1973, they had a workstation with GUI, an object oriented OS, a mouse, a very sophisicated OS, ethernet!!!, they could network 256 of their Xerox Altos in with a 1mile radius, they had email. JESUS, did you see this in 1973!!!
http://www.spies.com/~aek/alto/index.html Go here to read more about the alto, it has the user manual for the OS, and many things that will impress you. Oh yeah, these guys developed smalltalk too, small what? duh, a programming language. they had a WYSIWYG text editor then, electronic mail, they had file servers, hell yes, the concept of NFS mount didn't begin with Unix! Hell, they had a boot server too, diskless workstation didn't begin with Unix as well!!! The guys at Xerox were 20 years ahead of their time. If someone throws in a theory that they got their technology from aliens from mars, I will freaking agree. Give these guys a freaking break, every thing has been stolen from them, and they have not received any credits. Sure, sure, some of you geeks are well aware, but go ask your daddy or mommy, and they will think microsoft created the computer world. When I think of Xerox, i cry, I wish it was such minds that really brought computers to the world we live in today.... give them a freaking gawd darn break!
GIVE XEROX A DAMN BREAK!!!!! do you here me? these guys had the smartest mind in the industry, in 1973, they had a workstation with GUI, an object oriented OS, a mouse, a very sophisicated OS, ethernet!!!, they could network 256 of their Xerox Altos in with a 1mile radius, they had email. JESUS, did you see this in 1973!!!
I agree with you. The mhz-race is only amusing. I know all these people buying the latest processors, upgrading every 3 months. They now have a whatever500mhz system, with 512 mb. So what?:-) It is not the speed of the systems that matters, it is what you do with it. I still have on my network a sun 3/80 20mhz, 12mb ram workstation, doing neat stuff. As a matter of fact, I think the mhz race is setting us back. What happens when cpu speed gets faster and ram gets cheaper? people write very horrible code, which uses 10x more ram that it should, and runs 20x slower than it should. It is very very sad, but we are actually walking back instead of forward with these. Has anyone ever seen a 3D engine running at full speed on a 386? I have, I am not talking wireframe, I am talking about shaded, and textured. If the cpu race was very slow, and we still were stuck on P100. Are you telling me, we will be behind? no way, we will be ahead, cuz when people realize that no faster cpu is coming soon, they start thinking of clever ways to do things, new better and improved algorithms are designed. Good programming pratice and what not is adopted. Ah well, tis sad,tis sad.
As I read through the comments, I begin to release how much slashdot has evolved. I use to see it as being owned by CmdrTaco and Hemos, but from the comments, I can sure tell, it is owned by us.:) they own the source, the servers. But we are slashdot. We own it. A lot of people seem very angry because the code has't been posted, and angry with various other things. I hope the slashdot crew realizes that slashdot is no longer there, but ours. That here opinion doesn't count any more, but ours. That they get paid to do it. Therefore, to keep as many people as happy possible, they should do what people want the most, so if 70% of slashdot wants AC gone, no matter its advantage, AC has to go. This is no longer a hobby for you guys, it is business. I am sure you definitely don't want to be hearing tomorrow, "Boycott Slashdot!". Good luck.
I have a hand held scanner not modified. I use it mostly to listen to hams on the 20m band. But at times i pick up interest conversations from who knows where, that should probably be private. Now, I am in risk of being arrested?!?! If the government can arrest people who make devices to bug people, why don't they arrest the people who make gun. (hi ESR, just giving an example.:-D).
Blessed are the hackers, for tomorrow is theres. If this is implemented, rest assured it can be removed. rest assured it can also be hacked, which will make for an interesting fun, I can now race that guy's porsche with my pinto, I just have to slow him down to 60.:-)
I find tech stories fun, it is not the users that I laugh out. It is the incident that I laugh at. In some rare cases, I laugh at the users when they are really dumb, but that is quite rare. I know a guy who printed a.out to get output of his program. It was pretty funny, the event. I laughed but proceeded to help him, I didn't belittle him. How about another guy who wacked/dev/ cuz he was out of space and/dev/ with all those files must be taking up all the space? I laughed at the incident again, but proceeded to help him. I think the important thing here is not if we laugh or not, it is what we do to help the "clueless." If we laugh and ignore them, then that is bad. But as far as we teach them, that is good....and if we laugh, then we teach them and they never learn, it stops becoming funny, it becomes annoying.
I do not care if he wins or lose, I just hope he autographed the kids Un-Geller Pokemon cards. As a matter of fact, if he didn't, I hope he loses. If he did, I hope he wins, but perhaps the sum of $5mil.
here me out. i had a CD, cost $15, how much did it cost to product the CD etc? $2? intellectual property, $13?
Fine!
My CD breaks, I write the Company, my CD is broken, I have it already, I shouldn't pay two times for intellecutal property, I will pay $2 but not more than $3 for the CD. I will send the broken CD back as evidence.
what? no no no! F the RIAA, I have more than 400 CDs, say at $10, that is already $4000. I bought my Fela Kuti CDs for $20 each with a CD containing only 2 tracks! Anyway, down with RIAA, up with mp3, Napster till the greediness is gone.
...because of this, I nominate the greatest mathematical genius of our time. Uncle Paul Erdos, it is very very sad, but this man is not known outside the mathematics circle. Why? because he did mathematics for love of it? because he never cared about fame or money? Read more about paul erdos at www.paulerdos.com
I didn't grow up in the states, I did in a third world country, and transporation is not as common as it is over here....because of this I learned to jump into moving cars and jump out of moving cars. It was pretty funny, you learn that at 10, if you need to go somewhere, you just find a car going that direction, jump onto it and hold the back, when you get to where you are going, or when the car is going another direction, you jump off. pretty dangerous, but I have never seen anyone get hurt. Reading this story about the children jumping into the moving vehicle brought back the memory. Quite some time the drivers got very mad, I remember when me and my friend jumped on to the back of a truck, and after around 3 minutes, the driver noticed, he got very angry, he stopped. we jumped off, he sped away, we chased after him and jumped on again. He decided to teach us a lesson. He sped off this time at a very fast speed that we couldn't jump out, after a minute, he slamed on the brake and we were thrown violently into the truck by the force, before he got out, we were lucky to recover and run away. Darn, wish I was a kid again. This sounds like the kind of things I would have done then, I don't blame the kids, all they wanted where candys. Santa could have even given them 1 candy for two people and told them to share, instead he ended up getting hurt and losing more toys. I am for the kids!
...I am pretty much getting tired of Blah of the whatever, first it was the amazon bone head, then albert, and now gnome boy, gee, can't you guys find more quality articles? like, porn actress of the year?
I am nobody. But I am slightly competent, I will give that to myself. I get annoyed a lot of the times when freshly newbies approach me, because it seems that with every second that passes, people get more stupid. When I learned to program C in high school, I had no computer, I didn't ask anyone, I went to the library, read a book and wrote my code on paper for 6 months till I could get access to a computer and a c compiler. These days, When newbies approach me, they don't even say something in the line of, I was learning C, then I got stock at pointers. Instead, they come out something like, "I want to learn C, blah blah blah", I tell them to search the net, they go no, and curse me in the name of being rude instead of giving them a crash course of C in 5 minutes. I get this with Unix too.....and I am nobody. I wish those few that know that I know about computers, didn't know so that I will not be bothered. I mean, I like to help people, but I only help those who help themselves or attempt to. So, for you guys, how does it feel? With all your fame, How often do you get asked a bunch of stupid questions? Would you say people are getting more stupid or is that there were all stupid, but the internet is a magnet for stupid folks? Do you guys ever regret your fame? If you could do it again, would you do it, but with totally privacy, so that you don't get bugged with junkless crap. I bet this is one of those annoying stupid questions you get eh? BTW, What duh hell is going on with your hardware section, it has little development, bad bad lazy you.
css-auth.c ---------- /* * Copyright (C) 1999 Derek Fawcus * * This code may be used under the terms of Version 2 of the GPL, * read the file COPYING for details. * */
/* * These routines do some reordering of the supplied data before * calling engine() to do the main work. * * The reordering seems similar to that done by the initial stages of * the DES algorithm, in that it looks like it's just been done to * try and make software decoding slower. I'm not sure that it * actually adds anything to the security. * * The nature of the shuffling is that the bits of the supplied * parameter 'varient' are reorganised (and some inverted), and * the bytes of the parameter 'challenge' are reorganised. * * The reorganisation in each routine is different, and the first * (CryptKey1) does not bother of play with the 'varient' parameter. * * Since this code is only run once per disk change, I've made the * code table driven in order to improve readability. * * Since these routines are so similar to each other, one could even * abstract them all to one routine supplied a parameter determining * the nature of the reordering it has to do. */
for (i = 9; i >= 0; --i) scratch[i] = challenge[perm_challenge[i]];
engine(perm_varient[varient], scratch, key); }
/* * We use two LFSR's (seeded from some of the input data bytes) to * generate two streams of pseudo-random bits. These two bit streams * are then combined by simply adding with carry to generate a final * sequence of pseudo-random bits which is stored in the buffer that * 'output' points to the end of - len is the size of this buffer. * * The first LFSR is of degree 25, and has a polynomial of: * x^13 + x^5 + x^4 + x^1 + 1 * * The second LSFR is of degree 17, and has a (primitive) polynomial of: * x^15 + x^1 + 1 * * I don't know if these polynomials are primitive modulo 2, and thus * represent maximal-period LFSR's. * * * Note that we take the output of each LFSR from the new shifted in * bit, not the old shifted out bit. Thus for ease of use the LFSR's * are implemented in bit reversed order. * */ static void generate_bits(byte *output, int len, struct block const *s) { u32 lfsr0, lfsr1; byte carry;
/* In order to ensure that the LFSR works we need to ensure that the * initial values are non-zero. Thus when we initialise them from * the seed, we ensure that a bit is set. */ lfsr0 = (s->b[0] b[1] b[2] & ~7) b[2] & 7); lfsr1 = (s->b[3] b[4];
/* * This encryption engine implements one of 32 variations * one the same theme depending upon the choice in the * varient parameter (0 - 31). * * The algorithm itself manipulates a 40 bit input into * a 40 bit output. * The parameter 'input' is 80 bits. It consists of * the 40 bit input value that is to be encrypted followed * by a 40 bit seed value for the pseudo random number * generators. */ static void engine(int varient, byte const *input, struct block *output) { byte cse, term, index; struct block temp1; struct block temp2; byte bits[30];
int i;
/* Feed the secret into the input values such that * we alter the seed to the LFSR's used above, then * generate the bits to play with. */ for (i = 5; --i >= 0; ) temp1.b[i] = input[5 + i] ^ Secret[i] ^ Table2[i];
generate_bits(&bits[29], sizeof bits, &temp1);
/* This term is used throughout the following to * select one of 32 different variations on the * algorithm. */ cse = Varients[varient] ^ Table2[varient];
/* Now the actual blocks doing the encryption. Each * of these works on 40 bits at a time and are quite * similar. */ for (i = 5, term = 0; --i >= 0; term = input[i]) { index = bits[25 + i] ^ input[i]; index = Table1[index] ^ ~Table2[index] ^ cse;
for (i = 5, term = 0; --i >= 0; term = temp2.b[i]) { index = bits[15 + i] ^ temp2.b[i]; index = Table1[index] ^ ~Table2[index] ^ cse; index = Table2[index] ^ Table3[index] ^ term;
You are missing the point! This is not about protecting dumb investors. This is about protecting the quality of Linux. If Linuxone goes IPO, they will thrash the quality Linux has, better to be safe than to be sorry. The word Linux stands for all things good, we don't want it to mean evil tomorrow.
This has me very very pissed off. I am boycotting all companies involved. I am going to "spam" them with letters. Note, not email. Handwritten! emails are rarely read. When you hand write mail, put it in an envelope, stamp it and post it. It takes effort. I am going to mail as much people as I can, the companies involved, law makers and what not. Surely, one person alone cannot make an impact, but if everyone can freaking speak with ACTIONS instead of typing away here. Maybe, something will happen. If nothing happens, at least it will be nice for them to know that they have a few thousand angry people at them. GAwd, If only I could be God for an hour.
It depends, if I give you a function f(x), where the function f will give you the xth prime number, should such a thing be patentable? it depends! I really can't really say yes or no to this question, In mathematics, the truth exists regardless of if someone discovers it or not, thus mathematics should not be patentable, but the interesting thing to note here, is that this guy is not patenting mathematics, he is patenting the optimization process he used, substituting shifts for multiplications and such. But again, this is common logic! my compiler automagically does such optimization as needed. When I need to write tight C code, I optimize using shift. So, I don't see anything astonishing in what this guy did, he applied optimization method to an area of mathematics that he didn't discover. I agree with you, we cannot afford to put an barriers in mathematics or even optimization process, as that is still mathematics. I think that anything that is obvious from mere description should not receive patent, if (a) is a thing/method, and you give an abstract view of it, and someone else can recreate (a) from scratch then (a) is not really worthy of patent. Now if after the abstract view, and it defies imagination, then (a) is really worth patenting. Now who is to judge? certainly not me, I am just a coder, I live coding and mathematics, I hate politics.
Everyone is making fun of this and that, but does anyone know of the solution? I have warned my younger sister numerous times about installing any trial software especially AOL. But her big boned head never absorbed that. ... and your guess is correct, she installed AOL 5.0, and the families computer is now screwed, and umm as the computer addict, they are expecting me to fix it, cuz heh, they are realizing just how addicted err useful the net is too. I don't use windows, never did, strictly Unix from day 1, so I really have no idea what to do. I have uninstalled the software and stuff, but it still doesn't help. I am currently searching for solutions, so that these people I call family will leave me alone, so that I can crank more code.
so, today they collect the confessions, and after that what do they do? open up a website, where we can pay to read peoples confessions?
I can just see C.Y typing away over this article. I am aware that some female play games, but as far as I am concerned the game industry has never been for female and there are no female audience, the games like barbie crap have been for female, and big flops. general, I think women can enjoy games like 7th guest, sim city and such, but these games are not designed for female audience. If I was in the game industry, I will not be designing for female audience, cuz there is none. females have better things to do than to play games. gee
Get fucking real homer, who the hell is to say what is legal and not? I guess if tomorrow we make encryption illegal, that you will agree? Kevin was not arrested yesterday, when he was arrested the security business has not boomed. If he hasn't been arrested, I can bet he will probably be doing security work. I have sympathy for him, because he has a problem he can't control, he is a freaking addict, gee. I am an IRC addict, and addiction is not an easy thing to break off. I don't see him as a "criminal", he never tried to make profit from what he got. Kevin was doing the opensource thingy in another way to put it. He was interested in getting source codes, source codes!!! basically closed software drove him insane, like it will drive any normal hacker. He didn't sell them or spread them. Poor guy, I think he should get into electronics and mathematics for now. Once his 3 year computer crap ends, then he could easily transfer those skills to computer.
Oh shut up! For crying out loud, sure he is a cracker, but don't call him pretty poor. In early 1990's, before your lame ass probably started running Linux, Kevin had access to SunOS, VMS, Cell phone source code. Kevin might not be a great cracker, but he was definitely not a loser, and his social engineering skills is astonishing. The attack that was carried out on Tsutomu's box was sophiscated, IP spoofing tho written by RTM in 1985 was a black art till a few years ago, sure we doubt kevin even did that, but he had the hook up. Anyway, all crime aside, the important thing here is about the crime that has also been commited against this guy. For example, sun claimed it lost millions in dollars on its source, but kevin never released the src, and sun source is open today. 4 years without trial is pretty fucking unfair. We all fuck up one time or the other in our life, but that doesn't make us bad. I don't side with crackers, but you should got kevin some slack, he has been doing this since he was a kid, he is addicted. At least he wasn't doing it for money.
No, the matrix should be used for a linear algebra class. :-)
GIVE XEROX A DAMN BREAK!!!!!
do you here me? these guys had the smartest mind in the industry, in 1973, they had a workstation with GUI, an object oriented OS, a mouse, a very sophisicated OS, ethernet!!!, they could network 256 of their Xerox Altos in with a 1mile radius, they had email. JESUS, did you see this in 1973!!!
http://www.spies.com/~aek/alto/index.html Go here to read more about the alto, it has the user manual for the OS, and many things that will impress you. Oh yeah, these guys developed smalltalk too, small what? duh, a programming language. they had a WYSIWYG text editor then, electronic mail, they had file servers, hell yes, the concept of NFS mount didn't begin with Unix!
Hell, they had a boot server too, diskless workstation didn't begin with Unix as well!!!
The guys at Xerox were 20 years ahead of their time. If someone throws in a theory that they got their technology from aliens from mars, I will freaking agree. Give these guys a freaking break, every thing has been stolen from them, and they have not received any credits. Sure, sure, some of you geeks are well aware, but go ask your daddy or mommy, and they will think microsoft created the computer world. When I think of Xerox, i cry, I wish it was such minds that really brought computers to the world we live in today.... give them a freaking gawd darn break!
GIVE XEROX A DAMN BREAK!!!!!
do you here me? these guys had the smartest mind in the industry, in 1973, they had a workstation with GUI, an object oriented OS, a mouse, a very sophisicated OS, ethernet!!!, they could network 256 of their Xerox Altos in with a 1mile radius, they had email. JESUS, did you see this in 1973!!!
They haven't arrested the pirates, and now, they are telling us that they are close to catching them. *hint hint*, pirates move your operations.
I agree with you. The mhz-race is only amusing. :-) It is not the speed of the systems that matters, it is what you do with it. I still have on my network a sun 3/80 20mhz, 12mb ram workstation, doing neat stuff. As a matter of fact, I think the mhz race is setting us back. What happens when cpu speed gets faster and ram gets cheaper? people write very horrible code, which uses 10x more ram that it should, and runs 20x slower than it should. It is very very sad, but we are actually walking back instead of forward with these. Has anyone ever seen a 3D engine running at full speed on a 386? I have, I am not talking wireframe, I am talking about shaded, and textured. If the cpu race was very slow, and we still were stuck on P100. Are you telling me, we will be behind? no way, we will be ahead, cuz when people realize that no faster cpu is coming soon, they start thinking of clever ways to do things, new better and improved algorithms are designed. Good programming pratice and what not is adopted. Ah well, tis sad,tis sad.
I know all these people buying the latest processors, upgrading every 3 months. They now have a whatever500mhz system, with 512 mb. So what?
As I read through the comments, I begin to release how much slashdot has evolved. I use to see it as being owned by CmdrTaco and Hemos, but from the comments, I can sure tell, it is owned by us. :) they own the source, the servers. But we are slashdot. We own it. A lot of people seem very angry because the code has't been posted, and angry with various other things. I hope the slashdot crew realizes that slashdot is no longer there, but ours. That here opinion doesn't count any more, but ours. That they get paid to do it. Therefore, to keep as many people as happy possible, they should do what people want the most, so if 70% of slashdot wants AC gone, no matter its advantage, AC has to go. This is no longer a hobby for you guys, it is business. I am sure you definitely don't want to be hearing tomorrow, "Boycott Slashdot!". Good luck.
I have a hand held scanner not modified. I use it mostly to listen to hams on the 20m band. But at times i pick up interest conversations from who knows where, that should probably be private. Now, I am in risk of being arrested?!?! :-D).
If the government can arrest people who make devices to bug people, why don't they arrest the people who make gun. (hi ESR, just giving an example.
Blessed are the hackers, for tomorrow is theres. :-)
If this is implemented, rest assured it can be removed. rest assured it can also be hacked, which will make for an interesting fun, I can now race that guy's porsche with my pinto, I just have to slow him down to 60.
I find tech stories fun, it is not the users that I laugh out. It is the incident that I laugh at. In some rare cases, I laugh at the users when they are really dumb, but that is quite rare. I know a guy who printed a.out to get output of his program. It was pretty funny, the event. I laughed but proceeded to help him, I didn't belittle him. How about another guy who wacked /dev/ cuz he was out of space and /dev/ with all those files must be taking up all the space? I laughed at the incident again, but proceeded to help him. I think the important thing here is not if we laugh or not, it is what we do to help the "clueless." If we laugh and ignore them, then that is bad. But as far as we teach them, that is good. ...and if we laugh, then we teach them and they never learn, it stops becoming funny, it becomes annoying.
I do not care if he wins or lose, I just hope he autographed the kids Un-Geller Pokemon cards. As a matter of fact, if he didn't, I hope he loses. If he did, I hope he wins, but perhaps the sum of $5mil.
here me out. i had a CD, cost $15, how much did it cost to product the CD etc? $2? intellectual property, $13?
Fine!
My CD breaks, I write the Company, my CD is broken, I have it already, I shouldn't pay two times for intellecutal property, I will pay $2 but not more than $3 for the CD. I will send the broken CD back as evidence.
what? no no no! F the RIAA, I have more than 400 CDs, say at $10, that is already $4000. I bought my Fela Kuti CDs for $20 each with a CD containing only 2 tracks! Anyway, down with RIAA, up with mp3, Napster till the greediness is gone.
...because of this, I nominate the greatest mathematical genius of our time. Uncle Paul Erdos, it is very very sad, but this man is not known outside the mathematics circle. Why? because he did mathematics for love of it? because he never cared about fame or money? Read more about paul erdos at www.paulerdos.com
I didn't grow up in the states, I did in a third world country, and transporation is not as common as it is over here. ...because of this I learned to jump into moving cars and jump out of moving cars. It was pretty funny, you learn that at 10, if you need to go somewhere, you just find a car going that direction, jump onto it and hold the back, when you get to where you are going, or when the car is going another direction, you jump off. pretty dangerous, but I have never seen anyone get hurt. Reading this story about the children jumping into the moving vehicle brought back the memory. Quite some time the drivers got very mad, I remember when me and my friend jumped on to the back of a truck, and after around 3 minutes, the driver noticed, he got very angry, he stopped. we jumped off, he sped away, we chased after him and jumped on again. He decided to teach us a lesson. He sped off this time at a very fast speed that we couldn't jump out, after a minute, he slamed on the brake and we were thrown violently into the truck by the force, before he got out, we were lucky to recover and run away. Darn, wish I was a kid again. This sounds like the kind of things I would have done then, I don't blame the kids, all they wanted where candys. Santa could have even given them 1 candy for two people and told them to share, instead he ended up getting hurt and losing more toys. I am for the kids!
...I am pretty much getting tired of Blah of the whatever, first it was the amazon bone head, then albert, and now gnome boy, gee, can't you guys find more quality articles? like, porn actress of the year?
I am nobody. But I am slightly competent, I will give that to myself. I get annoyed a lot of the times when freshly newbies approach me, because it seems that with every second that passes, people get more stupid. When I learned to program C in high school, I had no computer, I didn't ask anyone, I went to the library, read a book and wrote my code on paper for 6 months till I could get access to a computer and a c compiler. These days, When newbies approach me, they don't even say something in the line of, I was learning C, then I got stock at pointers. Instead, they come out something like, "I want to learn C, blah blah blah", I tell them to search the net, they go no, and curse me in the name of being rude instead of giving them a crash course of C in 5 minutes. I get this with Unix too. ....and I am nobody. I wish those few that know that I know about computers, didn't know so that I will not be bothered. I mean, I like to help people, but I only help those who help themselves or attempt to. So, for you guys, how does it feel? With all your fame, How often do you get asked a bunch of stupid questions? Would you say people are getting more stupid or is that there were all stupid, but the internet is a magnet for stupid folks? Do you guys ever regret your fame? If you could do it again, would you do it, but with totally privacy, so that you don't get bugged with junkless crap. I bet this is one of those annoying stupid questions you get eh? BTW, What duh hell is going on with your hardware section, it has little development, bad bad lazy you.
css-auth.h
/*
/*
/* This shuffles the bits in varient to make perm_varient such that
/* This shuffles the bits in varient to make perm_varient such that
/*
/* In order to ensure that the LFSR works we need to ensure that the
/*
/* Feed the secret into the input values such that
/* This term is used throughout the following to
/* Now the actual blocks doing the encryption. Each
----------
typedef unsigned char byte;
struct block {
byte b[5];
};
extern void CryptKey1(int varient, byte const *challenge, struct block *key);
extern void CryptKey2(int varient, byte const *challenge, struct block *key);
extern void CryptBusKey(int varient, byte const *challenge, struct block *key);
css-auth.c
----------
* Copyright (C) 1999 Derek Fawcus
*
* This code may be used under the terms of Version 2 of the GPL,
* read the file COPYING for details.
*
*/
* These routines do some reordering of the supplied data before
* calling engine() to do the main work.
*
* The reordering seems similar to that done by the initial stages of
* the DES algorithm, in that it looks like it's just been done to
* try and make software decoding slower. I'm not sure that it
* actually adds anything to the security.
*
* The nature of the shuffling is that the bits of the supplied
* parameter 'varient' are reorganised (and some inverted), and
* the bytes of the parameter 'challenge' are reorganised.
*
* The reorganisation in each routine is different, and the first
* (CryptKey1) does not bother of play with the 'varient' parameter.
*
* Since this code is only run once per disk change, I've made the
* code table driven in order to improve readability.
*
* Since these routines are so similar to each other, one could even
* abstract them all to one routine supplied a parameter determining
* the nature of the reordering it has to do.
*/
#include "css-auth.h"
typedef unsigned long u32;
static void engine(int varient, byte const *input, struct block *output);
void CryptKey1(int varient, byte const *challenge, struct block *key)
{
static byte perm_challenge[] = {1,3,0,7,5, 2,9,6,4,8};
byte scratch[10];
int i;
for (i = 9; i >= 0; --i)
scratch[i] = challenge[perm_challenge[i]];
engine(varient, scratch, key);
}
* 4 -> !3
* 3 -> 4
* varient bits: 2 -> 0 perm_varient bits
* 1 -> 2
* 0 -> !1
*/
void CryptKey2(int varient, byte const *challenge, struct block *key)
{
static byte perm_challenge[] = {6,1,9,3,8, 5,7,4,0,2};
static byte perm_varient[] = {
0x0a, 0x08, 0x0e, 0x0c, 0x0b, 0x09, 0x0f, 0x0d,
0x1a, 0x18, 0x1e, 0x1c, 0x1b, 0x19, 0x1f, 0x1d,
0x02, 0x00, 0x06, 0x04, 0x03, 0x01, 0x07, 0x05,
0x12, 0x10, 0x16, 0x14, 0x13, 0x11, 0x17, 0x15};
byte scratch[10];
int i;
for (i = 9; i >= 0; --i)
scratch[i] = challenge[perm_challenge[i]];
engine(perm_varient[varient], scratch, key);
}
* 4 -> 0
* 3 -> !1
* varient bits: 2 -> !4 perm_varient bits
* 1 -> 2
* 0 -> 3
*/
void CryptBusKey(int varient, byte const *challenge, struct block *key)
{
static byte perm_challenge[] = {4,0,3,5,7, 2,8,6,1,9};
static byte perm_varient[] = {
0x12, 0x1a, 0x16, 0x1e, 0x02, 0x0a, 0x06, 0x0e,
0x10, 0x18, 0x14, 0x1c, 0x00, 0x08, 0x04, 0x0c,
0x13, 0x1b, 0x17, 0x1f, 0x03, 0x0b, 0x07, 0x0f,
0x11, 0x19, 0x15, 0x1d, 0x01, 0x09, 0x05, 0x0d};
byte scratch[10];
int i;
for (i = 9; i >= 0; --i)
scratch[i] = challenge[perm_challenge[i]];
engine(perm_varient[varient], scratch, key);
}
* We use two LFSR's (seeded from some of the input data bytes) to
* generate two streams of pseudo-random bits. These two bit streams
* are then combined by simply adding with carry to generate a final
* sequence of pseudo-random bits which is stored in the buffer that
* 'output' points to the end of - len is the size of this buffer.
*
* The first LFSR is of degree 25, and has a polynomial of:
* x^13 + x^5 + x^4 + x^1 + 1
*
* The second LSFR is of degree 17, and has a (primitive) polynomial of:
* x^15 + x^1 + 1
*
* I don't know if these polynomials are primitive modulo 2, and thus
* represent maximal-period LFSR's.
*
*
* Note that we take the output of each LFSR from the new shifted in
* bit, not the old shifted out bit. Thus for ease of use the LFSR's
* are implemented in bit reversed order.
*
*/
static void generate_bits(byte *output, int len, struct block const *s)
{
u32 lfsr0, lfsr1;
byte carry;
* initial values are non-zero. Thus when we initialise them from
* the seed, we ensure that a bit is set.
*/
lfsr0 = (s->b[0] b[1] b[2] & ~7) b[2] & 7);
lfsr1 = (s->b[3] b[4];
++output;
carry = 0;
do {
int bit;
byte val;
for (bit = 0, val = 0; bit > 24) ^ (lfsr0 >> 21) ^ (lfsr0 >> 20) ^ (lfsr0 >> 12)) & 1;
lfsr0 = (lfsr0 > 16) ^ (lfsr1 >> 2)) & 1;
lfsr1 = (lfsr1 > 1) & 1)
combined = !o_lfsr1 + carry + !o_lfsr0;
carry = BIT1(combined);
val |= BIT0(combined) 0);
}
static byte Secret[];
static byte Varients[];
static byte Table0[];
static byte Table1[];
static byte Table2[];
static byte Table3[];
* This encryption engine implements one of 32 variations
* one the same theme depending upon the choice in the
* varient parameter (0 - 31).
*
* The algorithm itself manipulates a 40 bit input into
* a 40 bit output.
* The parameter 'input' is 80 bits. It consists of
* the 40 bit input value that is to be encrypted followed
* by a 40 bit seed value for the pseudo random number
* generators.
*/
static void engine(int varient, byte const *input, struct block *output)
{
byte cse, term, index;
struct block temp1;
struct block temp2;
byte bits[30];
int i;
* we alter the seed to the LFSR's used above, then
* generate the bits to play with.
*/
for (i = 5; --i >= 0; )
temp1.b[i] = input[5 + i] ^ Secret[i] ^ Table2[i];
generate_bits(&bits[29], sizeof bits, &temp1);
* select one of 32 different variations on the
* algorithm.
*/
cse = Varients[varient] ^ Table2[varient];
* of these works on 40 bits at a time and are quite
* similar.
*/
for (i = 5, term = 0; --i >= 0; term = input[i]) {
index = bits[25 + i] ^ input[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
temp1.b[i] = Table2[index] ^ Table3[index] ^ term;
}
temp1.b[4] ^= temp1.b[0];
for (i = 5, term = 0; --i >= 0; term = temp1.b[i]) {
index = bits[20 + i] ^ temp1.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
temp2.b[i] = Table2[index] ^ Table3[index] ^ term;
}
temp2.b[4] ^= temp2.b[0];
for (i = 5, term = 0; --i >= 0; term = temp2.b[i]) {
index = bits[15 + i] ^ temp2.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
index = Table2[index] ^ Table3[index] ^ term;
temp1.b[i] = Table0[index] ^ Table2[index];
}
temp1.b[4] ^= temp1.b[0];
for (i = 5, term = 0; --i >= 0; term = temp1.b[i]) {
index = bits[10 + i] ^ temp1.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
index = Table2[index] ^ Table3[index] ^ term;
temp2.b[i] = Table0[index] ^ Table2[index];
}
temp2.b[4] ^= temp2.b[0];
for (i = 5, term = 0; --i >= 0; term = temp2.b[i]) {
index = bits[5 + i] ^ temp2.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
temp1.b[i] = Table2[index] ^ Table3[index] ^ term;
}
temp1.b[4] ^= temp1.b[0];
for (i = 5, term = 0; --i >= 0; term = temp1.b[i]) {
index = bits[i] ^ temp1.b[i];
index = Table1[index] ^ ~Table2[index] ^ cse;
output->b[i] = Table2[index] ^ Table3[index] ^ term;
}
}
static byte Varients[] = {
0xB7, 0x74, 0x85, 0xD0, 0xCC, 0xDB, 0xCA, 0x73,
0x03, 0xFE, 0x31, 0x03, 0x52, 0xE0, 0xB7, 0x42,
0x63, 0x16, 0xF2, 0x2A, 0x79, 0x52, 0xFF, 0x1B,
0x7A, 0x11, 0xCA, 0x1A, 0x9B, 0x40, 0xAD, 0x01};
static byte Secret[] = {0x55, 0xD6, 0xC4, 0xC5, 0x28};
static byte Table0[] = {
0xB7, 0xF4, 0x82, 0x57, 0xDA, 0x4D, 0xDB, 0xE2,
0x2F, 0x52, 0x1A, 0xA8, 0x68, 0x5A, 0x8A, 0xFF,
0xFB, 0x0E, 0x6D, 0x35, 0xF7, 0x5C, 0x76, 0x12,
0xCE, 0x25, 0x79, 0x29, 0x39, 0x62, 0x08, 0x24,
0xA5, 0x85, 0x7B, 0x56, 0x01, 0x23, 0x68, 0xCF,
0x0A, 0xE2, 0x5A, 0xED, 0x3D, 0x59, 0xB0, 0xA9,
0xB0, 0x2C, 0xF2, 0xB8, 0xEF, 0x32, 0xA9, 0x40,
0x80, 0x71, 0xAF, 0x1E, 0xDE, 0x8F, 0x58, 0x88,
0xB8, 0x3A, 0xD0, 0xFC, 0xC4, 0x1E, 0xB5, 0xA0,
0xBB, 0x3B, 0x0F, 0x01, 0x7E, 0x1F, 0x9F, 0xD9,
0xAA, 0xB8, 0x3D, 0x9D, 0x74, 0x1E, 0x25, 0xDB,
0x37, 0x56, 0x8F, 0x16, 0xBA, 0x49, 0x2B, 0xAC,
0xD0, 0xBD, 0x95, 0x20, 0xBE, 0x7A, 0x28, 0xD0,
0x51, 0x64, 0x63, 0x1C, 0x7F, 0x66, 0x10, 0xBB,
0xC4, 0x56, 0x1A, 0x04, 0x6E, 0x0A, 0xEC, 0x9C,
0xD6, 0xE8, 0x9A, 0x7A, 0xCF, 0x8C, 0xDB, 0xB1,
0xEF, 0x71, 0xDE, 0x31, 0xFF, 0x54, 0x3E, 0x5E,
0x07, 0x69, 0x96, 0xB0, 0xCF, 0xDD, 0x9E, 0x47,
0xC7, 0x96, 0x8F, 0xE4, 0x2B, 0x59, 0xC6, 0xEE,
0xB9, 0x86, 0x9A, 0x64, 0x84, 0x72, 0xE2, 0x5B,
0xA2, 0x96, 0x58, 0x99, 0x50, 0x03, 0xF5, 0x38,
0x4D, 0x02, 0x7D, 0xE7, 0x7D, 0x75, 0xA7, 0xB8,
0x67, 0x87, 0x84, 0x3F, 0x1D, 0x11, 0xE5, 0xFC,
0x1E, 0xD3, 0x83, 0x16, 0xA5, 0x29, 0xF6, 0xC7,
0x15, 0x61, 0x29, 0x1A, 0x43, 0x4F, 0x9B, 0xAF,
0xC5, 0x87, 0x34, 0x6C, 0x0F, 0x3B, 0xA8, 0x1D,
0x45, 0x58, 0x25, 0xDC, 0xA8, 0xA3, 0x3B, 0xD1,
0x79, 0x1B, 0x48, 0xF2, 0xE9, 0x93, 0x1F, 0xFC,
0xDB, 0x2A, 0x90, 0xA9, 0x8A, 0x3D, 0x39, 0x18,
0xA3, 0x8E, 0x58, 0x6C, 0xE0, 0x12, 0xBB, 0x25,
0xCD, 0x71, 0x22, 0xA2, 0x64, 0xC6, 0xE7, 0xFB,
0xAD, 0x94, 0x77, 0x04, 0x9A, 0x39, 0xCF, 0x7C};
static byte Table1[] = {
0x8C, 0x47, 0xB0, 0xE1, 0xEB, 0xFC, 0xEB, 0x56,
0x10, 0xE5, 0x2C, 0x1A, 0x5D, 0xEF, 0xBE, 0x4F,
0x08, 0x75, 0x97, 0x4B, 0x0E, 0x25, 0x8E, 0x6E,
0x39, 0x5A, 0x87, 0x53, 0xC4, 0x1F, 0xF4, 0x5C,
0x4E, 0xE6, 0x99, 0x30, 0xE0, 0x42, 0x88, 0xAB,
0xE5, 0x85, 0xBC, 0x8F, 0xD8, 0x3C, 0x54, 0xC9,
0x53, 0x47, 0x18, 0xD6, 0x06, 0x5B, 0x41, 0x2C,
0x67, 0x1E, 0x41, 0x74, 0x33, 0xE2, 0xB4, 0xE0,
0x23, 0x29, 0x42, 0xEA, 0x55, 0x0F, 0x25, 0xB4,
0x24, 0x2C, 0x99, 0x13, 0xEB, 0x0A, 0x0B, 0xC9,
0xF9, 0x63, 0x67, 0x43, 0x2D, 0xC7, 0x7D, 0x07,
0x60, 0x89, 0xD1, 0xCC, 0xE7, 0x94, 0x77, 0x74,
0x9B, 0x7E, 0xD7, 0xE6, 0xFF, 0xBB, 0x68, 0x14,
0x1E, 0xA3, 0x25, 0xDE, 0x3A, 0xA3, 0x54, 0x7B,
0x87, 0x9D, 0x50, 0xCA, 0x27, 0xC3, 0xA4, 0x50,
0x91, 0x27, 0xD4, 0xB0, 0x82, 0x41, 0x97, 0x79,
0x94, 0x82, 0xAC, 0xC7, 0x8E, 0xA5, 0x4E, 0xAA,
0x78, 0x9E, 0xE0, 0x42, 0xBA, 0x28, 0xEA, 0xB7,
0x74, 0xAD, 0x35, 0xDA, 0x92, 0x60, 0x7E, 0xD2,
0x0E, 0xB9, 0x24, 0x5E, 0x39, 0x4F, 0x5E, 0x63,
0x09, 0xB5, 0xFA, 0xBF, 0xF1, 0x22, 0x55, 0x1C,
0xE2, 0x25, 0xDB, 0xC5, 0xD8, 0x50, 0x03, 0x98,
0xC4, 0xAC, 0x2E, 0x11, 0xB4, 0x38, 0x4D, 0xD0,
0xB9, 0xFC, 0x2D, 0x3C, 0x08, 0x04, 0x5A, 0xEF,
0xCE, 0x32, 0xFB, 0x4C, 0x92, 0x1E, 0x4B, 0xFB,
0x1A, 0xD0, 0xE2, 0x3E, 0xDA, 0x6E, 0x7C, 0x4D,
0x56, 0xC3, 0x3F, 0x42, 0xB1, 0x3A, 0x23, 0x4D,
0x6E, 0x84, 0x56, 0x68, 0xF4, 0x0E, 0x03, 0x64,
0xD0, 0xA9, 0x92, 0x2F, 0x8B, 0xBC, 0x39, 0x9C,
0xAC, 0x09, 0x5E, 0xEE, 0xE5, 0x97, 0xBF, 0xA5,
0xCE, 0xFA, 0x28, 0x2C, 0x6D, 0x4F, 0xEF, 0x77,
0xAA, 0x1B, 0x79, 0x8E, 0x97, 0xB4, 0xC3, 0xF4};
static byte Table2[] = {
0xB7, 0x75, 0x81, 0xD5, 0xDC, 0xCA, 0xDE, 0x66,
0x23, 0xDF, 0x15, 0x26, 0x62, 0xD1, 0x83, 0x77,
0xE3, 0x97, 0x76, 0xAF, 0xE9, 0xC3, 0x6B, 0x8E,
0xDA, 0xB0, 0x6E, 0xBF, 0x2B, 0xF1, 0x19, 0xB4,
0x95, 0x34, 0x48, 0xE4, 0x37, 0x94, 0x5D, 0x7B,
0x36, 0x5F, 0x65, 0x53, 0x07, 0xE2, 0x89, 0x11,
0x98, 0x85, 0xD9, 0x12, 0xC1, 0x9D, 0x84, 0xEC,
0xA4, 0xD4, 0x88, 0xB8, 0xFC, 0x2C, 0x79, 0x28,
0xD8, 0xDB, 0xB3, 0x1E, 0xA2, 0xF9, 0xD0, 0x44,
0xD7, 0xD6, 0x60, 0xEF, 0x14, 0xF4, 0xF6, 0x31,
0xD2, 0x41, 0x46, 0x67, 0x0A, 0xE1, 0x58, 0x27,
0x43, 0xA3, 0xF8, 0xE0, 0xC8, 0xBA, 0x5A, 0x5C,
0x80, 0x6C, 0xC6, 0xF2, 0xE8, 0xAD, 0x7D, 0x04,
0x0D, 0xB9, 0x3C, 0xC2, 0x25, 0xBD, 0x49, 0x63,
0x8C, 0x9F, 0x51, 0xCE, 0x20, 0xC5, 0xA1, 0x50,
0x92, 0x2D, 0xDD, 0xBC, 0x8D, 0x4F, 0x9A, 0x71,
0x2F, 0x30, 0x1D, 0x73, 0x39, 0x13, 0xFB, 0x1A,
0xCB, 0x24, 0x59, 0xFE, 0x05, 0x96, 0x57, 0x0F,
0x1F, 0xCF, 0x54, 0xBE, 0xF5, 0x06, 0x1B, 0xB2,
0x6D, 0xD3, 0x4D, 0x32, 0x56, 0x21, 0x33, 0x0B,
0x52, 0xE7, 0xAB, 0xEB, 0xA6, 0x74, 0x00, 0x4C,
0xB1, 0x7F, 0x82, 0x99, 0x87, 0x0E, 0x5E, 0xC0,
0x8F, 0xEE, 0x6F, 0x55, 0xF3, 0x7E, 0x08, 0x90,
0xFA, 0xB6, 0x64, 0x70, 0x47, 0x4A, 0x17, 0xA7,
0xB5, 0x40, 0x8A, 0x38, 0xE5, 0x68, 0x3E, 0x8B,
0x69, 0xAA, 0x9B, 0x42, 0xA5, 0x10, 0x01, 0x35,
0xFD, 0x61, 0x9E, 0xE6, 0x16, 0x9C, 0x86, 0xED,
0xCD, 0x2E, 0xFF, 0xC4, 0x5B, 0xA0, 0xAE, 0xCC,
0x4B, 0x3B, 0x03, 0xBB, 0x1C, 0x2A, 0xAC, 0x0C,
0x3F, 0x93, 0xC7, 0x72, 0x7A, 0x09, 0x22, 0x3D,
0x45, 0x78, 0xA9, 0xA8, 0xEA, 0xC9, 0x6A, 0xF7,
0x29, 0x91, 0xF0, 0x02, 0x18, 0x3A, 0x4E, 0x7C};
static byte Table3[] = {
0x73, 0x51, 0x95, 0xE1, 0x12, 0xE4, 0xC0, 0x58,
0xEE, 0xF2, 0x08, 0x1B, 0xA9, 0xFA, 0x98, 0x4C,
0xA7, 0x33, 0xE2, 0x1B, 0xA7, 0x6D, 0xF5, 0x30,
0x97, 0x1D, 0xF3, 0x02, 0x60, 0x5A, 0x82, 0x0F,
0x91, 0xD0, 0x9C, 0x10, 0x39, 0x7A, 0x83, 0x85,
0x3B, 0xB2, 0xB8, 0xAE, 0x0C, 0x09, 0x52, 0xEA,
0x1C, 0xE1, 0x8D, 0x66, 0x4F, 0xF3, 0xDA, 0x92,
0x29, 0xB9, 0xD5, 0xC5, 0x77, 0x47, 0x22, 0x53,
0x14, 0xF7, 0xAF, 0x22, 0x64, 0xDF, 0xC6, 0x72,
0x12, 0xF3, 0x75, 0xDA, 0xD7, 0xD7, 0xE5, 0x02,
0x9E, 0xED, 0xDA, 0xDB, 0x4C, 0x47, 0xCE, 0x91,
0x06, 0x06, 0x6D, 0x55, 0x8B, 0x19, 0xC9, 0xEF,
0x8C, 0x80, 0x1A, 0x0E, 0xEE, 0x4B, 0xAB, 0xF2,
0x08, 0x5C, 0xE9, 0x37, 0x26, 0x5E, 0x9A, 0x90,
0x00, 0xF3, 0x0D, 0xB2, 0xA6, 0xA3, 0xF7, 0x26,
0x17, 0x48, 0x88, 0xC9, 0x0E, 0x2C, 0xC9, 0x02,
0xE7, 0x18, 0x05, 0x4B, 0xF3, 0x39, 0xE1, 0x20,
0x02, 0x0D, 0x40, 0xC7, 0xCA, 0xB9, 0x48, 0x30,
0x57, 0x67, 0xCC, 0x06, 0xBF, 0xAC, 0x81, 0x08,
0x24, 0x7A, 0xD4, 0x8B, 0x19, 0x8E, 0xAC, 0xB4,
0x5A, 0x0F, 0x73, 0x13, 0xAC, 0x9E, 0xDA, 0xB6,
0xB8, 0x96, 0x5B, 0x60, 0x88, 0xE1, 0x81, 0x3F,
0x07, 0x86, 0x37, 0x2D, 0x79, 0x14, 0x52, 0xEA,
0x73, 0xDF, 0x3D, 0x09, 0xC8, 0x25, 0x48, 0xD8,
0x75, 0x60, 0x9A, 0x08, 0x27, 0x4A, 0x2C, 0xB9,
0xA8, 0x8B, 0x8A, 0x73, 0x62, 0x37, 0x16, 0x02,
0xBD, 0xC1, 0x0E, 0x56, 0x54, 0x3E, 0x14, 0x5F,
0x8C, 0x8F, 0x6E, 0x75, 0x1C, 0x07, 0x39, 0x7B,
0x4B, 0xDB, 0xD3, 0x4B, 0x1E, 0xC8, 0x7E, 0xFE,
0x3E, 0x72, 0x16, 0x83, 0x7D, 0xEE, 0xF5, 0xCA,
0xC5, 0x18, 0xF9, 0xD8, 0x68, 0xAB, 0x38, 0x85,
0xA8, 0xF0, 0xA1, 0x73, 0x9F, 0x5D, 0x19, 0x0B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x33, 0x72, 0x39, 0x25, 0x67, 0x26, 0x6D, 0x71,
0x36, 0x77, 0x3C, 0x20, 0x62, 0x23, 0x68, 0x74,
0xC3, 0x82, 0xC9, 0x15, 0x57, 0x16, 0x5D, 0x81};
I hear your cry, I feel your pain!