That doesn't really hold up when you talk about running a service like mail. Someone has to maintain the spam filter, anti-virus filter, email accounts/storage, etc. I used to run my own mail servers and then ditched them. Spam filter in particular a real pain to get right. Google does an admirable job with it, however. If I need it to be private, I just use PGP. Perhaps not an option for a dr's office though.
No, it does not. Unless you're talking about auto-release pools, which still require a ton of hand-holding and I don't think anyone would consider a true GC.
Firefox contains a GC'd language: Javascript. And why don't you compare it to a comparable web browser written in Java? Oh right, there aren't any. Apples and oranges.
Any garbage collected language requires more memory to operate than the program actually needs.. Otherwise you'd be garbage collecting 24/7. So yes, if you want to minimize GC cycles/pauses, your memory usage can be vastly higher than what the program would actually require in a traditional language. That's probably the big reason, for example, that the iPhone doesn't support GC in its Objective-C implementation.
If you need real-time control of your code, or fast startup, or low memory use, or high performance in general, C blows Java out of the water hard enough to put it in orbit.
I guess my point was that if I didn't need any of those things, then I wouldn't be thinking about spending the extra cycles writing the code in C to begin with. But if I *have* decided that I need that level of performance/control, there's no way I'm going to go to Java as my language of choice in that situation.
But there are thousands of cases where Java code can replace C code
Sure.
and I haven't seen a VM segfault or VM bug in Java ever.
Consider yourself lucky.. Or perhaps I'll consider myself unlucky:-)
How many C programmers do you think there are that really understand the difference between an int, a size_t, and a function pointer?
Probably more than you think there are, but I suppose I only know good ones working on high profile projects.
THAT is what I call playing games behind the scenes, and in C it's fucking dangerous, because if you mess that up, it's straight to arbitrary code execution.
It's a trade-off I'm willing to make. Especially with all of the stack/heap execution prevention, address space randomization, etc that's out there now.
I'm just not a big fan of Sun's JVM. I've seen large bugs open with it for years that would've been addressed long ago in a high profile open source project such as gcc or FreeBSD (or GNU) libc. I'd rather not be held hostage by a vendor like that. Especially when OpenJDK seems to be != to Sun's shipping JDK. I could go on and on about other issues I have with it (forced GC, unpredictable performance due to GC, an encouraged programming method that makes processing of large streams very slow, etc), but I'll leave it at that.
I can't imagine writing anything in Java that I was thinking of writing in C. If I'm going to write it in C, it's because I want the program to do exactly what I tell it and not play games with me behind the scenes (garbage collection, VM segfaults, VM bugs, etc.) Of course, the kernel is backing it, but I've had far better luck with kernels than I've had with JVMs.
I think in my case, being on the phone is a significant help. Otherwise, I have a tendency to become very very tired. Even if I pull over somewhere and rest, I'm still falling asleep while doing so. I find that I either need the phone or a very intriguing podcast/audiobook. But just music? Or nothing? I wish
Where I always saw the benefit for log-structued filesystems was in environments with lots of random writes and few reads (as the random writes will become sequential writes.) If you use it on a good SSD, however, I could probably safely remove the 'few reads' qualifier. Either way, I'm glad that Linux has one now.
Though I never understood why one would choose to use an SSD on a SATA interface. Using a medium that support parallel access over a serial interface doesn't seem all that logical to me..
DNS poisoning is not the only way to hijack a website. It is also possible to do such things via unauthorized BGP advertisements to an insecure carrier. If you do that, the DNS is irrelevant, you've just hijacked the IP according to some portion of the internet.
I'm going to assume you work for a mid-large business where most of the servers are idling most of the time or where most processing is batch and not real-time. Virtualization can be a benefit in these types of environments, but it doesn't fit everywhere. I'd hope that you wouldn't go to google, for example, and suggest that they move their servers to virtualized infrastructure.
Google is actually a great counter-example to your arguments here. If you have the right processes in place and put some actual thought into your infrastructure, the result can be very manageable. But I understand that a lot of companies don't want to pay for the talent to put these kinds of things in place and find it much cheaper to buy a software package from VMware. They'll just pay a performance cost, but for many of them, it doesn't really matter.
It kind of reminds me of the JVM/CLR vs native code arguments.
Typically betas have even more checks and assertions to attempt to catch bugs before release. When it's release time, the assertions are usually disabled. In any case, no amount of sane checking should amount to a C vs Java comparison. Java has GC pauses and a programming model that encourages the wasting of memory to hold it back.
Virtual machine? Don't think so.. The short of it is that the kernel just provides the application/libraries with a 32-bit virtual address space instead of a 64-bit virtual address space. But each application gets one of these. It's still less restrictive and sometimes faster (no PAE) than running on a 32-bit OS. Even with 32-bit apps.
I'm sure that's part of it. But I know without a doubt that the lack of non-compete allows a lot of startups to be created. Just think of companies like Juniper Networks, Force10 Networks, Extreme Networks, etc. Most of those networking companies were founded by ex-cisco employees. That's only one market segment too.
The point is, people leave their existing companies and start new ones trying to correct the processes and products that they felt didn't work at their previous employer. It would more more difficult to do this in MA, from what I've heard.
Re:Postgres is looking better than ever
on
Oracle Buys Sun
·
· Score: 1
Truecrypt provides something along these lines. It doesn't work exactly as you describe, but you can basically have 2 sets of encryption keys. One that decrypts your benign filesystem, the other that decrypts your hidden filesystem.
In California they call it a "use tax" instead of a "sales tax" and therefore have managed to evade the whole brick and mortar problem. You can't bring a new car into CA and have it registered unless you pay the difference in sales tax, for example. Oh, I mean "use tax".
You'll be happy to know that /usr/gnu/bin is now first in the path in 2009.06
That doesn't really hold up when you talk about running a service like mail. Someone has to maintain the spam filter, anti-virus filter, email accounts/storage, etc. I used to run my own mail servers and then ditched them. Spam filter in particular a real pain to get right. Google does an admirable job with it, however. If I need it to be private, I just use PGP. Perhaps not an option for a dr's office though.
No, it does not. Unless you're talking about auto-release pools, which still require a ton of hand-holding and I don't think anyone would consider a true GC.
I was curious to see your operator overloading post, so I took a look at your profile. I found the post, but no replies to it. Am I missing something?
Technically it could be a hex digit now! ;-)
Firefox contains a GC'd language: Javascript. And why don't you compare it to a comparable web browser written in Java? Oh right, there aren't any. Apples and oranges.
Any garbage collected language requires more memory to operate than the program actually needs.. Otherwise you'd be garbage collecting 24/7. So yes, if you want to minimize GC cycles/pauses, your memory usage can be vastly higher than what the program would actually require in a traditional language. That's probably the big reason, for example, that the iPhone doesn't support GC in its Objective-C implementation.
If you need real-time control of your code, or fast startup, or low memory use, or high performance in general, C blows Java out of the water hard enough to put it in orbit.
I guess my point was that if I didn't need any of those things, then I wouldn't be thinking about spending the extra cycles writing the code in C to begin with. But if I *have* decided that I need that level of performance/control, there's no way I'm going to go to Java as my language of choice in that situation.
But there are thousands of cases where Java code can replace C code
Sure.
and I haven't seen a VM segfault or VM bug in Java ever.
Consider yourself lucky.. Or perhaps I'll consider myself unlucky :-)
How many C programmers do you think there are that really understand the difference between an int, a size_t, and a function pointer?
Probably more than you think there are, but I suppose I only know good ones working on high profile projects.
THAT is what I call playing games behind the scenes, and in C it's fucking dangerous, because if you mess that up, it's straight to arbitrary code execution.
It's a trade-off I'm willing to make. Especially with all of the stack/heap execution prevention, address space randomization, etc that's out there now.
I'm just not a big fan of Sun's JVM. I've seen large bugs open with it for years that would've been addressed long ago in a high profile open source project such as gcc or FreeBSD (or GNU) libc. I'd rather not be held hostage by a vendor like that. Especially when OpenJDK seems to be != to Sun's shipping JDK. I could go on and on about other issues I have with it (forced GC, unpredictable performance due to GC, an encouraged programming method that makes processing of large streams very slow, etc), but I'll leave it at that.
I can't imagine writing anything in Java that I was thinking of writing in C. If I'm going to write it in C, it's because I want the program to do exactly what I tell it and not play games with me behind the scenes (garbage collection, VM segfaults, VM bugs, etc.) Of course, the kernel is backing it, but I've had far better luck with kernels than I've had with JVMs.
I think in my case, being on the phone is a significant help. Otherwise, I have a tendency to become very very tired. Even if I pull over somewhere and rest, I'm still falling asleep while doing so. I find that I either need the phone or a very intriguing podcast/audiobook. But just music? Or nothing? I wish
I believe "The Witcher" is slightly modified for the US market as well
Where I always saw the benefit for log-structued filesystems was in environments with lots of random writes and few reads (as the random writes will become sequential writes.) If you use it on a good SSD, however, I could probably safely remove the 'few reads' qualifier. Either way, I'm glad that Linux has one now.
Though I never understood why one would choose to use an SSD on a SATA interface. Using a medium that support parallel access over a serial interface doesn't seem all that logical to me..
DNS poisoning is not the only way to hijack a website. It is also possible to do such things via unauthorized BGP advertisements to an insecure carrier. If you do that, the DNS is irrelevant, you've just hijacked the IP according to some portion of the internet.
I'm going to assume you work for a mid-large business where most of the servers are idling most of the time or where most processing is batch and not real-time. Virtualization can be a benefit in these types of environments, but it doesn't fit everywhere. I'd hope that you wouldn't go to google, for example, and suggest that they move their servers to virtualized infrastructure.
Google is actually a great counter-example to your arguments here. If you have the right processes in place and put some actual thought into your infrastructure, the result can be very manageable. But I understand that a lot of companies don't want to pay for the talent to put these kinds of things in place and find it much cheaper to buy a software package from VMware. They'll just pay a performance cost, but for many of them, it doesn't really matter.
It kind of reminds me of the JVM/CLR vs native code arguments.
MacPorts is also excellent. I wouldn't dis ports too much though. Respect your elders :-)
Typically betas have even more checks and assertions to attempt to catch bugs before release. When it's release time, the assertions are usually disabled. In any case, no amount of sane checking should amount to a C vs Java comparison. Java has GC pauses and a programming model that encourages the wasting of memory to hold it back.
Virtual machine? Don't think so.. The short of it is that the kernel just provides the application/libraries with a 32-bit virtual address space instead of a 64-bit virtual address space. But each application gets one of these. It's still less restrictive and sometimes faster (no PAE) than running on a 32-bit OS. Even with 32-bit apps.
I wouldn't really call it upstate, but sure, it's in NY about 30 miles north of Manhattan.
I'm sure that's part of it. But I know without a doubt that the lack of non-compete allows a lot of startups to be created. Just think of companies like Juniper Networks, Force10 Networks, Extreme Networks, etc. Most of those networking companies were founded by ex-cisco employees. That's only one market segment too.
The point is, people leave their existing companies and start new ones trying to correct the processes and products that they felt didn't work at their previous employer. It would more more difficult to do this in MA, from what I've heard.
You win the low UID war. Congratulations :)
Just keep in mind that SIM unlock != firmware unlock. The SIM unlock will just allow you to use other carriers. Nothing more.
Truecrypt provides something along these lines. It doesn't work exactly as you describe, but you can basically have 2 sets of encryption keys. One that decrypts your benign filesystem, the other that decrypts your hidden filesystem.
In California they call it a "use tax" instead of a "sales tax" and therefore have managed to evade the whole brick and mortar problem. You can't bring a new car into CA and have it registered unless you pay the difference in sales tax, for example. Oh, I mean "use tax".