Yeah, but the $100K would be coming straight out of Michael Robertson's pocket. I'd take it if I where M$.
(Michael Robertson, who of course does this for business goals, there is after all no business justification into selling a little bundle of a keyboard/mouse/Lindows to XBox users. Microsoft understands that)
I understand Phoenix is trying to protect their business, but really, the days of the BIOS as it is should be over.
The BIOS is a legacy piece of crap that serves practically no purpose, but to boot the OS.
The services provided for the "Input/Output" go largely unused, mainly because the majority are 16 bit services and no modern OS has a way to call them in the first place (well, without a high latency). Even the 32 bit services go largely unused,- PCI for example is practically always implemented by a driver that does direct IO vs. calling the BIOS.
In other words, non of the most prominent operating systems call the BIOS for services such as RS-232, IDE, LPT, Video, you name it, after the apprioriate drivers are loaded.
The REAL purpose of the BIOS should be: initialize the hardware up to a point so that it can boot the OS. This means memory initialization, some timer and interrupt related stuff and whatever code is required for the boot devices (I personally think IDE and Ethernet are the most important, but I can see that USB and SCSI are important to a lot of people)
After that the BIOS should load the OS image and be done.
Don't think I'm making this thing up; I've actually implemented a boot loader that completely eliminated the need for a BIOS and it was very fast; ready to boot of the harddrive as soon as the harddrive was spin up (e.g. 3 seconds!)
LinuxBIOS is doing something similar.
Anyways, sorry for this little rant without any proper links or so, but I gotta go to be in time for Apres-Ski happy hour!:-)
I know more Java programmers than C programmers.... and all C programmers I know program Java now.
All industry software projects I'm involved in are in... ah forgett it you wont belive it anyway...
HINT: its not C and its not C++.
Maybe in the world you are in, but if I look on my PC there's not one single application that's written in Java. I write software for embedded systems and that mostly still C and C++ (with a touch of assembler).
Furthermore, an implementation in C would be more useful because practically any platform supports a C compiler, whereas by far not all do support a Java VM.
Not that I think an implementation in Java is bad though. It may be that the majority of apps needing this technology are actually written in Java...
There is one important detail missing from your list that the article touches upon:
So I plan on installing and using TurboTax on my second machine at home - the one my wife usually uses. That way if it breaks, I won't be completely out of luck. (emph. mine)
Although the conclusion seems rather odd, cause I'm sure he'd be completely out of luck for quite a while.;-)
Actually, no (assuming you are talking about cylinder 0). On a harddrive that would be the MBR (Master Boot Record). The MBR has a table of pointers to partitions. Originally the MBR had room for 4 pointers to partitions but that was extended later.
So, one of the partitions would be the Windows partition. The first sector in that partition is actually the boot sector.
I know it's nitpicking, but I thought it might be useful.
Updating the kernel causes a re-compile of the drivers, but I wrote a script to do that so it's no hassle now. OK, they're closed source drivers in reality, but I don't care - my card works as I want.
Please clarify (how does one re-compile a closed source driver?). Not a big deal, I'm just curious what's needed to get this setup running.
...the term 'engineer' is used very loosely when you are refering to software engineers...
Well that's what hardware engineers think when the software engineer disagrees to install MS-DOS 3.3 to test the hardware.;-)
Seriously though, I've been through two board bringups, both Intel Architecture.
The first board was considered 'done' by the hardware guys, after it booted DOS. I told them that that was not really a test, and sure enough months (and numerous patch wires) later we finally were able to use _all_ the features on the board and boot Linux and Win95.
On the second board I was most impressed with the software tools hardware guys used. NOT! Although the board was more or less up and running I found a couple of places where transmits were connected to transmits and receives to receives. I asked why the schematic capture tools didn't catch such obvious mistakes. I know the software can, but quite honestly, all the software used for hardware design feels like it was written by, uh, hardware guys.:-O
Seriously though, the software tools that hardware engineers use leave a lot to be desired (I mean, the last board I worked on was in 2002 and they used a DOS based program to do the layout for peet's sake)
In defense of the hardware engineer though, he'd use symbols provided by the manufacturer and they, for some reason, could not be bothered to indicated the type of signal a pin has properly (e.g. input, output, bidir, etc..)
Until today I never understand why they'd risk the change of having to do a new rev of a board vs the cost of spending a few minutes to create the symbols properly.
Then again, I've seen software 'engineers' do the same stupid stuff.;-)
oh.the old cli,hlt thing. read a little bit about multitasking and then you know why it happens in Win9X series but not in WinNT series. your post is typical. read it somewhere and repost as a "i can freeze this thing'. fck
I know EXACTLY how this works asshole. I was making a point that this sort of code ONLY works under Win9X (and that it can be done in less lines than the org. poster did). If you don't care to read an entire thread, don't post your fucking replies because you're out of context.
I know if I write it bad enough, I could write a C program that would allocate 9M of memory and have the only functional thing it does is be to print out "Hello world."
I understand your point but realistically: I would challenge anyone to demonstrate that. I've used the most outragous windowing frameworks (mostly to disregard after an initial test) but never have I seen a way for a C (or even C++) program which sole purpose is to display Hello World to require 9MB of memory.
I can write a C program that uses all of Windows system memory and crashes the box, in only 3 lines.
That code will only 'work' if you compile it with a 16 bit compiler into a DOS app and then only on early versions of Win9x. If you use a 32 bit compiler, it will probably choke on the 'far' but if it doesn't, the executable will just crash and no harm done. Windows will kill it, it won't kill Windows.
It has been long known that DOS apps can crash the early Win9x boxen. Big deal. Try:
void main( void ) {
asm cli
asm hlt }
A few other notes: That's (a) not 3 lines of code and (b) is missing the 'main' function.
In any case, your code is off-topic because it doesn't allocate 9MB which is what this was all about.
One thing that has always given me some hope with all this DMCA stuff is that it only takes one sensible country to not accept it, and development can go on (albeit hampered.)
So long as there are countries that are considered 'tax havens' I don't think you have a lot to worry about. Despite how we feel about things in our constricted world, there are bigger fish to fry.
Well, the major thing where JWZ's interpretation of Melton's email is wrong is in saying that Mozilla is slow. I agree that that's simply not true.
However, the Mozilla code IS gigantic (my last download is 223MB of source), it IS a bloated mess (yes, if they would seperate the render engine a bit more things would certainly improve) and the internal API IS more or less flamboyantly baroque.
Again, I urge you to look at the KHTML source and see the difference. The Moz render engine may seem understandable from a glance but did you ever try to compile it, let alone port it to an other platform?
You are right though about the Moz engine being more standards compliant, but personally I'd rather work on a browser that's simple and small and make it more standards compliant.
"Translated through a de-weaselizer, (Melton's e-mail) says: 'Even though some of us used to work on Mozilla, we have to admit that the Mozilla code is a gigantic, bloated mess, not to mention slow, and with an internal API so flamboyantly baroque that frankly we can't even comprehend where to begin,'" Zawinski wrote.
Well, no offense, but is Melton wrong?
I mean, download the source for both and look at the difference. The sheer volume of Mozilla is overwhelming even for the experienced programmers.
There has been an enormous effort gone into Mozilla and it shows, but I think it still has a way to go.
And I love this quote:
"Gecko is already embedded and distributed in real-world applications from Red Hat, IBM, OEone, Netscape and CompuServe, and we look forward to the upcoming releases of Gecko-based products that are currently in development."
Yes, and of course KHTML is not used in the "real" world.
First if all, hardware acceleration for the DES variants is great.
The other stuff, well, with Linus working there and all, I think that there's good change that these will not be features one can only know about by signing a crazy NDA.
And quite honestly, there's nothing wrong with having support for key management in hardware. It is, if implemented correctly, a big step in making it harder for malicous code to get a hold of private keys for example.
Note also that nowhere in the article the term 'DRM' is used. DRM has become a disgusting word, probably because it is seen as the RIAA and MPAA's whore. But those are not the only parties that will benefit from good encryption, which is what this article is about. (in fact I think it will turn out that the RIAA & MPAA will not benefit from this, but that's a whole nother story)
I think there's a lot of FUD about security being implemented in our PC hardware, mainly because it seems like those features are maybe not going to be accessible to 'us'. But there's no reason why the workings of such features would be hidden, after all security by obscurity is not security.
In the end we may all benefit, this kind of stuff is long overdue; in fact I personally think it's nutts what's going with all this 'homeland security' bullshit, but the need for better security in our PCs was much needed, even pre 9-11.
Anyways, if you are worried about not being able to get the latest tunes off a P2P, well, maybe not, but most likely these things will not have any influence. After all, _most_ current CDs are very rippable and the new stuff isn't worth listening to in the first place;-) Seriously though, so long as we don't have encryption built into our brain, we will always be able to record whatever we hear and see.
Why has the Windows Source Code, arguably the most valuable piece of source code in history, never been leaked?
I'll give you some answers. I won't go into details of me personally, which you hopefully understand after reading this but here's the few personal things I _will_ say:
- I worked for M$ - I was not a developer - I had full access to the source of a Windows version (it was not an NT/2K/XP variant, the source was available to everyone on the M$ network who knew where to find it) - this was several years ago, things have changed, no doubt
Now, back to answering your question. First of all, some common sense answers:
- because it would be illegal? - because they are not anti-M$? - because it doesn't occur to them that it would be a 'good thing' to do?
I'll take your suggestions backwards:
Microsoft's security is just that good?
Obviously not.
People are too scared of Microsoft to do it, even with anonymizing technology?
Exactly, I think your question answered that already quite nicely when you said "arguably the most valuable piece of source code in history"
with all that in mind someone would consider: - who would want to risk a reasonable career, for exactly what? - who knows if my access to the source is watermarked? - as someone suggested with the analogy of the Coke formula: is it really that unique that it's worth risking anything for? (believe me, it's not. In fact you CAN look at large pieces of M$ source, just go download a DDK)
Now, from what I have seen, there _is_ some evidence that could have helped the DOJ case regarding the non-competitive stuff with DR-DOS which can be found in the source.
This may have been a valid reason for someone to leak it, but the question is, would you trust the government or anyone enough to protect you so that you can continue the live that you want to have, after you did?
Or even more importantly, should the government be able to get and find this information by it's own, legal, resources?
I think it's a tough choice to risk an already way too short time as a productive developer to deal with lawsuits and what not.
Just a few thoughts;-) (I trust Rob to provide the "anonymizing technology")
C subverts that meaning with arcane rules. Indeed int z = x * 1/2;// == 1 gives a different value than int y = 1/2 *x;// == 0
And you would have expected otherwise? You are doing integer math (which is certainly not confined to C programming). What you wrote could also be written as:
int z = x / 2; int y = 0 * x;
So I think it makes a lot of sense that the results can be different.
I really don't understand what point you are trying to make.
[Arithmetic according to C: float x = 3.14159; int y = 1/2 * x; Value of y? zero.]
errhhmm, you're converting y to an int so it rounds to the nearest whole number...
uhm, no, that's not the reason.
The reason is that the numbers 1 and 2 are integer, which means that 1/2 results in 0.
He should have written int y = 1.0 / 2.0 * x;
The original comment (Arithmetic according to C) is silly. If you don't understand the way types work in C, use an other language. It's obviously not for you.
It won't be more than a year or two before those tiny devices can run at 480 by 640
About two years ago, my wife brought home the prototype of a PDA/cell phone thingy. (the day before Andy Grove had showed the exact device at a wireless conference; I still wonder how she got a hold of it:-O) I can't remember the name, but it was once covered here on/. I believe it may have been a Korean company. (that really narrows it down, I know...)
Anyways, this thing had a 640x480 display and the device itself wasn't really bigger than say an iPaq. The most amazing thing was that it _actually_ worked. The built in phone worked fine and browsing was actually quite acceptable. The only thing that didn't work was the bluetooth pen that was supposed to double as the earpiece.
Well, I was very impressed to see the device that I had always wanted and had dreamed of. So I played with it for at least 5 minutes, thought 'ok, it can be done', and went back to doing fun stuff.
Gates sounded very unprofessional and not like himself in the interview
almost like he was attacking the FOCUS interviewer
Sounds like he was himself alright...
Yeah, but the $100K would be coming straight out of Michael Robertson's pocket. I'd take it if I where M$.
(Michael Robertson, who of course does this for business goals, there is after all no business justification into selling a little bundle of a keyboard/mouse/Lindows to XBox users. Microsoft understands that)
I totally agree this is bad.
:-)
I understand Phoenix is trying to protect their business, but really, the days of the BIOS as it is should be over.
The BIOS is a legacy piece of crap that serves practically no purpose, but to boot the OS.
The services provided for the "Input/Output" go largely unused, mainly because the majority are 16 bit services and no modern OS has a way to call them in the first place (well, without a high latency). Even the 32 bit services go largely unused,- PCI for example is practically always implemented by a driver that does direct IO vs. calling the BIOS.
In other words, non of the most prominent operating systems call the BIOS for services such as RS-232, IDE, LPT, Video, you name it, after the apprioriate drivers are loaded.
The REAL purpose of the BIOS should be: initialize the hardware up to a point so that it can boot the OS. This means memory initialization, some timer and interrupt related stuff and whatever code is required for the boot devices (I personally think IDE and Ethernet are the most important, but I can see that USB and SCSI are important to a lot of people)
After that the BIOS should load the OS image and be done.
Don't think I'm making this thing up; I've actually implemented a boot loader that completely eliminated the need for a BIOS and it was very fast; ready to boot of the harddrive as soon as the harddrive was spin up (e.g. 3 seconds!)
LinuxBIOS is doing something similar.
Anyways, sorry for this little rant without any proper links or so, but I gotta go to be in time for Apres-Ski happy hour!
I know more Java programmers than C programmers .... and all C programmers I know program Java now.
... ah forgett it you wont belive it anyway ...
All industry software projects I'm involved in are in
HINT: its not C and its not C++.
Maybe in the world you are in, but if I look on my PC there's not one single application that's written in Java. I write software for embedded systems and that mostly still C and C++ (with a touch of assembler).
Furthermore, an implementation in C would be more useful because practically any platform supports a C compiler, whereas by far not all do support a Java VM.
Not that I think an implementation in Java is bad though. It may be that the majority of apps needing this technology are actually written in Java...
There is one important detail missing from your list that the article touches upon:
;-)
So I plan on installing and using TurboTax on my second machine at home - the one my wife usually uses. That way if it breaks, I won't be completely out of luck. (emph. mine)
Although the conclusion seems rather odd, cause I'm sure he'd be completely out of luck for quite a while.
Track 0, sector 0 is the boot sector.
Actually, no (assuming you are talking about cylinder 0). On a harddrive that would be the MBR (Master Boot Record). The MBR has a table of pointers to partitions. Originally the MBR had room for 4 pointers to partitions but that was extended later.
So, one of the partitions would be the Windows partition. The first sector in that partition is actually the boot sector.
I know it's nitpicking, but I thought it might be useful.
Updating the kernel causes a re-compile of the drivers, but I wrote a script to do that so it's no hassle now. OK, they're closed source drivers in reality, but I don't care - my card works as I want.
Please clarify (how does one re-compile a closed source driver?). Not a big deal, I'm just curious what's needed to get this setup running.
...the term 'engineer' is used very loosely when you are refering to software engineers...
;-)
:-O
;-)
Well that's what hardware engineers think when the software engineer disagrees to install MS-DOS 3.3 to test the hardware.
Seriously though, I've been through two board bringups, both Intel Architecture.
The first board was considered 'done' by the hardware guys, after it booted DOS. I told them that that was not really a test, and sure enough months (and numerous patch wires) later we finally were able to use _all_ the features on the board and boot Linux and Win95.
On the second board I was most impressed with the software tools hardware guys used. NOT! Although the board was more or less up and running I found a couple of places where transmits were connected to transmits and receives to receives. I asked why the schematic capture tools didn't catch such obvious mistakes. I know the software can, but quite honestly, all the software used for hardware design feels like it was written by, uh, hardware guys.
Seriously though, the software tools that hardware engineers use leave a lot to be desired (I mean, the last board I worked on was in 2002 and they used a DOS based program to do the layout for peet's sake)
In defense of the hardware engineer though, he'd use symbols provided by the manufacturer and they, for some reason, could not be bothered to indicated the type of signal a pin has properly (e.g. input, output, bidir, etc..)
Until today I never understand why they'd risk the change of having to do a new rev of a board vs the cost of spending a few minutes to create the symbols properly.
Then again, I've seen software 'engineers' do the same stupid stuff.
oh.the old cli,hlt thing. read a little bit about multitasking and then you know why it happens in Win9X series but not in WinNT series. your post is typical. read it somewhere and repost as a "i can freeze this thing'. fck
I know EXACTLY how this works asshole. I was making a point that this sort of code ONLY works under Win9X (and that it can be done in less lines than the org. poster did). If you don't care to read an entire thread, don't post your fucking replies because you're out of context.
I know if I write it bad enough, I could write a C program that would allocate 9M of memory and have the only functional thing it does is be to print out "Hello world."
I understand your point but realistically: I would challenge anyone to demonstrate that. I've used the most outragous windowing frameworks (mostly to disregard after an initial test) but never have I seen a way for a C (or even C++) program which sole purpose is to display Hello World to require 9MB of memory.
That code will only 'work' if you compile it with a 16 bit compiler into a DOS app and then only on early versions of Win9x. If you use a 32 bit compiler, it will probably choke on the 'far' but if it doesn't, the executable will just crash and no harm done. Windows will kill it, it won't kill Windows.
It has been long known that DOS apps can crash the early Win9x boxen. Big deal. Try:A few other notes: That's (a) not 3 lines of code and (b) is missing the 'main' function.
In any case, your code is off-topic because it doesn't allocate 9MB which is what this was all about.
that get's a little nervous about the idea that my data is accessed through a sensor 'only a few atoms wide'?
One thing that has always given me some hope with all this DMCA stuff is that it only takes one sensible country to not accept it, and development can go on (albeit hampered.)
So long as there are countries that are considered 'tax havens' I don't think you have a lot to worry about. Despite how we feel about things in our constricted world, there are bigger fish to fry.
and his pseudo-quasi-girlfriend that he met on IRC
Pfew.... Oh dear, just wait until his wife reads this comment.
Well, the major thing where JWZ's interpretation of Melton's email is wrong is in saying that Mozilla is slow. I agree that that's simply not true.
However, the Mozilla code IS gigantic (my last download is 223MB of source), it IS a bloated mess (yes, if they would seperate the render engine a bit more things would certainly improve) and the internal API IS more or less flamboyantly baroque.
Again, I urge you to look at the KHTML source and see the difference. The Moz render engine may seem understandable from a glance but did you ever try to compile it, let alone port it to an other platform?
You are right though about the Moz engine being more standards compliant, but personally I'd rather work on a browser that's simple and small and make it more standards compliant.
The point was not to dis KHTML, but to rebut the implication that Gecko is too complicated for real world use.
Ah right, my bad. That was not the way I read it, I didn't imagine anyone would question that. But I can see your point.
"Translated through a de-weaselizer, (Melton's e-mail) says: 'Even though some of us used to work on Mozilla, we have to admit that the Mozilla code is a gigantic, bloated mess, not to mention slow, and with an internal API so flamboyantly baroque that frankly we can't even comprehend where to begin,'" Zawinski wrote.
Well, no offense, but is Melton wrong?
I mean, download the source for both and look at the difference. The sheer volume of Mozilla is overwhelming even for the experienced programmers.
There has been an enormous effort gone into Mozilla and it shows, but I think it still has a way to go.
And I love this quote:
"Gecko is already embedded and distributed in real-world applications from Red Hat, IBM, OEone, Netscape and CompuServe, and we look forward to the upcoming releases of Gecko-based products that are currently in development."
Yes, and of course KHTML is not used in the "real" world.
First if all, hardware acceleration for the DES variants is great.
;-) Seriously though, so long as we don't have encryption built into our brain, we will always be able to record whatever we hear and see.
The other stuff, well, with Linus working there and all, I think that there's good change that these will not be features one can only know about by signing a crazy NDA.
And quite honestly, there's nothing wrong with having support for key management in hardware. It is, if implemented correctly, a big step in making it harder for malicous code to get a hold of private keys for example.
Note also that nowhere in the article the term 'DRM' is used. DRM has become a disgusting word, probably because it is seen as the RIAA and MPAA's whore. But those are not the only parties that will benefit from good encryption, which is what this article is about. (in fact I think it will turn out that the RIAA & MPAA will not benefit from this, but that's a whole nother story)
I think there's a lot of FUD about security being implemented in our PC hardware, mainly because it seems like those features are maybe not going to be accessible to 'us'. But there's no reason why the workings of such features would be hidden, after all security by obscurity is not security.
In the end we may all benefit, this kind of stuff is long overdue; in fact I personally think it's nutts what's going with all this 'homeland security' bullshit, but the need for better security in our PCs was much needed, even pre 9-11.
Anyways, if you are worried about not being able to get the latest tunes off a P2P, well, maybe not, but most likely these things will not have any influence. After all, _most_ current CDs are very rippable and the new stuff isn't worth listening to in the first place
Why has the Windows Source Code, arguably the most valuable piece of source code in history, never been leaked?
;-)
I'll give you some answers. I won't go into details of me personally, which you hopefully understand after reading this but here's the few personal things I _will_ say:
- I worked for M$
- I was not a developer
- I had full access to the source of a Windows version (it was not an NT/2K/XP variant, the source was available to everyone on the M$ network who knew where to find it)
- this was several years ago, things have changed, no doubt
Now, back to answering your question. First of all, some common sense answers:
- because it would be illegal?
- because they are not anti-M$?
- because it doesn't occur to them that it would be a 'good thing' to do?
I'll take your suggestions backwards:
Microsoft's security is just that good?
Obviously not.
People are too scared of Microsoft to do it, even with anonymizing technology?
Exactly, I think your question answered that already quite nicely when you said "arguably the most valuable piece of source code in history"
with all that in mind someone would consider:
- who would want to risk a reasonable career, for exactly what?
- who knows if my access to the source is watermarked?
- as someone suggested with the analogy of the Coke formula: is it really that unique that it's worth risking anything for? (believe me, it's not. In fact you CAN look at large pieces of M$ source, just go download a DDK)
Now, from what I have seen, there _is_ some evidence that could have helped the DOJ case regarding the non-competitive stuff with DR-DOS which can be found in the source.
This may have been a valid reason for someone to leak it, but the question is, would you trust the government or anyone enough to protect you so that you can continue the live that you want to have, after you did?
Or even more importantly, should the government be able to get and find this information by it's own, legal, resources?
I think it's a tough choice to risk an already way too short time as a productive developer to deal with lawsuits and what not.
Just a few thoughts
(I trust Rob to provide the "anonymizing technology")
in the report for the 28th it says: blinking lights
/. stand above the rest.
Obviously this should be blinken lights.
Not to be anal or anything, but I think the lack of these type of errors is exactly what makes
C subverts that meaning with arcane rules. Indeed // == 1 // == 0
int z = x * 1/2;
gives a different value than
int y = 1/2 *x;
And you would have expected otherwise? You are doing integer math (which is certainly not confined to C programming). What you wrote could also be written as:
int z = x / 2;
int y = 0 * x;
So I think it makes a lot of sense that the results can be different.
I really don't understand what point you are trying to make.
[Arithmetic according to C: float x = 3.14159; int y = 1/2 * x; Value of y? zero.]
errhhmm, you're converting y to an int so it rounds to the nearest whole number...
uhm, no, that's not the reason.
The reason is that the numbers 1 and 2 are integer, which means that 1/2 results in 0.
He should have written int y = 1.0 / 2.0 * x;
The original comment (Arithmetic according to C) is silly. If you don't understand the way types work in C, use an other language. It's obviously not for you.
I know it's completely off-topic, but you could have at least warned for that other page they link to. It's at least an order of magnitud funnier. :)
Imagine the largest human library in existance accessible from a device that sits in your pocket.
Just so long as it has in large friendly letters "Don't Panic" on the cover.
It won't be more than a year or two before those tiny devices can run at 480 by 640
:-O) I can't remember the name, but it was once covered here on /. I believe it may have been a Korean company. (that really narrows it down, I know...)
About two years ago, my wife brought home the prototype of a PDA/cell phone thingy. (the day before Andy Grove had showed the exact device at a wireless conference; I still wonder how she got a hold of it
Anyways, this thing had a 640x480 display and the device itself wasn't really bigger than say an iPaq. The most amazing thing was that it _actually_ worked. The built in phone worked fine and browsing was actually quite acceptable. The only thing that didn't work was the bluetooth pen that was supposed to double as the earpiece.
Well, I was very impressed to see the device that I had always wanted and had dreamed of. So I played with it for at least 5 minutes, thought 'ok, it can be done', and went back to doing fun stuff.