This is something that annoys me - programs that just go 'Segmentation Fault' in the night... What do you do with a seg fault? How do you find the cause of a seg fault? What causes them? Unmatched libraries and application code? Null / Uninitialised pointer exceptions?
I take that you're using Linux or something similar. Suppose you were running./foo and it went belly up (core dumped). Simply "gdb./foo core" and you can see what the program was doing when it died. Usually simple "bt" for backtrace is enough to find the reason. If you didn't get core file you might want to check your limits (man ulimit). Usually segmentation fault is caused by incautious pointer usage - programmer made a copy of pointer and used it after original resource was freed or something like that. If you see segmentation fault in malloc() you can be pretty sure that the problem is some extra free().
Simple idioms such as Resource
Acquisition Is Initialisation (RAII) are much more reliable than manual pointer checks.
... but only if your programming language is capable on enforcing them. Most OSS projects use C so programmers have to check pointers - at least in the debug builds of libraries.
[Speaking about the problems with error recovery...] What if some code hundreds of lines away expected this to have worked?
In that case this part of code is correct and the one that "expects" this part executed successfully is the buggy one. You're missing similar check(s) there!
The assert()-way is for programmers who don't want to handle exceptions but trust that they don't happen. Assert() clauses are used during developement to catch programming errors but they are usually removed from final release "because it runs faster that way". Even so, I think assert() is better than nothing. If you don't want to do real exception handling you should at least use assert()s.
If x86-64 succeeds would it be possible to get rid of x86-32? Could SSE and SSE2 be used to get rid of x87 entirely? It would be much easier to compile code for a CPU with 16 64-bit integer registers and 16 128-bit FPU/SIMD registers with direct access without stack or similar kludges. After OS and most of the apps we use support x86-64, AMD could sell a "crippled" Hammer that would be missing x86-32 support including x87 - you'd have to emulate x86-32 but hopefully you'd only have to run old 32-bit apps so your performance would be good enough. You would need new bios without requirement for 16-bit or 32-bit instructions to boot with but your CPU could be cheaper. I don't know if Hammer enforces to use of only "new" instructions when in x86-64 mode, but I would hope so. The question is how much burden the unneeded part of ISA is in the end?
By the way, does anybody know if I can run Hammer in 32 and 64 bit modes "simultaneously" so that I have some of my apps fully 64 bit and other legacy apps? Does it hurt my task switching performance seriously that processor is running in different modes with different processes? Will Hammer be faster for 32-bit or 64-bit code? If I don't need 64-bit address space should I compile my code for 32-bit instead for better performance? I would guess that even though 64-bit instructions are a bit harder to execute due to 2x memory requirements the increased register count would balance the things.
According to the article when Hammer is working in MP system each CPU handles part of the memory; should OS be able to send an application to specific processor according to physical memory it has allocated instead of current load of processor for best performance? If so, does any OS currently support this kind of arrangement? How hard it would be to make Linux support this?
are satisfied editing in emacs, compiling on the command line, and doing a pure text debug.
[moderators: read through the whole comment.] Well, I for one can't stand emacs nor vi for text editing but I rather use command line compiling than anything like IDEs - it's much simpler to script because once you know how to compile you know how to script it. Yeah, the learning curve is a little steeper but if you don't want to learn anything you shouldn't be programming in the first place. You shouldn't bash command line without a reason (pun intended;)
Why do I hate emacs? I have already an OS - I need just a text editor! You call Mozilla bloated? How many MB do you need for a text editor? I'd use vi if it didn't had those braindead modes and keys... Perhaps there's a reason why every programmer makes an editor of his/her own. Currently gcc is the most important program made by GNU. I'd hate to live without GNU make also. Emacs was important once but it's every day less so.
So yes, open source programs are written to scratch an itch and are therefore sometimes weird compared to other pieces of software in open source system. This is because every piece of software reflects its maker. On the other hand, commercial software is written to non-existant average person and it's perfect for nobody. This is a "design decision" not a bug. You wouldn't be happy with commercial software customized for somebody else either. The problem is who is going to pay to customize all those blocks to average user?
I don't know where do you live, but in Finland where I live, I can buy thin jevel case "TDK d-view" CD-R disks labelled as 16x for about $0.85 each - including.22 tax. The packaging looks the same as the previous 12x model. I think the rating has changed after the summer because I still have a couple of those 12x disks. I also have 10x CD-RW disks from TDK which seem to have great quality compared to competitor's products I have tried. There're disks with official rating of 24x from some manufacturers but they are expensive! And with better quality I mean the finalized disk is read faster by regular drive, not that the disk wouldn't work.
And yes, I have burned both 16x CD-Rs and 10x CD-RWs with my Lite-On burner without any problems. The quality is terrific: I can get 40x read ratings from disks I've burned with 16x. So much about decreasing burning speed to improve quality. And this is IDE only system with windows 98 and Linux! You really don't need that special hardware for cd writing.
By the way, I own IDE version of the Pioneer DVD drive mentioned in the article and I wouldn't suggest it to anybody looking forward to watch movies with it - it's simply too noisy for it. If you can rip full DVD to hd prior to watching and do without the disk for the movie it's great drive though.
Re:When will Mozilla Innovate?
on
Mozilla 0.9.5
·
· Score: 2
they could simply look for the plain text windows password and if it matches your mozilla password you are screwed
Using same username/password combo for multiple places is asking for getting fscked. Yeah, I do it also, but I have a couple of those combos and I use one combo for sites that don't matter (slashdot etc) and a couple others for places that I don't want other people to get into under any situation.
I'd be pretty happy with public key (eg. kerberos) style authentication for everything. Perhaps I would then use really safe password for my only login I need instead of multiple semi-safe like now.
The problem is that you cannot test everything. For example the symlink problem in question shows only when you write to symlinked file and the file pointed by symlink doesn't exists. Would there have been a test for this - probably not. What would be the correct action in the situation anyway?
Relying to test suite practically quarantees that there're bugs in your end product. Test can only guarantee that previously occurred bug doesn't happen again. This is because you cannot test all inputs for any non-trivial program. And practically all programs that can be proved to be correct are so trivial that one can hardly make any mistake coding them...
...is more appealing to people than cracking RC5 keys...
Of course it's. I think many will disagree but there's no point breaking RC5 or any other cryptographic key. We already know that it's possible. It's like breaking a glass. The only question is if it will break with the first hit... or how long it will take to break the key - we already know it'll happen sooner or later anyway. If we weren't breaking the key with brute force it could be more interesting...
Searching for ET is more interesting because we don't know the answer for sure. Probably we won't find anything. OTOH, why miss the change to be the discover if we do?
In the end, helping with folding problem would probably be the sane thing for a geek because there's a nice probability that we get something usefull out of used CPU time.
I don't see how the Matrix lends itself at all to a sequel.
The only problem I can see with the sequel is that the original movie doesn't guide audience to any specific way for it. Think about it, they could tell a story about the war between humans and robots. There could be a robot skull with flames in the opening credits and... oh well, it's has been done before. On the other hand sequel could tell a story about people fighting against each other over remaining real life goods. Perhaps it's not Mad Max 3 but you get the idea. One could use cyberpunk theme in the sequel and tell a story about people addicted to VR. In the end, I think most of the audience will be disappointed because the sequel doesn't go the way they would have imagined.
So what about automating the double-click makes this a "huge security hole"? It seems like once you've downloaded the thing, you're already toast.
The difference is when you follow a link on a page and there's.hqx file instead of an another page you would have expected. In the non-braindead browser you just download the file, but in this case it's already executed before you notice it wasn't a normal page. Especially if the program in question is a small C program with only a 'rm -rf/' system call - download is practically instant and with fast filesystem all the files are gone before you even regocnize what happened.
Yeah, everybody checks status bar with every link before pressing mouse button and javascript isn't ever used to fake link type.
Imagine the following situation: you have heard of a cool application for you shiny OS X and look for it from a search engine. First hit returned looks like the correct one and you click the link. It turns out that the page wasn't the correct one and only happened to have the words that triggered the search. However, there's a javascript code that opens new windows or redirects you to another url... an url that contains desctructive code enclosed in a.hqx file. And your browser executes that file immediatly! Do you feel lucky?
What if the code that runs doesn't do anything immediatly but sleeps for example 10 minutes before starting destruction? In worst case you don't have any hint you have started a background program and 10 minutes later while you're reading slashdot your system get's trashed! Would you think that it was slashdot that killed your system?
Unless you're logged in as root... I don't know how damaging a malicious program can be
This is correct. However, this practically causes every local exploit to be remote exploit which makes things pretty much easier for an attacker. In addition it really doesn't matter if malicious code destroys only your personal data or your personal data and system libraries. You're fscked anyway!
instructions for other Unices begin with 'install gcc'
Well, it's not necessarily due lazy programmers, but braindead compilers/libraries. For example there's no way I'd release any softwere using sprintf instead of snprintf. Do you have any idea how much less format string exploits there would be with the n-version? Usually those instructions require gcc because many of those default compilers simply suck.
Of course there's also software that requires gcc because the writer is lazy, but in those cases there're probably no instructions for 'other Unices'.
If there were Watcom compiler for Linux with latest C++ standard support, I might use it instead of gcc.
Can you imagine yourself saying h-t-t-p-colon-slash-slash-slash-dot-dot-dot to unaware cow-orker? Yeah, I know it should have extra slash in the end but it sounds better this way.
Windows is good for nothing. MacOS (I've used versions 7.x through 9) is great for running graphical applications where 99% of the input comes from the mouse.
I fail to see what makes MacOS better running graphical applications with (almost) only input from mouse. Is that because you only have one mouse button and you have to use CTRL to emulate missing second mouse button? Is that because the lack of proper memory management that requires you to select beforehand how much memory you need? Or is it missing pre-emptive multitasking joined with almost zero memory protection that practically quarantees lost work when you're running multiple applications at the same time?
I'm not saying that Windows 95/98/Me/2000/XP is much better, but definately they are at least equal for a given application (like Adobe Photoshop or something like that that exists for both platforms). In addition to multiple mouse buttons I have mouse wheel and 200Hz refresh rate for my mouse movement, even though it's not the default. In the end I must admit that MacOS has better color management, but I take it you didn't mean this with your comment.
If you want to make MacOS to look better you should probably compare it to X11...
Well, you certainly don't need copy protection mechanism to hide directory information from CD-DA. For example when I put a normal CD-DA in my Pioneer DVD-105 DVD-player Windows doesn't understand it as CD-DA. I cannot use this drive to playback music with any basic app. However, I simply start up CDex and I can get track names from CDDB and rip all titles without a problem.
As long as these disks are readable they can be copied. Think about all the "interesting" stuff they use in CD-ROMs to prevent copying. Practically all current CD-ROM drives can read CDs in RAW mode - some can even read full subchannel information. When there's messed up stuff your CD-writer cannot write all the stuff similarly and CD-ROM copy protection is effective. On the other hand you could just burn audio tracks read in raw mode the way you want. As an added bonus, the disk quality is increased and minor scratches or something like that doesn't prevent you from listening your copy.
I can play it on my boom box and play Max Payne at the same time!
Well, I for one can play any MP3 in the same time as playing some game like Max Payne or Black'n'White. You just need an usable audio card like SB Live which can play sound from multiple sources in the same time (like from winamp and the game).
And what comes to converting CD to MP3, it might be harder but surely not impossible. If there's a way to listen the CD there's a way to make perfect copy from it. It may require reading disk in RAW mode and extracting audio from disk image, but it can be done.
As an example, we already have educational institutions that ONLY teach Microsoft software, in exchange for donations of computers from Microsoft
Just wanted to say that even though our university doesn't get MS software as donation it's pretty much what they teach. After all it's probably the software you use after graduation and on the other hand teachers likely know enough about other systems to teach those.
In the end, I'd be upset if sponsoring would affect the things we're teached (not allowing to tell about competitors products or so), but if it's only ads I'm all for it.
a dvd doesnt stay digital long either. The video is analog-ized early on and sent to your viewing device.
In fact you can send video fully digital up to display if you really want. Just use DVI or equal for output. Whether the pixels on screen are digital or analog is another question...
Well I for one didn't "update" my copy of Morpheus (which I think is pretty much same as Kazaa) even though it's nagging about it every time I start it. A friend of my "updated" his copy and results were less than perfect and I have no problems with the older version.
Of course having correct metadata for files would be nice but I AFAIK this "update" didn't fix that. Neither did it fix terrible performance.
...is to support multi-channel setup better. Sound quality/file size differences are too small to make a difference. MP3 replaced uncompressed wav because it allowed the same sound quality (with that time sound cards) with 1/12th the file size. Ogg Vorbis can give slighly better quality for equal file size, but MP3 has far better support - as others have mentioned, portable players etc.
The only way Ogg can beat MP3 is to support arbitrary multichannel setup. Stream should include information about speaker placement for each channel and audio player should be able to interpolate this information for actual speaker setup. This allows Ogg Vorbis to be used with movies and other stuff that can use multichannel information. Perhaps it's not supported by legal movies first, but were the first MP3s legal (are they now?).
...marketing department decided... told by the web design company... IIS and ASP.
For what exactly do you have IT dept anyway? If marketing dept does all the decicions regarding computer software (and hardware also, it may be hard to run IIS on a non-x86) and web design company does your server setup what can IT dept do? Take the blame? There's a big difference between web designer and web developer/administrator. And designer should not say anything about platform. Period.
There must have been something wrong with your TPF installation. In my opinion TPF is the only (free) firewall software I would use in this computer (10Mbps LAN). I've seen Zonealarm in a couple of computers and I'd say it's black listed for a reason!
I don't want an email client to have the authority to create user accounts on my system!
Of course it shouldn't be outlook itself that creates that user account. It's the installer software that installs the outlook.
I don't know about your OS but I must have root access to install system wide software. For example apache installation script usually creates user account for it to run under but it doesn't have root access when actually running...
_________________________
I don't think floppies will still be in use by the time most of us are grey.
I hope floppies will not still be in use by the time most of us are grey.
I take that you're using Linux or something similar. Suppose you were running ./foo and it went belly up (core dumped). Simply "gdb ./foo core" and you can see what the program was doing when it died. Usually simple "bt" for backtrace is enough to find the reason. If you didn't get core file you might want to check your limits (man ulimit). Usually segmentation fault is caused by incautious pointer usage - programmer made a copy of pointer and used it after original resource was freed or something like that. If you see segmentation fault in malloc() you can be pretty sure that the problem is some extra free().
In that case this part of code is correct and the one that "expects" this part executed successfully is the buggy one. You're missing similar check(s) there!
The assert()-way is for programmers who don't want to handle exceptions but trust that they don't happen. Assert() clauses are used during developement to catch programming errors but they are usually removed from final release "because it runs faster that way". Even so, I think assert() is better than nothing. If you don't want to do real exception handling you should at least use assert()s.
By the way, does anybody know if I can run Hammer in 32 and 64 bit modes "simultaneously" so that I have some of my apps fully 64 bit and other legacy apps? Does it hurt my task switching performance seriously that processor is running in different modes with different processes? Will Hammer be faster for 32-bit or 64-bit code? If I don't need 64-bit address space should I compile my code for 32-bit instead for better performance? I would guess that even though 64-bit instructions are a bit harder to execute due to 2x memory requirements the increased register count would balance the things.
According to the article when Hammer is working in MP system each CPU handles part of the memory; should OS be able to send an application to specific processor according to physical memory it has allocated instead of current load of processor for best performance? If so, does any OS currently support this kind of arrangement? How hard it would be to make Linux support this?
[moderators: read through the whole comment.] Well, I for one can't stand emacs nor vi for text editing but I rather use command line compiling than anything like IDEs - it's much simpler to script because once you know how to compile you know how to script it. Yeah, the learning curve is a little steeper but if you don't want to learn anything you shouldn't be programming in the first place. You shouldn't bash command line without a reason (pun intended;)
Why do I hate emacs? I have already an OS - I need just a text editor! You call Mozilla bloated? How many MB do you need for a text editor? I'd use vi if it didn't had those braindead modes and keys... Perhaps there's a reason why every programmer makes an editor of his/her own. Currently gcc is the most important program made by GNU. I'd hate to live without GNU make also. Emacs was important once but it's every day less so.
So yes, open source programs are written to scratch an itch and are therefore sometimes weird compared to other pieces of software in open source system. This is because every piece of software reflects its maker. On the other hand, commercial software is written to non-existant average person and it's perfect for nobody. This is a "design decision" not a bug. You wouldn't be happy with commercial software customized for somebody else either. The problem is who is going to pay to customize all those blocks to average user?
I don't know where do you live, but in Finland where I live, I can buy thin jevel case "TDK d-view" CD-R disks labelled as 16x for about $0.85 each - including .22 tax. The packaging looks the same as the previous 12x model. I think the rating has changed after the summer because I still have a couple of those 12x disks. I also have 10x CD-RW disks from TDK which seem to have great quality compared to competitor's products I have tried. There're disks with official rating of 24x from some manufacturers but they are expensive! And with better quality I mean the finalized disk is read faster by regular drive, not that the disk wouldn't work.
And yes, I have burned both 16x CD-Rs and 10x CD-RWs with my Lite-On burner without any problems. The quality is terrific: I can get 40x read ratings from disks I've burned with 16x. So much about decreasing burning speed to improve quality. And this is IDE only system with windows 98 and Linux! You really don't need that special hardware for cd writing.
By the way, I own IDE version of the Pioneer DVD drive mentioned in the article and I wouldn't suggest it to anybody looking forward to watch movies with it - it's simply too noisy for it. If you can rip full DVD to hd prior to watching and do without the disk for the movie it's great drive though.
Using same username/password combo for multiple places is asking for getting fscked. Yeah, I do it also, but I have a couple of those combos and I use one combo for sites that don't matter (slashdot etc) and a couple others for places that I don't want other people to get into under any situation.
I'd be pretty happy with public key (eg. kerberos) style authentication for everything. Perhaps I would then use really safe password for my only login I need instead of multiple semi-safe like now.
Relying to test suite practically quarantees that there're bugs in your end product. Test can only guarantee that previously occurred bug doesn't happen again. This is because you cannot test all inputs for any non-trivial program. And practically all programs that can be proved to be correct are so trivial that one can hardly make any mistake coding them...
Of course it's. I think many will disagree but there's no point breaking RC5 or any other cryptographic key. We already know that it's possible. It's like breaking a glass. The only question is if it will break with the first hit... or how long it will take to break the key - we already know it'll happen sooner or later anyway. If we weren't breaking the key with brute force it could be more interesting...
Searching for ET is more interesting because we don't know the answer for sure. Probably we won't find anything. OTOH, why miss the change to be the discover if we do?
In the end, helping with folding problem would probably be the sane thing for a geek because there's a nice probability that we get something usefull out of used CPU time.
The only problem I can see with the sequel is that the original movie doesn't guide audience to any specific way for it. Think about it, they could tell a story about the war between humans and robots. There could be a robot skull with flames in the opening credits and... oh well, it's has been done before. On the other hand sequel could tell a story about people fighting against each other over remaining real life goods. Perhaps it's not Mad Max 3 but you get the idea. One could use cyberpunk theme in the sequel and tell a story about people addicted to VR. In the end, I think most of the audience will be disappointed because the sequel doesn't go the way they would have imagined.
The difference is when you follow a link on a page and there's .hqx file instead of an another page you would have expected. In the non-braindead browser you just download the file, but in this case it's already executed before you notice it wasn't a normal page. Especially if the program in question is a small C program with only a 'rm -rf /' system call - download is practically instant and with fast filesystem all the files are gone before you even regocnize what happened.
Yeah, everybody checks status bar with every link before pressing mouse button and javascript isn't ever used to fake link type.
Imagine the following situation: you have heard of a cool application for you shiny OS X and look for it from a search engine. First hit returned looks like the correct one and you click the link. It turns out that the page wasn't the correct one and only happened to have the words that triggered the search. However, there's a javascript code that opens new windows or redirects you to another url... an url that contains desctructive code enclosed in a .hqx file. And your browser executes that file immediatly! Do you feel lucky?
What if the code that runs doesn't do anything immediatly but sleeps for example 10 minutes before starting destruction? In worst case you don't have any hint you have started a background program and 10 minutes later while you're reading slashdot your system get's trashed! Would you think that it was slashdot that killed your system?
This is correct. However, this practically causes every local exploit to be remote exploit which makes things pretty much easier for an attacker. In addition it really doesn't matter if malicious code destroys only your personal data or your personal data and system libraries. You're fscked anyway!
Well, it's not necessarily due lazy programmers, but braindead compilers/libraries. For example there's no way I'd release any softwere using sprintf instead of snprintf. Do you have any idea how much less format string exploits there would be with the n-version? Usually those instructions require gcc because many of those default compilers simply suck.
Of course there's also software that requires gcc because the writer is lazy, but in those cases there're probably no instructions for 'other Unices'.
If there were Watcom compiler for Linux with latest C++ standard support, I might use it instead of gcc.
Can you imagine yourself saying h-t-t-p-colon-slash-slash-slash-dot-dot-dot to unaware cow-orker? Yeah, I know it should have extra slash in the end but it sounds better this way.
I fail to see what makes MacOS better running graphical applications with (almost) only input from mouse. Is that because you only have one mouse button and you have to use CTRL to emulate missing second mouse button? Is that because the lack of proper memory management that requires you to select beforehand how much memory you need? Or is it missing pre-emptive multitasking joined with almost zero memory protection that practically quarantees lost work when you're running multiple applications at the same time?
I'm not saying that Windows 95/98/Me/2000/XP is much better, but definately they are at least equal for a given application (like Adobe Photoshop or something like that that exists for both platforms). In addition to multiple mouse buttons I have mouse wheel and 200Hz refresh rate for my mouse movement, even though it's not the default. In the end I must admit that MacOS has better color management, but I take it you didn't mean this with your comment.
If you want to make MacOS to look better you should probably compare it to X11...
As long as these disks are readable they can be copied. Think about all the "interesting" stuff they use in CD-ROMs to prevent copying. Practically all current CD-ROM drives can read CDs in RAW mode - some can even read full subchannel information. When there's messed up stuff your CD-writer cannot write all the stuff similarly and CD-ROM copy protection is effective. On the other hand you could just burn audio tracks read in raw mode the way you want. As an added bonus, the disk quality is increased and minor scratches or something like that doesn't prevent you from listening your copy.
Well, I for one can play any MP3 in the same time as playing some game like Max Payne or Black'n'White. You just need an usable audio card like SB Live which can play sound from multiple sources in the same time (like from winamp and the game).
And what comes to converting CD to MP3, it might be harder but surely not impossible. If there's a way to listen the CD there's a way to make perfect copy from it. It may require reading disk in RAW mode and extracting audio from disk image, but it can be done.
Just wanted to say that even though our university doesn't get MS software as donation it's pretty much what they teach. After all it's probably the software you use after graduation and on the other hand teachers likely know enough about other systems to teach those.
In the end, I'd be upset if sponsoring would affect the things we're teached (not allowing to tell about competitors products or so), but if it's only ads I'm all for it.
In fact you can send video fully digital up to display if you really want. Just use DVI or equal for output. Whether the pixels on screen are digital or analog is another question...
Of course having correct metadata for files would be nice but I AFAIK this "update" didn't fix that. Neither did it fix terrible performance.
The only way Ogg can beat MP3 is to support arbitrary multichannel setup. Stream should include information about speaker placement for each channel and audio player should be able to interpolate this information for actual speaker setup. This allows Ogg Vorbis to be used with movies and other stuff that can use multichannel information. Perhaps it's not supported by legal movies first, but were the first MP3s legal (are they now?).
For what exactly do you have IT dept anyway? If marketing dept does all the decicions regarding computer software (and hardware also, it may be hard to run IIS on a non-x86) and web design company does your server setup what can IT dept do? Take the blame? There's a big difference between web designer and web developer/administrator. And designer should not say anything about platform. Period.
There must have been something wrong with your TPF installation. In my opinion TPF is the only (free) firewall software I would use in this computer (10Mbps LAN). I've seen Zonealarm in a couple of computers and I'd say it's black listed for a reason!
Of course it shouldn't be outlook itself that creates that user account. It's the installer software that installs the outlook.
I don't know about your OS but I must have root access to install system wide software. For example apache installation script usually creates user account for it to run under but it doesn't have root access when actually running...
_________________________