I use info all the time. It's very geared towards emacs programmers like me. The best info viewer is built into emacs, and it lets me read documentation without leaving emacs and opening up a web browser. In emacs: C-h i
The thing to remember about info pages if you are *not* an emacs user is that they generate html documentation. In fact, all the gnu html docs are actually generated from info docs. For example, the glibc manual mentioned in the review:
So in a sense info is the best of both worlds in that it can be read from a web browser, or from a terminal based application like emacs, and it supports hyperlinks in both.
The problem is that Ubuntu's bug tracker is a black hole. Bugs don't even get triaged on a regular basis, let along fixed.
If you look on the forums, bugs are fairly quickly identified and fixed. Often problems and solutions make it into the bug tracker; however, that's where the pipeline ends. Fixes almost never get checked into mainline.
Ubuntu is still the best distro in my humble opinion, because of the wide variety of up to date software available for it. However, each release gets worse in terms of quality. Their bug intake it like the US national deficit. They ignore the problem in the hopes that it will go away, but it won't. Eventually Ubuntu will simply not be usable.
Really, if Canonical would admit they have a problem, and publicly start recruiting community members to triage and fix bugs, they might be able make a dent in the backlog.
>Sorry if that sounds kind if "hippy", but saying that the entire FOSS world is based around nothing but hatred for a particular >corporation really cheapens the accomplishments of the people involved.
What Linus was saying is that this is true of *some* people, and that they typically think of themselves as being part of some political movement i.e. "Free Software" as opposed to "Open Source."
Obviously, if everyone was more interested in politics than software like the FS guys are, we wouldn't get anywhere. For this reason, Torvalds and other have advocated Open Source as a pragmatic and non-political alternative to Free Software.
Open Source is essentially an open and cooperative development model with an open license. It is a model focussed on the development of quality software for which source is available for tinkering.
"Free Software" on the other hand has little to do with software at all, but is a political dogma centered around Richard Stallman as supreme leader, focussed on fighting copyright and corporate interests.
Indeed projects organized by the Free Software foundation aren't that open at all, and follow the cathedral model of development. This has historically led to a number of forks such as the GCC and emacs/xemacs forks, and also failed projects like HURD. FSF projects tend to be beset with political infighting... because they are about politics as much as they are about software. Some people are more interested in being "top revolutionary" than writing good code.
I think it's clear the open source people tend to have less patience for that kind of nonsense and that's why projects run on the open model are more successful. That's why Linux succeeded where HURD failed. That's why FSF projects are consistently forking into projects run in the bazaar model. See GCC/LLVM for a more recent example of this.
However, the FSF guys, because they are into politics, love to generate lots of noise. That's why sometimes it seems like they run the show, when in terms of projects and useful code, they are a tiny fraction.
What is [Richard Stallman] doing in his grave? Last thing I heard he was still alive.
Wishful thinking?
I think it's remarkable that even when Linus Torvalds refutes the kind of mindless Microsoft bashing that some people like to engage in, most of the top comments on slashdot are more of the same.
Here's a choice Linus quote from that article that was left out of the summary.
"There are extremists in the free software world, but thats one major reason why I dont call what I do free software any more. I dont want to be associated with the people for whom its about exclusion and hatred.â
It's pretty clear he is referring to. People like this are holding OSS back by making it into an "us vs them" political fight, instead of an open and cooperative mode of development. Some people are more interested in being political demagogues then in developing good software, and for that reason they can go to hell. As an engineer, I have no time for wanabe revolutionaries and their cronies.
The gameplay of versus is great... we don't need another game mode, we need *MAPS*. I can't believe they've been wasting their time on this. If they'd actually talked to anyone who *PLAYS* their game, they would know that people want new maps.
Everyone is tired of playing mercy hospital for the trillionth time... A new game mode isn't going to make mercy more exciting.
If you are planning to do software development, a CS masters or Phd is very valuable.
The CS PhD's I know have the best jobs. Most of them don't work as academics after getting their PhD, but work in industry.
CS research is usually funded by big software companies, so why wouldn't you think they'd be willing to hire you if they were willing to fund your research in the first place? It's not a PhD in art, CS is very practical even on the theoretical side of things.
In school, your teachers focus on higher level languages like Java that are easier to teach with because they ignore lower level programming issues. However, in the real world, people still need to deal with all of these problems.
Higher level languages sweep low level problems under the rug, but they don't make them go away. You may be surprised someday to find that your Java programs can and DO leak memory if you aren't careful. To be a top notch developer you really do need to understand how higher level tools are built from lower level components.
In industry, not being able to find developers who understand C and low level programming issues is a common complaint.
Also, C is probably one of the easier languages to pick up. Learn C well, and complement it with a higher level language like Python or, if you must, Java.
C++ is also valuable if you need to write lots of high performance code, but being truly competent at C++ is a fairly large endeavor compared to learning C. Being good at real C++ means understanding templates, the stl, and also knowing the nooks and cranny's of the language, which there are a lot of. Look up the "most vexing parse" to get an idea of what I'm talking about.
Apple has no interest in building something as low margin as a netbook and has said as much...
Really, the netbook is killing the whole PC industry right now. Developing the atom was the worst mistake intel ever made. It's killed their entire business model.
True, then again the sensible uses of MI boil down to mixin and interfaces, both of which are supported directly in D.
Actually, if you have interface inheritance and mixins, I'm not sure you need need even single inheritance in the traditional sense.
Really though, if you want to get minimalistic, you don't even need interfaces if you use structual typing like templates do at compile time, and like python does at runtime.
So you could boil your type system down to just mixins and implicit/duck typing.
Because it must compact the heap periodically, and the heap is a shared mutable resource.
I'm not really up to date on the best GC algorithms out there, but my understanding is that though modern ones have various ways of *minimizing* the number of full compactions necessary (such as generational GC) there's no way to get rid of it entirely.
seems to introduce a number of zsh features
on
BASH 4.0 Released
·
· Score: 1
I believe both recursive globbing "**" and coroutines are zsh features.
I'm glad they included this. I think it's fair to say that lack of recursive globbing support was pretty annoying in the past. Using a command composed with find composed with xargs was the previous alternative... and pretty over complicated compared to **.
In the past I'd switched to zsh, but moved back because most shell scripting information online is built around bash. This makes sticking with bash that much easier.
The GC is the way to go for complex application. The reason is simple: the GC has a global overview over all memory usage of the application (minus special stuff like OpenGL textures). This means that the GC can reuse previously allocated memory blocks, defragment memory transparently, automatically detect and elimitate leaks etc.
Yes... all you say is true, but it's what you are not saying that is what disqualifies a GC'd language for being a successor for C or C++.
C and C++ are used for: 1. Kernels. 2. Video codecs. 3. Video games. 4. Embedded programming.
I program in C++... and Python, and Java, and Javascript, etc, and I'm well aware of the benefits of GC. I also undertand how GC is implemented and the kinds of amortized performance benefits you can get. I'm also aware of it's drawbacks. The reason you can't use a GC'd language for any of these platforms is twofold.
1. GC must periodically halt all threads to compact the heap. Imagine if your kernel did this. The *whole computer would halt*. If anything displayign realtime graphics did this, such as a video game, you would get stutter. 2. GC is lazy about deallocation, so it chews up more heap space. Usually at least twice as much as the equivalent non-gc program. This isn't that big of a deal in most cases. but it means you can't use it for embedded devices where you might only a killobyte or two of ram. Yes, there are many of these devices, you probably use several.
Look, GC is great from a usability perspective. I would always prefer to use GC. HOWEVER, there are cases where GC will *just not work*, and I wish GC zealots would get that through their heads. The GC hammer is nice, but *sometimes* a more complicated and powerful tool is necessary for a more difficult job.
D did another thing right: it did not remove destructors, like Java did. Instead, when there are zero references to an object, the GC calls the destructor *immediately*, but deallocates the memory previously occupied by that object whenever it wishes (or it reuses that memory). This way RAII is possible in D, which is very useful for things like scoped thread locks.
Yes, destructors in C++ are very nice.
I'm actually kind of confused about this. Are you saying that D keeps a reference count *in addition* to doing GC, or are you saying that the destructor is called when the object moves out of scope like in C++?
- no multiple inheritance (which does make sense when using generic programming and metaprogramming; just see policy-based design and the CRTP C++ technique for examples)
I could not agree with you more. I do not understand multiple-inheritance phobia. If you have a good grasp of how objects and classes work, then multiple inheritance is not only safe, but incredibly useful as a way of adding mixins to a class. This is doubly true in conjunction with meta-programming and templates.
Fear of multiple inheritance tends to stem from the diamond problem... but really if your class hierarchy is is 3 layers deep, that is your *real* problem, not multiple inheritance. You want to restrict the *depth* of the tree, not the *breadth*.
Obviously Sun used to do something similar with Java.
The Python IDE I use, Wing, also allows you to access their source so you can recompile on various platforms.
Historically, AT&T unixes were distributed with source.
Really, I've always found it weird that proprietary software companies seem to think it's important to keep the source code super secret, as if it were some kind of trade secret. Having the source available for recompile and modification is handy for the user, whereas the risk that someone will copy past your source code is somewhat minimal. After all, integrating different source bases is an enourmous amount of work, and fairly easy to detect after the fact.
Yes, let's make the system even more complicated by adding more exceptions to the system. That will solve it's problems?
Seriously though, the electoral college system actually makes the most sense for the US. The popular vote is not a good statistical sample because a greater fraction of people from some regions may vote than from others.
A popular vote over a territory as large as the united states wouldn't work because local weather conditions, or local ballot box stuffing would have a disproportionate effect on the popular vote, whereas in the electoral system they are weighted against the local population.
The only "unfair" aspect of the electoral system is that states with low populations get disproportionate representation.
how hard can it be to write a client with native Linux support?
Very hard.
Why don't you pick up a random Linux game that was made 5 or six years ago and see if it runs on a random Linux box. Just go grab some Doom or Quake demo and put it on some random box with a different distro than the one the demo was tested against.
If you can even get the thing to install and launch, sound definitely won't work.
The reason people have a hard time developing complicated commercial software on Linux is that said software is distributed in binary form, and Linux is *not* built for binary distribution.
Libraries break their ABI periodically on Linux because no one really thinks about binary developers. Think about this: a deb package for Ubuntu from a release six months ago will probably not work on the next release.
Aside from that, sound is an enormous clusterfuck on Linux. Sound is kind of important for games.
Considering all these problems, the return on investment is very low. There are very few Desktop Linux users. The mac has about 10% desktop marketshare now, but Linux is under 1%
and most Linux users, including myself, just dual boot to play games. So why should a game company pay a bunch of developers full time for a year to port the game? That's hundreds of thousands of dollars they will *never* make back on a market like that.
and do all of my development work on it... and periodically I reboot into Windows to play Fallout 3.
I like Linux for development, but the fact is that it is not as good of a gaming platform as Windows is.
Windows has better video drivers, and it has a tons of teams at Microsoft working on things like directx that directly support gaming. Aside from that it has an enormous industry devoted to developing windows games.
Oh, and sound just works on Windows, did I mention that? That's pretty important for games. I have surround sound working on my Linux install, which took some doing, but as soon as I plug in my USB headset so I can use skype, the Linux sound system explodes. That means that even if left for dead was on Linux, I still wouldn't be able to play it.
Really, I don't see what the big deal with dual booting is and since people like me are just going to dual boot, I can't imagine why any game maker would waste money on a Linux port.
If I can play my game even marginally better on windows I have no reason not to get the windows version.
Here's what it is: 1. A VM based system, doesn't actually execute native code. 2. Has only one address space for some bizarre reason. 3. Persists everything in ram to disk...
So... your programs will run super slow because every memory write is written to disk, it you can't really run it on 32 bit hardware, and it doesn't run programs written in any existing programming languages.
So what is actually good about this operating system? Oh, it's super object oriented *rolls eyes*. As if that were a goal in and of itself.
This looks like another solution in search of a problem. Someone thought "wouldn't it be cool if" but didn't think about why anyone would care.
I think it almost doesn't matter now with firefox marketshare at over 25%. Any serious company has to support web standards now, and there are no longer nearly as many IE only websites as there once were.
The truth is, I'm not convinced bundling was really that important to begin with. What firefox adoption has shown, is that people *will* pick up on a better browser.
I think what killed netscape originally was that Microsoft released IE for *free*, and that netscape 4 and 6 really sucked compared to IE back in the day. A lot of people seem to have selective memory about that though...
IE is an awful browser by modern standards, but in IE 5 vs netscape 6, IE 5 won hands down.
If anything, I'm iffy about people trying to legislate firefox into the market. No matter what microsoft does, that's still a really commie move. And don't give me this "anticompetitive" crap. Microsoft has done real anticompetitive things in the past (like pressuring hardware vendors not to ship other OS's), but bundling IE was not one of themn.
However, I don't think there's linux program that handles exchange calendaring well. There's a plugin for thunderbird, but it doesn't work very well.
My advice is to use outlook web access for calendaring if you don't have a windows box on hand... although honestly I just keep my corporate laptop with winxp next to my linux workstation for when I need the calendar.
If you get sick of switching back and forth between windows, a good option is to use rdesktop: http://www.rdesktop.org/
to log into your windows machine and keep a window open with outlook. Alternatively, there's always vmware, although it's a bit pricey and sucks up ram.
I've never heard of anyone ever getting it to work with a real world program.
The problem is that different linux distros are *not* binary compatible with each other. Some of the core libraries like glibc are compatible, but most binaries link a ton of other stuff. You might as well try installing windows programs or osx programs.
Alien cannot fix ABI incompatibilities.
>What to do when a developer distributes a >.rpm but not a.deb, or the other way around?
Install from source.
On the other hand proprietary developers have a different system for installing their software. They use a minimal set of shared libraries like glibc and the x libraries that don't change their ABI often, then they statically compile everything else.
They also typically provide a shell script based installer instead of an rpm. Those that provide rpm's typically also provide a fairly generic deb.
It's a bitch getting inter distro compatible binaries on linux, so unless the developer put the initial work in, don't expect to be able to force it to run on your distro.
PHP has been applied to many large scale development projects, demonstrating that you are incorrect.
Well, no.
"X has been used for Y" does not demonstrate that "X is suitable for Y".
Three of the world's top 10 websites are PHP-based. Wikipedia, and facebook, along with vast chunks of yahoo.
Yes, PHP is suitable for writing websites... doing HTML processing. Not surprising for the PHP: Hypertext Preprocesor.
I think what most people who hate PHP have a problem with is that it is not a good general purpose programming languages... nor was it ever intended to be. I have literally never seen anyone use PHP for something that was not a website. It's good for simple inline hypertext processing, and that's about it.
Personally, I'd rather use Python, simply for the fact that I can use python for *other* things than web programming, and get code reuse across application domains. I'm not opposed to *learning* lots of different languages, but I'd rather segregate the code I write into as few languages as possible.
epoll is nice: one of the few Linux-specific system interfaces which is clearly better than the standard Unix counterpart (select/poll).
Not necessarily. epoll is better than select, definitely. However, see this article on how it compares to poll:
http://sheddingbikes.com/posts/1280829388.html
The answer seems to be either poll or epoll can be better depending on the situation.
I use info all the time. It's very geared towards emacs programmers like me. The best info viewer is built into emacs, and it lets me read documentation without leaving emacs and opening up a web browser. In emacs: C-h i
The thing to remember about info pages if you are *not* an emacs user is that they generate html documentation. In fact, all the gnu html docs are actually generated from info docs. For example, the glibc manual mentioned in the review:
http://www.gnu.org/software/libc/manual/html_node/index.html
So in a sense info is the best of both worlds in that it can be read from a web browser, or from a terminal based application like emacs, and it supports hyperlinks in both.
The problem is that Ubuntu's bug tracker is a black hole. Bugs don't even get triaged on a regular basis, let along fixed.
If you look on the forums, bugs are fairly quickly identified and fixed. Often problems and solutions make it into the bug tracker; however, that's where the pipeline ends. Fixes almost never get checked into mainline.
Ubuntu is still the best distro in my humble opinion, because of the wide variety of up to date software available for it. However, each release gets worse in terms of quality. Their bug intake it like the US national deficit. They ignore the problem in the hopes that it will go away, but it won't. Eventually Ubuntu will simply not be usable.
Really, if Canonical would admit they have a problem, and publicly start recruiting community members to triage and fix bugs, they might be able make a dent in the backlog.
>Sorry if that sounds kind if "hippy", but saying that the entire FOSS world is based around nothing but hatred for a particular
>corporation really cheapens the accomplishments of the people involved.
What Linus was saying is that this is true of *some* people, and that they typically think of themselves as being part of some political movement i.e. "Free Software" as opposed to "Open Source."
Obviously, if everyone was more interested in politics than software like the FS guys are, we wouldn't get anywhere. For this reason, Torvalds and other have advocated Open Source as a pragmatic and non-political alternative to Free Software.
Open Source is essentially an open and cooperative development model with an open license. It is a model focussed on the development of quality software for which source is available for tinkering.
"Free Software" on the other hand has little to do with software at all, but is a political dogma centered around Richard Stallman as supreme leader, focussed on fighting copyright and corporate interests.
Indeed projects organized by the Free Software foundation aren't that open at all, and follow the cathedral model of development. This has historically led to a number of forks such as the GCC and emacs/xemacs forks, and also failed projects like HURD. FSF projects tend to be beset with political infighting... because they are about politics as much as they are about software. Some people are more interested in being "top revolutionary" than writing good code.
I think it's clear the open source people tend to have less patience for that kind of nonsense and that's why projects run on the open model are more successful. That's why Linux succeeded where HURD failed. That's why FSF projects are consistently forking into projects run in the bazaar model. See GCC/LLVM for a more recent example of this.
However, the FSF guys, because they are into politics, love to generate lots of noise. That's why sometimes it seems like they run the show, when in terms of projects and useful code, they are a tiny fraction.
What is [Richard Stallman] doing in his grave? Last thing I heard he was still alive.
Wishful thinking?
I think it's remarkable that even when Linus Torvalds refutes the kind of mindless Microsoft bashing that some people like to engage in, most of the top comments on slashdot are more of the same.
Here's a choice Linus quote from that article that was left out of the summary.
"There are extremists in the free software world, but thats one major reason why I dont call what I do free software any more. I dont want to be associated with the people for whom its about exclusion and hatred.â
It's pretty clear he is referring to. People like this are holding OSS back by making it into an "us vs them" political fight, instead of an open and cooperative mode of development. Some people are more interested in being political demagogues then in developing good software, and for that reason they can go to hell. As an engineer, I have no time for wanabe revolutionaries and their cronies.
Yes, I am referring to who you think I am.
The gameplay of versus is great... we don't need another game mode, we need *MAPS*. I can't believe they've been wasting their time on this. If they'd actually talked to anyone who *PLAYS* their game, they would know that people want new maps.
Everyone is tired of playing mercy hospital for the trillionth time... A new game mode isn't going to make mercy more exciting.
If you are planning to do software development, a CS masters or Phd is very valuable.
The CS PhD's I know have the best jobs. Most of them don't work as academics after getting their PhD, but work in industry.
CS research is usually funded by big software companies, so why wouldn't you think they'd be willing to hire you if they were willing to fund your research in the first place? It's not a PhD in art, CS is very practical even on the theoretical side of things.
In school, your teachers focus on higher level languages like Java that are easier to teach with because they ignore lower level programming issues. However, in the real world, people still need to deal with all of these problems.
Higher level languages sweep low level problems under the rug, but they don't make them go away. You may be surprised someday to find that your Java programs can and DO leak memory if you aren't careful. To be a top notch developer you really do need to understand how higher level tools are built from lower level components.
In industry, not being able to find developers who understand C and low level programming issues is a common complaint.
Also, C is probably one of the easier languages to pick up. Learn C well, and complement it with a higher level language like Python or, if you must, Java.
C++ is also valuable if you need to write lots of high performance code, but being truly competent at C++ is a fairly large endeavor compared to learning C. Being good at real C++ means understanding templates, the stl, and also knowing the nooks and cranny's of the language, which there are a lot of. Look up the "most vexing parse" to get an idea of what I'm talking about.
Apple has no interest in building something as low margin as a netbook and has said as much...
Really, the netbook is killing the whole PC industry right now. Developing the atom was the worst mistake intel ever made. It's killed their entire business model.
True, then again the sensible uses of MI boil down to mixin and interfaces, both of which are supported directly in D.
Actually, if you have interface inheritance and mixins, I'm not sure you need need even single inheritance in the traditional sense.
Really though, if you want to get minimalistic, you don't even need interfaces if you use structual typing like templates do at compile time, and like python does at runtime.
So you could boil your type system down to just mixins and implicit/duck typing.
>Why do you think that GC must pause all threads?
Because it must compact the heap periodically, and the heap is a shared mutable resource.
I'm not really up to date on the best GC algorithms out there, but my understanding is that though modern ones have various ways of *minimizing* the number of full compactions necessary (such as generational GC) there's no way to get rid of it entirely.
I believe both recursive globbing "**" and coroutines are zsh features.
I'm glad they included this. I think it's fair to say that lack of recursive globbing support was pretty annoying in the past. Using a command composed with find composed with xargs was the previous alternative... and pretty over complicated compared to **.
In the past I'd switched to zsh, but moved back because most shell scripting information online is built around bash. This makes sticking with bash that much easier.
The GC is the way to go for complex application. The reason is simple: the GC has a global overview over all memory usage of the application (minus special stuff like OpenGL textures). This means that the GC can reuse previously allocated memory blocks, defragment memory transparently, automatically detect and elimitate leaks etc.
Yes... all you say is true, but it's what you are not saying that is what disqualifies a GC'd language for being a successor for C or C++.
C and C++ are used for:
1. Kernels.
2. Video codecs.
3. Video games.
4. Embedded programming.
I program in C++... and Python, and Java, and Javascript, etc, and I'm well aware of the benefits of GC. I also undertand how GC is implemented and the kinds of amortized performance benefits you can get. I'm also aware of it's drawbacks. The reason you can't use a GC'd language for any of these platforms is twofold.
1. GC must periodically halt all threads to compact the heap. Imagine if your kernel did this. The *whole computer would halt*. If anything displayign realtime graphics did this, such as a video game, you would get stutter.
2. GC is lazy about deallocation, so it chews up more heap space. Usually at least twice as much as the equivalent non-gc program. This isn't that big of a deal in most cases. but it means you can't use it for embedded devices where you might only a killobyte or two of ram. Yes, there are many of these devices, you probably use several.
Look, GC is great from a usability perspective. I would always prefer to use GC. HOWEVER, there are cases where GC will *just not work*, and I wish GC zealots would get that through their heads. The GC hammer is nice, but *sometimes* a more complicated and powerful tool is necessary for a more difficult job.
D did another thing right: it did not remove destructors, like Java did. Instead, when there are zero references to an object, the GC calls the destructor *immediately*, but deallocates the memory previously occupied by that object whenever it wishes (or it reuses that memory). This way RAII is possible in D, which is very useful for things like scoped thread locks.
Yes, destructors in C++ are very nice.
I'm actually kind of confused about this. Are you saying that D keeps a reference count *in addition* to doing GC, or are you saying that the destructor is called when the object moves out of scope like in C++?
- no multiple inheritance (which does make sense when using generic programming and metaprogramming; just see policy-based design and the CRTP C++ technique for examples)
I could not agree with you more. I do not understand multiple-inheritance phobia. If you have a good grasp of how objects and classes work, then multiple inheritance is not only safe, but incredibly useful as a way of adding mixins to a class. This is doubly true in conjunction with meta-programming and templates.
Fear of multiple inheritance tends to stem from the diamond problem... but really if your class hierarchy is is 3 layers deep, that is your *real* problem, not multiple inheritance. You want to restrict the *depth* of the tree, not the *breadth*.
Obviously Sun used to do something similar with Java.
The Python IDE I use, Wing, also allows you to access their source so you can recompile on various platforms.
Historically, AT&T unixes were distributed with source.
Really, I've always found it weird that proprietary software companies seem to think it's important to keep the source code super secret, as if it were some kind of trade secret. Having the source available for recompile and modification is handy for the user, whereas the risk that someone will copy past your source code is somewhat minimal. After all, integrating different source bases is an enourmous amount of work, and fairly easy to detect after the fact.
Yes, let's make the system even more complicated by adding more exceptions to the system. That will solve it's problems?
Seriously though, the electoral college system actually makes the most sense for the US. The popular vote is not a good statistical sample because a greater fraction of people from some regions may vote than from others.
A popular vote over a territory as large as the united states wouldn't work because local weather conditions, or local ballot box stuffing would have a disproportionate effect on the popular vote, whereas in the electoral system they are weighted against the local population.
The only "unfair" aspect of the electoral system is that states with low populations get disproportionate representation.
how hard can it be to write a client with native Linux support?
Very hard.
Why don't you pick up a random Linux game that was made 5 or six years ago and see if it runs on a random Linux box. Just go grab some Doom or Quake demo and put it on some random box with a different distro than the one the demo was tested against.
If you can even get the thing to install and launch, sound definitely won't work.
The reason people have a hard time developing complicated commercial software on Linux is that said software is distributed in binary form, and Linux is *not* built for binary distribution.
Libraries break their ABI periodically on Linux because no one really thinks about binary developers. Think about this: a deb package for Ubuntu from a release six months ago will probably not work on the next release.
Aside from that, sound is an enormous clusterfuck on Linux. Sound is kind of important for games.
Considering all these problems, the return on investment is very low. There are very few Desktop Linux users. The mac has about 10% desktop marketshare now, but Linux is under 1%
http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8
and most Linux users, including myself, just dual boot to play games. So why should a game company pay a bunch of developers full time for a year to port the game? That's hundreds of thousands of dollars they will *never* make back on a market like that.
and do all of my development work on it... and periodically I reboot into Windows to play Fallout 3.
I like Linux for development, but the fact is that it is not as good of a gaming platform as Windows is.
Windows has better video drivers, and it has a tons of teams at Microsoft working on things like directx that directly support gaming. Aside from that it has an enormous industry devoted to developing windows games.
Oh, and sound just works on Windows, did I mention that? That's pretty important for games. I have surround sound working on my Linux install, which took some doing, but as soon as I plug in my USB headset so I can use skype, the Linux sound system explodes. That means that even if left for dead was on Linux, I still wouldn't be able to play it.
Really, I don't see what the big deal with dual booting is and since people like me are just going to dual boot, I can't imagine why any game maker would waste money on a Linux port.
If I can play my game even marginally better on windows I have no reason not to get the windows version.
Here's what it is:
1. A VM based system, doesn't actually execute native code.
2. Has only one address space for some bizarre reason.
3. Persists everything in ram to disk...
So... your programs will run super slow because every memory write is written to disk, it you can't really run it on 32 bit hardware, and it doesn't run programs written in any existing programming languages.
So what is actually good about this operating system? Oh, it's super object oriented *rolls eyes*. As if that were a goal in and of itself.
This looks like another solution in search of a problem. Someone thought "wouldn't it be cool if" but didn't think about why anyone would care.
I think it almost doesn't matter now with firefox marketshare at over 25%. Any serious company has to support web standards now, and there are no longer nearly as many IE only websites as there once were.
The truth is, I'm not convinced bundling was really that important to begin with. What firefox adoption has shown, is that people *will* pick up on a better browser.
I think what killed netscape originally was that Microsoft released IE for *free*, and that netscape 4 and 6 really sucked compared to IE back in the day. A lot of people seem to have selective memory about that though...
IE is an awful browser by modern standards, but in IE 5 vs netscape 6, IE 5 won hands down.
If anything, I'm iffy about people trying to legislate firefox into the market. No matter what microsoft does, that's still a really commie move. And don't give me this "anticompetitive" crap. Microsoft has done real anticompetitive things in the past (like pressuring hardware vendors not to ship other OS's), but bundling IE was not one of themn.
http://en.wikipedia.org/wiki/Apple_Newton
Oh... wait.
Well, software patents still suck.
"provide a means for the public to give feedback on the performance of contracts awarded for purposes of carrying out this Act"
and I've had good luck with it in thunderbird.
However, I don't think there's linux program that handles exchange calendaring well. There's a plugin for thunderbird, but it doesn't work very well.
My advice is to use outlook web access for calendaring if you don't have a windows box on hand... although honestly I just keep my corporate laptop with winxp next to my linux workstation for when I need the calendar.
If you get sick of switching back and forth between windows, a good option is to use rdesktop:
http://www.rdesktop.org/
to log into your windows machine and keep a window open with outlook. Alternatively, there's always vmware, although it's a bit pricey and sucks up ram.
I've never heard of anyone ever getting it to work with a real world program.
The problem is that different linux distros are *not* binary compatible with each other. Some of the core libraries like glibc are compatible, but most binaries link a ton of other stuff. You might as well try installing windows programs or osx programs.
Alien cannot fix ABI incompatibilities.
>What to do when a developer distributes a .deb, or the other way around?
>.rpm but not a
Install from source.
On the other hand proprietary developers have a different system for installing their software. They use a minimal set of shared libraries like glibc and the x libraries that don't change their ABI often, then they statically compile everything else.
They also typically provide a shell script based installer instead of an rpm. Those that provide rpm's typically also provide a fairly generic deb.
It's a bitch getting inter distro compatible binaries on linux, so unless the developer put the initial work in, don't expect to be able to force it to run on your distro.
On ubuntu you really don't need an ftp or sftp client because gnome applications already speak those networking protocols.
Just open up nautilus, and give the networking path instead of the file system path. sftp://my_username@myserver.com/my/path
Using gedit or other gnome programs you can even open up the files remotely without manually copying them to the local disk.
This also makes setting up an smb server unnecessary since as long as you have ssh access you can access the whole remote filesystem through nautilus.
Three of the world's top 10 websites are PHP-based. Wikipedia, and facebook, along with vast chunks of yahoo.
Yes, PHP is suitable for writing websites... doing HTML processing. Not surprising for the PHP: Hypertext Preprocesor.
I think what most people who hate PHP have a problem with is that it is not a good general purpose programming languages... nor was it ever intended to be. I have literally never seen anyone use PHP for something that was not a website. It's good for simple inline hypertext processing, and that's about it.
Personally, I'd rather use Python, simply for the fact that I can use python for *other* things than web programming, and get code reuse across application domains. I'm not opposed to *learning* lots of different languages, but I'd rather segregate the code I write into as few languages as possible.