If you want to let the BIOS "know" you can use the platform option in/sys/power/disk. If this is broken you can use shutdown instead. I believe the former effectively uses S4 and may have beneficial results (e.g. faster startup when powering back on, power light pulsing while hibernating/restarting) if it isn't broken.
On Linux usb ports can be powered down to save power. However it turns out that many USB devices are broken and can't cope with being powered down. Now the question comes up what version of Linux are you using? If it's something older than 6 months then there's a good chance this has been fixed (the list of things allowed to be powered down has gone from a blacklist to a whitelist of large categories). See this commit talking about the kernel no longer powering anything down bar USB hubs for some more details.
As mentioned in the counter argument article I'm not sure why double diverse could not be applied (using a range of "hardware") to help you ferret out the problem (assuming portable code). What you are saying is that every piece of hardware (old/new coupled with different architectures and VMs) I could choose to do testing with has been trojaned. It's not impossible but...
I'm not saying it would be easy to find, I'm not even saying you wouldn't have to build/verify hardware yourself but I believe it could be made to exist if you had the resources and it didn't exist already.
Basically so long as I have another set of compilers AND at least one is trustworthy then there is process I can follow to build a compiler I can trust (but where it would help to have the compiler sources). There are other reasons why such an issue might find it hard to propagate in a changing software stack but that's a side note.
This seems to be a very popular Slashdot meme - people keep mentioning Trusting Trust without also answering the points offered in more recent literature.
I occasionally post the counter argument in a reply but no one sees it... Next time you see someone else with this behaviour tr, here's ammo for countering it.
(I believe the gcc rebuilds aren't so much to remove this type of intentional bugging but rather ensure the final binary is free from things like first compilation optimisation issues... Comparing the compiler binaries would probably indicate differences due to things like dates being present BUT hopefully what they would output on a given source would be the same)
For some reason Fedora has to re-key all their repos and, while I think that's done, it's still being mirrored. One would assume a signing key has been lost.
Have you already read the Fedora report? Fedora did release a report about the incident. Within it they say that while an attacker was able to reach a Fedora signing system they do not believe that the key's passphrase was compromised. However it states that as precaution they have decided to create a new key.
The Red Hat side of things is different and far... trickier. I point you towards this LWN article about the intrusion as I think it's hard to say such simple statements about it.
Unlike Darwin I don't believe NT integrated any code from Mach in its past. It may may share some of the same goals but I don't think it would be fair to say it's based on it...
Given that a lot of subsystems on NT run in the same address space I doubt its that part of its design that makes process spawning slower than thread spawning.
I'm afraid this proliferation of Javascript engines is going to continue unless one becomes available with no strings attached that bests all others in all areas on all platforms. Perhaps that is Google's ultimate goal (if they force such an engine into existence everything else will have to think hard about not adopting it)?
Swansea University while not huge (I'm guessing at some point you were/are at Swansea Metropolitan) is certainly big enough that you can't know everyone. At these places if you aren't related to the non-undergrad side of you'll find there are plenty of folks you won't know but who know each other (and each other's nicknames etc).
A rash of "quotes" broke out of locked compound today and have been rampaging across various websites. Many feared that "The quotes" (as the gang was known inside) would seek to liberate their brethren leading to misattribution and thus striking a blow against punctuation.
"The quotes" have now been sighted on several Slashdot stories with many wondering if there is a pattern to their current appearances. Police say that "even 'single quote' should not be approached lightly as other gang members may be close by".
By current units sold market share VIA is small. My understanding is that it's roughly 40% Intel, 30% NVIDIA, 20% AMD and everyone else is crammed into the remainder 10% (that's total shipments of both desktops and platforms, discrete and integrated cards). (Rummages around web) Here's a link to GPU units sold in the second and third quarters of 2007. It looks like VIA sold almost 3 times less than ATI (but they seem to be on an upward progression).
It's the timing that makes this more interesting because Intel have pushed so much work on their open source drivers they are now the easiest "current" GPUs to get going on systems like Linux. Intel have done this by hiring engineers to work on Linux AND releasing specs which is kinda a double whammy. If this turns out to be the only way companies can achieve a similar smooth out of the box operation on FOSS OSes it's not going to cheap for others. It's also interesting that AMD had also taken big steps in specs and drivers direction before this move by VIA. Some would argue VIA's hand has been forced into this if they wish to remain relevant in the FOSS playground. Others point out that this is a process that can only be started by a willing company.
This is a brave play by VIA but there are more challenges to come. The next question is what they do with regard to the OpenChrome and Unichrome drivers and how to integrate the work they've done into the xorg development process. Judging from their Linux kernel integration it looks doable so long as VIA have some help.
While Slashdot might not be the place that company movers and shakers read, it's interesting to follow your replies and justifications for the article here (and of course it has encouraged me to read the article itself).
... and that since it's not rigourous enough we should be using other languages like Scala. If Java's type system IS enough (but incomplete) then the argument goes why should dynamically typed languages be singled out for not being robust enough on bigger code bases? I'm paraphrasing from the Static Typing's Paper Tigers section of Steve Yegge's Rhino's and Tigers blog post though.
I doubt that dynamic languages slowness would be solved (today without new research) if they switched to static typing though... Surely dynamic languages could target VMs like the JVM or CLR and that may ultimately lead them to running just as fast as Java or C#? If that were the case the speed problem would not be down to their dynamic nature but perhaps something like the lack of extensive JITing...
Well so long as I have another set of compilers AND at least one is trustworthy then there is process I can follow to build a compiler I can trust. After spotting differences in the resulting binary I would also need to (ah-ha) examine the source code of the used compilers and find out which one is mis-generating the binary and fix it.
At some point I need to be able to understand binary and read the source of the compiler that generated that binary to ensure that someone else is not jacking me.
This is pedantry but the Linux kernel supports registering interpreters with different types of binaries already (look for binfmt_misc ). It is already possible to execute a Windows program on the command line (e.g. by doing./notepad.exe ) and have it quietly start the program using wine... You can do similar things with Java or Mono.
As hardware evolves much of the functionality of the driver moved into firmware eg. hard disk drives and graphics cards.
Well I think only things that do not change, require speed or reduce costs migrate their way into hardware firmware over time. As a counterexample to the above quote note that most modern soundcards no longer do hardware mixing (instead leaving the job to the operating system which can sometimes be desirable as you know the feature will be supported everywhere). Another example is hardware encryption on wifi cards. Once upon a time encryption like WEP was done on the hardware. These days it is cheaper to build cards that can pass frames to the host OS to encrypt and then send those (plus it means new encryption can be supported by upgrading the OS rather than the card firmware (assuming the card had the power to do the new type of encryption in the first place)). Also see how winmodems took off once CPU speeds became high enough.
...and languages like SML or Haskell have this rigour within their type systems. Supposedly Scala (which uses the JVM) also has a rigorous type system but there's a language complexity price. Folks programming in Java can get around those problems by using "Good Engineering Principles" (see the "Static Typing's Paper Tigers" section) and if the Java folks don't need to go the whole hog on their type system...
(Writing drivers is not impossible but it does take time to become good and without specs it's is a tricky trial and error process. If you're even a bit interested, dive in!)
I was trying to say "I don't think it was Edge that reviewed Bubsy3D because Edge gives integer marks from 1-10 and the mark you mentioned for Bubsy3D was a percentage".
I wasn't saying that the average (median, mode etc) would be 5 or that the full spectrum of the scale from 1-10 was fully utilised according to some distribution curve. At times it seemed like the magazine was biased to only writing reviews for popular games (and it was years before they gave their first ever 10 for Gran Turismo). Edge has never tried to review every last game for every system released in a given month (e.g. Bubsy3D) but instead used to focus higher profile games (or ones that drew attention/acclaim).
You can see a video of Arjan's EeePC 901 5 second boot on youtube. It's not the 3 seconds you're asking for but it's still somewhat fast right?
If you want to let the BIOS "know" you can use the platform option in /sys/power/disk. If this is broken you can use shutdown instead. I believe the former effectively uses S4 and may have beneficial results (e.g. faster startup when powering back on, power light pulsing while hibernating/restarting) if it isn't broken.
On Linux usb ports can be powered down to save power. However it turns out that many USB devices are broken and can't cope with being powered down. Now the question comes up what version of Linux are you using? If it's something older than 6 months then there's a good chance this has been fixed (the list of things allowed to be powered down has gone from a blacklist to a whitelist of large categories). See this commit talking about the kernel no longer powering anything down bar USB hubs for some more details.
A very short term band aid might be to disable usb autosuspend on that device via /sys/.
I've seen the Fibonacci sequence used to show worst case input scenario in at least one algorithm.
As mentioned in the counter argument article I'm not sure why double diverse could not be applied (using a range of "hardware") to help you ferret out the problem (assuming portable code). What you are saying is that every piece of hardware (old/new coupled with different architectures and VMs) I could choose to do testing with has been trojaned. It's not impossible but...
I'm not saying it would be easy to find, I'm not even saying you wouldn't have to build/verify hardware yourself but I believe it could be made to exist if you had the resources and it didn't exist already.
...reading for anyone who references Trusting Trust alone! Here are links to the original Ken Thompson's "Reflections on Trusting Trust" (HTML/non-PDF version) and David A. Wheeler's "Countering Trusting Trust" which offers potential solutions to the issues raised in the original.
Basically so long as I have another set of compilers AND at least one is trustworthy then there is process I can follow to build a compiler I can trust (but where it would help to have the compiler sources). There are other reasons why such an issue might find it hard to propagate in a changing software stack but that's a side note.
This seems to be a very popular Slashdot meme - people keep mentioning Trusting Trust without also answering the points offered in more recent literature.
Anyone who mentions Ken Thompson's Reflections on Trusting Trustshould also mention David A. Wheeler's "Countering Trusting Trust". Those who don't should be punished by having to argue both sides of the debate.
I occasionally post the counter argument in a reply but no one sees it... Next time you see someone else with this behaviour tr, here's ammo for countering it.
(I believe the gcc rebuilds aren't so much to remove this type of intentional bugging but rather ensure the final binary is free from things like first compilation optimisation issues... Comparing the compiler binaries would probably indicate differences due to things like dates being present BUT hopefully what they would output on a given source would be the same)
For some reason Fedora has to re-key all their repos and, while I think that's done, it's still being mirrored. One would assume a signing key has been lost.
Have you already read the Fedora report? Fedora did release a report about the incident. Within it they say that while an attacker was able to reach a Fedora signing system they do not believe that the key's passphrase was compromised. However it states that as precaution they have decided to create a new key.
The Red Hat side of things is different and far... trickier. I point you towards this LWN article about the intrusion as I think it's hard to say such simple statements about it.
Unlike Darwin I don't believe NT integrated any code from Mach in its past. It may may share some of the same goals but I don't think it would be fair to say it's based on it...
Given that a lot of subsystems on NT run in the same address space I doubt its that part of its design that makes process spawning slower than thread spawning.
The current Firefox 3 Javascript engine is Spidermonkey. There is already work happening apace to use the Adobe donated Tamarin Actionscript VM within the next Firefox Javascript engine which will bring features like JIT compilation to the table.
I'm afraid this proliferation of Javascript engines is going to continue unless one becomes available with no strings attached that bests all others in all areas on all platforms. Perhaps that is Google's ultimate goal (if they force such an engine into existence everything else will have to think hard about not adopting it)?
Swansea University while not huge (I'm guessing at some point you were/are at Swansea Metropolitan) is certainly big enough that you can't know everyone. At these places if you aren't related to the non-undergrad side of you'll find there are plenty of folks you won't know but who know each other (and each other's nicknames etc).
A rash of "quotes" broke out of locked compound today and have been rampaging across various websites. Many feared that "The quotes" (as the gang was known inside) would seek to liberate their brethren leading to misattribution and thus striking a blow against punctuation.
"The quotes" have now been sighted on several Slashdot stories with many wondering if there is a pattern to their current appearances. Police say that "even 'single quote' should not be approached lightly as other gang members may be close by".
Are you saying you have been working for Swansea University for free? Surely as an Research Assistant with a PhD you achieve an income from there too?
By current units sold market share VIA is small. My understanding is that it's roughly 40% Intel, 30% NVIDIA, 20% AMD and everyone else is crammed into the remainder 10% (that's total shipments of both desktops and platforms, discrete and integrated cards). (Rummages around web) Here's a link to GPU units sold in the second and third quarters of 2007. It looks like VIA sold almost 3 times less than ATI (but they seem to be on an upward progression).
It's the timing that makes this more interesting because Intel have pushed so much work on their open source drivers they are now the easiest "current" GPUs to get going on systems like Linux. Intel have done this by hiring engineers to work on Linux AND releasing specs which is kinda a double whammy. If this turns out to be the only way companies can achieve a similar smooth out of the box operation on FOSS OSes it's not going to cheap for others. It's also interesting that AMD had also taken big steps in specs and drivers direction before this move by VIA. Some would argue VIA's hand has been forced into this if they wish to remain relevant in the FOSS playground. Others point out that this is a process that can only be started by a willing company.
This is a brave play by VIA but there are more challenges to come. The next question is what they do with regard to the OpenChrome and Unichrome drivers and how to integrate the work they've done into the xorg development process. Judging from their Linux kernel integration it looks doable so long as VIA have some help.
While Slashdot might not be the place that company movers and shakers read, it's interesting to follow your replies and justifications for the article here (and of course it has encouraged me to read the article itself).
... and that since it's not rigourous enough we should be using other languages like Scala. If Java's type system IS enough (but incomplete) then the argument goes why should dynamically typed languages be singled out for not being robust enough on bigger code bases? I'm paraphrasing from the Static Typing's Paper Tigers section of Steve Yegge's Rhino's and Tigers blog post though.
I doubt that dynamic languages slowness would be solved (today without new research) if they switched to static typing though... Surely dynamic languages could target VMs like the JVM or CLR and that may ultimately lead them to running just as fast as Java or C#? If that were the case the speed problem would not be down to their dynamic nature but perhaps something like the lack of extensive JITing...
How can you reference Ken Thompson's "Reflections on Trusting Trust" (HTML/non-PDF version) without also mentioning David A. Wheeler's "Countering Trusting Trust" (as found via Bruce Schneier's blog)? So to answer your question:
What if you can't even trust your compiler?
Well so long as I have another set of compilers AND at least one is trustworthy then there is process I can follow to build a compiler I can trust. After spotting differences in the resulting binary I would also need to (ah-ha) examine the source code of the used compilers and find out which one is mis-generating the binary and fix it.
At some point I need to be able to understand binary and read the source of the compiler that generated that binary to ensure that someone else is not jacking me.
This is pedantry but the Linux kernel supports registering interpreters with different types of binaries already (look for binfmt_misc ). It is already possible to execute a Windows program on the command line (e.g. by doing ./notepad.exe ) and have it quietly start the program using wine... You can do similar things with Java or Mono.
Well I think only things that do not change, require speed or reduce costs migrate their way into hardware firmware over time. As a counterexample to the above quote note that most modern soundcards no longer do hardware mixing (instead leaving the job to the operating system which can sometimes be desirable as you know the feature will be supported everywhere). Another example is hardware encryption on wifi cards. Once upon a time encryption like WEP was done on the hardware. These days it is cheaper to build cards that can pass frames to the host OS to encrypt and then send those (plus it means new encryption can be supported by upgrading the OS rather than the card firmware (assuming the card had the power to do the new type of encryption in the first place)). Also see how winmodems took off once CPU speeds became high enough.
...and languages like SML or Haskell have this rigour within their type systems. Supposedly Scala (which uses the JVM) also has a rigorous type system but there's a language complexity price. Folks programming in Java can get around those problems by using "Good Engineering Principles" (see the "Static Typing's Paper Tigers" section) and if the Java folks don't need to go the whole hog on their type system...
Memory on the OSX Firefox is tougher to release because OS X doesn't do anything with the madvise/msync syscalls used on free up memory on some other platforms (see Measuring Memory Use). OSX memory usage should apparently level off at a peak though.
Memory that is being shared between processes (e.g. through the use of libraries) is actually counted towards the RSS so something that is sharing a lot of pieces with another process may appear artificially high.
Look at this article talking about memory usage in Firefox 3 by mozilla dev Parlov. There is a graph there that suggests Firefox 2 uses around 80Mbytes more memory than Firefox 3 over time.
Take a look at the Linux driver project or something like GregKH's driver tutorial. You aren't alone in wanting to write drivers for Linux. The catch is that most (new) hardware with specs actually already has drivers available on Linux.
The trick is to start with simple hardware and then work your way up (graphics card drivers ARE hard especially if they have to be reverse engineered). There are also books like the fantastic Linux Device Drivers that describe how drivers can be written.
(Writing drivers is not impossible but it does take time to become good and without specs it's is a tricky trial and error process. If you're even a bit interested, dive in!)
I was trying to say "I don't think it was Edge that reviewed Bubsy3D because Edge gives integer marks from 1-10 and the mark you mentioned for Bubsy3D was a percentage".
I wasn't saying that the average (median, mode etc) would be 5 or that the full spectrum of the scale from 1-10 was fully utilised according to some distribution curve. At times it seemed like the magazine was biased to only writing reviews for popular games (and it was years before they gave their first ever 10 for Gran Turismo). Edge has never tried to review every last game for every system released in a given month (e.g. Bubsy3D) but instead used to focus higher profile games (or ones that drew attention/acclaim).