so, the code that executes when i'm moving my arrow key/joystick whatever to move the little guy arcross the hilly 3D terain trying to capture the coins or whatever while basically running all over the place... that's not speed critical code? maybe just the rendering of all that crap? is that speed critical?
The input methods are not speed critical as they take almost no processing to complete. The graphics rendering is speed critical but you need to look more fine grained than that. The specific area to be optimised differs for each application. It is almost always in a repeat loop though and often in a nested repeat loop because that code is executed repeatedly. It may be a part of the rendering code, particularly for calculating what is in the field of view.
Optimisation is really not my area so you'll have to do some independant research on this - there are plenty of publications about it. A quick google search should keep you pretty busy. The key thing to remember is that there is no need to go all out optimising everything - you only need to make the application run fast enough so that it is acceptable to the user and probably a little faster for good measure. Users almost always judge the speed of the application on an impression and not the actual speed of the application. You are better off spending time designing an efficient user interface rather than trying to optimise everything.
could you point me to one that I could evaluate? like i said, i haven't seen one yet.
Well pretty much any well written Java app on Mac OS X - the Java support on X is very impressive. Of particular note though is World Book Encyclopedia for OS X which was written in Java (there must be some specific libraries in C as it is not currently available for Windows). It was demoed during the keynote at MacWorld and nobody realised it was written in Java.
Java support on Windows isn't as good but is rapidly improving. I actually don't know of anything that is readily available that really shows off what Java can do (my development work is yet to be released ). Actually, Tomcat would be a pretty good example. It's written in Java and is used in industrial strength servers. Admittedly it doesn't use the GUI elements much which is where Java is at its slowest right now, but it's still quite a testimony to the fact that Java can perform extremely well.
C is faster in GUI work but using the native look and feel of Java is very effective and is continually improving. Long term prospects are really looking good. If you can, have a play with an OS X machine some time - the Java support is brilliant and Suns implementation is struggling to catch up.
first, what are non speed critical sections of a game? the splash screens, setup menu? the actual playing area, which I'm hoping is a majority of the game is speed dependant. they tend to heavily use the processors available, and any they can get their hands on (video, CPU, audio, etc).
What's that saying: 90% of a programs execution is in 10% of the code? I think you need to learn a little about optimization and speed issues. The game will spend most of it's time in the speed critical section - that's why it's speed critical - but that section will not make up much of the code for the application.
the actual fact is that a very insignificantamount of games are actually produced by java.
Originally a very insignificant amount of games were written for Windows (they were all for DOS even after Windows came out), but time changes things. As time progresses I'm sure you will start to see games written in Java. Right now game development shops are familiar with C/C++ and assembly which encourages them to choose C/C++ - technical merits are not the only considerations for a selection of language.
Nearly all java GUI applications (games are gui's no?) I have seen are useable but no where near their counterparts in terms of ease of use, and general responsiveness
That's because you attribute fast performance and responsiveness to C/C++ apps and don't recognise them as Java apps. You did realise that Java can take on the native look and feel and become completely indistinguishable to native apps right?:)
I don't change my monitor that often so I don't want to buy one with each computer. The computer at Circuit City is a Compaq Presario 5000. As I admitted before, Macs are probably competitive in the mid-range. But if you want a CHEAP COMPUTER you would have to buy a used Mac to get to PC-like prices.
I've done my fair share of tech support so let me assure you - these cheap PCs are total and utter crap. If that's all you ever buy, you have no idea how much hell you're putting yourself through. There is no way you can call Macs expensive these days because they clearly are not. They are quality machines that come with a 3 year extended warranty and more features than the competition. If you don't want to use Macs because you prefer Windows that's fine - but don't blame it on price.
My habit is to buy the cheapest computer available and use it for a year and a half and then buy another cheap one.
At the point that your discarding your PC, the Mac is only half way through it's warranty. You choose to pay $500 every 1.5 years, I pay $1000 every 3 years with full warranty coverage. Home users would keep the Mac much longer than that (5 years minimum). At your rate the computer is costing you $333/yr, my rate is $333/yr and for the typical home user of a Mac it's $200. Now which is cheaper? Factor in the fact that the Mac users are getting a new monitor each time and that eventually you will need to buy a new one as well and the Mac is cheaper in both cases.
Oh and that eMachines computer you mentioned, has no firewire, no ethernet card and no video memory (on-board video). The iMac has firewire, a 10/100 ethernet card and a Rage128 Pro with 16MB video RAM. So not only is it a lower overall price (long-term), the iMac has significantly more features. Oh and used Macs have excellent resale value so you won't save huge amounts by buying second hand.
1) I've spent the weekend trying to compile PHP 4.1.2 on this damned machine, and I'm getting tired of reading potentially helpful posts on various mailing lists which all end in the same error message:
"/usr/bin/libtool: internal link edit command failed"
You probably want to check out: http://www.stepwise.com/Articles/Workbench/2001-03 -24.01.html and probably a bunch of other articles at www.stepwise.com. I personally found compiling PHP on Mac OS X much easier than on Linux, but that was probably because I was more experienced at stuffing around with apache modules.
2) I bought Civilization III for Mac OS X. I have a 677mz G4 processor with 512 MB of RAM, and the damned game is so slow its almost unplayable. That's simply unacceptable. I can't remember the last time that I cursed so much at a game. It doesn't matter if companies port their software to Mac OS X, if the port is practically unusable.
You have to carefully port games to OS X or you do hit huge performance problems (what is fast on OS 9 is slow on OS X and visa versa in a lot of cases). However, Macs are not gaming machines by any stretch of the imagination.
It is worth noting that in general use Macs perform just as well as PCs. I have a 400Mhz TiBook and a 1.2Ghz Athlon with the same amount of RAM in each and in general use I can't tell the difference in performance. Even when compiling stuff there doesn't seem to be any difference. Games are faster on the PC, graphics work is faster on the Mac. The casual home user should ignore the speed of the computer altogether these days.
But if you tell me you didn't buy a Mac because you were too cheap, rest assured that you won't get invited to any of my parties. I'd rather have no scotch than cheap scotch;-)
I completely agree. It's not that hard to save up a bit of money for things, just learn to budget a little.
you mean "commercial end user applications", of course
No, I mean applications. OS X is UNIX and as such can run most linux software with a recompile. It's really only the commercial Linux software that doesn't run because source code isn't available.
and of course, by three year warranty, you mean 1 year on all hardware
My mistake on that, I buy for education where you do get a 3 year warranty. You could however get the AppleCare Extended warranty which extends the warranty to 3 years and gives you 90 days telephone support. It costs an extra $149 but that still winds up cheaper than the Dell with a monitor quoted in another reply.:)
According to sfgate, the cheapest of the new iMacs $1,399.00 [sfgate.com].
I said the bottom of the line iMac. That would be $799 including a monitor or $100 cheaper than your Dell without a monitor. Like I said, Mac's are not expensive.
If I was in Apple's marketing department I'd be asking "what would it take to get you to switch to Macs?" not "why are you thinking about buying a Mac?" or "Now that we have your money, what do you think?"
Because they already know all the reasons people give for not buying a Mac. You give two favourites yourself.
There are two main things stopping Apple from gaining greater market share: Price and Applications. They cost too damn much (for what you get) and don't have all the apps that Windows (or even Linux, these days) has.
Now lets look at it: First off, price. The bottom line iMac is actually very cheap and when you compare it to a packaged PC deal with 3 year warranty, you'll actually find the prices are roughly the same and the Mac has more features. For the average user speed is not an issue, that's why Celerons sell so well.
Next up, applications. There are more Windows applications out there, given. However, there are *far* more Mac OS X applications out there than there are Linux applications, despite your statement. This is mostly because most Linux applications happily run on OS X (and more and more are coming precompiled in a double-clickable installer). Secondly, most of the applications on Windows are absolute crap that you don't want to use. Think about it - how many applications do you have installed on your PC? How many do you use? What do you need to do that can't be done on the Mac? While there are some things that are better done on a Windows box, and some things that can't be done on a Mac at all, for most people all the apps you'll ever need are available for Mac.
The other thing to note is that Apple is asking people who are considering Mac what they think because they are potential customers, people who have ruled out Macintosh (or are so narrow minded that they won't even consider it) are a lost cause for Apple. Take the easy money first then slowly expand into the harder markets if you need to. Don't beat your head against a brick wall for no reason.
Since Java3D is a wrapper for "OpenGL" (which strictly speaking is a standard, not a program or library), you clearly have a library for OpenGL hardware access.
Java3D is not a wrapper for "OpenGL". It is often implemented as a thin wrapper for OpenGL calls, but is itself a standard which does differ from OpenGL (most importantly that it is Java based, not C based).
This library is probably written in C.
Correct, most java implementations are written in C or C++, the question is not that Java should always be used in place of C/C++, but rather whether you should take advantage of the C/C++ code already written by using Java and thus gain the cross-platform benefits of Java.
Just as OpenGL is a standard, so is Java (proprietary/non-proprietary is not the issue here). The Java standard includes not only 3D graphics abilities, but also sound, 2D graphics and in fact everything you need to implement a game and provides cross-platform compatibility.
As far as speed is concerned there have been and continue to be great progresses made in JITC compilation which is making Java quite comparable to C/C++. You should note however that speed critical sections of code are written in assembly, not C/C++ and this capability is still avaialable in Java (obviously limiting cross-platform abilities, but at least only the speed critical sections need to be ported).
It is easy to give the kneejerk reaction that Java is slower or that you can do it in C anyway, but the fact remains that Java is fast enough for a very significant percentage of games produced and provides cross-platform deployment much easier than C/C++. The advantages of Java are numerous, so the question shouldn't be why bother, but why not?
But do to the lack of universal Media APIs for your Java games to use
You mean like Java3D? Most of the time Java3D is a thin wrapper around OpenGL, but on systems with no OpenGL it can be implemented differently.
Admittedly, sound has a very poor record on Java, but there has been a recent addition of javax.sound to the standard API that I haven't looked into yet. Basically, with excellent 2D graphics support, 3D graphics support and sound support - what other media does a game use?
Disclaimer: I write business style apps and so I haven't looked into Java3D or Java's sound support much, but I also haven't heard massive criticisms from Java programmers about them either.
The odd part is that development tools for Windows or the Mac are not exactly free or even cheap.
The developer tools CD ships with every copy of OS X and is also freely available from developer.apple.com. How much cheaper can you get (the compiler is gcc so it's even RMS compliant). In fact most of the tools you'd use for developing on OS X is the same stuff you'd use on Linux.
How is the Mac onboard sound particularly interesting? The same goes for Mac Video. The Macs are really just Kludge Klones with a PPC in place of the x86.
err, not quite. Apple's have an Apple designed motherboard for a start and an Apple-specific sound chip. The video was previously the ATi cards which don't seem to be too popular on the Windows side and weren't well supported under Linux (worse under PPC linux) and these days are the latest nVidia cards which are too new to have great support.
Add to that the fact that Macs don't have a BIOS and instead use OpenFirmware and you start to realise how different it is to write drivers for a Mac than a PC. The final thing to consider is the one you mentioned yourself, it uses a PPC not an x86 and since all instructions go through the processor that affects everything you do with the system.
When it comes to hardware integration little differences can cause a lot of headaches.
There's half a dozen tests I want to run and having the same "flavor" of Linux on both machines makes it more accurate.
Agreed that it makes it more accurate, but it's still hopelessly inaccurate. Linux was written for x86 and is maintained in a x86-centric fashion (the separate ppc tree takes ages to have it's improvements folded back into the Linus tree). That's the way Linux works for a number of good reasons. What it means though is that PPC support is always lacking, not to mention support for video cards, the Mac onboard sound etc.
The problem this causes with benchmarks is that you are *not* running the same OS and the benchmarks are *not* comparable. The only way to get a good measure of how the speed of a computer is to actually sit down and use it for a while. Why are people so obsessed with benchmarks and photoshop tests?
Re:Used? Maybe. New? Not hardly.
on
Low-end Laptops?
·
· Score: 3, Informative
As far as I can tell, there is no such thing anymore as a small, efficient and portable computer which is also general purpose -- the only ones you will find that do so have their hardware, software or both severely limited in order to cut down on complexity and increase ease of use/reliability (like Tivo, and yeah, I'm aware Tivo isn't considered portable).
Actually, it does exists and it's called the iBook. It's small, doesn't get too hot, includes pretty much every port you'd ever need (USB, Firewire, VGA out (and AV out), ethernet, modem etc) and has a 6 hour battery life. Then there's the choice of DVD drive, CD burning or DVD reader/CD writer combo drive.
Since this is an article about cheap computers, it should be noted that at least here in Australia you won't get a new laptop for much less than the iBook and if you do you compromise on features significantly. Since the reader is primarily looking at second hand systems this may not be an option for him, but it certainly should be a consideration for people considering a new laptop. Besides, Linux users love OS X.:)
Cartoon Network isn't running seperate feeds for east coast/west coast. Sceptics should check the showtimes [cartoonnetwork.com].
It goes a bit further than that though - I'm in Australia and watching all the same programming. They do take into account the different time zone (so the midnight run is on at midnight) but don't seem to change much else. All the shows seem to appear on/. at the same time they appear on my TV set.
Australia of course, has an entirely different rating system to the US (largely based on the same ideas) so I would expect that CN is not only paying attention to what the American ratings allow but also what the Australian ratings allow. Same goes for audience complaints, they could come from anywhere.
Doesn't this strike anyone else as something they shouldn't have to deal with? Okay, being a geek a tinkering with "stuff" is fun and all, but why should I ever have to manually sort out how IRQs assigned or know anything about interrupts in the first place?
If Windows freezes because it can't deal with ACPI properly, it's a software problem with Windows. If Windows freezes because the ACPI implementation doesn't meet the standard it's a hardware bug and the hardware should be fixed.
When it comes down to it, who's problem it is becomes irrelevant - it's a problem and a big one that has plagued x86 systems since it's inception. Please tell me that someone, somewhere can come with a way to fix this! (For the x86 line, Macs and probably a variety of other systems have never had IRQ conflict problems.)
What browser are you using? If a normal reload doesn't validate frames with an If-Modified-Since, that's a bug.
MS IE. It's a bug somewhere, but it may be a bug in the browser or any of the caches between me and the internet (I'm not entirely sure what kind of things I go through to get out of here). I've not seen the problem before though, so it may have just been something "funky" (ie: a bug but who knows where), particularly since the only time I've visited the page in the past couple of months the link was there.
It's at the bottom of the blue sidebar/frame on the left, just above the green "Return to Home." As of now, it appears -- if it's not working for you check that you're not using a cached version of the page, and that your browser likes frames (probably a given).
Right you are - a very strange browser cache problem. It was there when I went to the page originally and I even downloaded the source code. A shift reload cleared it all up (normal reload didn't).
I have to wonder, why the author claims that the Gnucleus developers are not happy about it. The gnucleus home pages states As long as they post their source code and credit us in the program I dont have a problem with this which would indicate they don't mind so much and doesn't mention anything about not being happy.
Then again, the whole story was a farce but it makes you question the claims of people not being happy in/. articles a bit more.
Looks like the real deal, folks, and someone just jumped the lawsuit-happy gun.
Yes, I've just performed the same kind of analysis (had to move it to a UNIX box for sanity though). However, for the life of me I can't find the link to the source code that people are saying was on the front page (and I thought it was too). Has it been removed or am I merely blind?
I downloaded the Morpheus client just after the previous story about it changing to the gnutella network and there was a link on the front page to the source code for the new client. I currently have a file "mpesrc1.zip" sitting on my desktop which contains source code. Admittedly the zip file then contains a folder called gnucleus1 so it may be the original, unmodified code rather than the morpheus code. Anyone else see this link or have the ability to analyse the code?
Okay, I'll take the flames and negative karma for saying this but perhaps developers (particularly most opensource developers) need to listen to UI experts a little more.
Allow me to explain: Apple employs a ton of UI experts and has a long history of working with UI designers - what are they famous for (apart from the pretty hardware)? Ease of use. Apple == easy to use. You might disagree (and recently Apple would appear to have been working with UI experts less) but the majority of people know Apple is easier to use. Certainly if you role the clock back to when Raskin was at Apple they were clearly making the easier to use computers.
Linux has a long history of working with coders, geeks and computer nerds who are doing stuff that is "cool" rather than trying to be exceptionally productive or easy to use. It is only in the last few years since Linux has become so popular that focus has turned to usability. What's Linux known for? Being difficult to use.
So while it is all very nice for people here to criticise Raskin and other UI experts as being "out of touch" or "not having anything better" - perhaps you should come down from your high horse and listen to people who have studied in that area. I'm not qualified to comment on kernel development issues like which VM was better so when that issue came up I kept quiet and listened to what the experts said about it.
I've laid down this challenge everytime a UI argument comes up - find me one piece of objective evidence that supports your claims. Raskin has four of five pages worth of references in his book to back him up, what about you? It's easy to rant on about how when you change this or that it *obviously* makes you more productive, but noone bothers to actually prove that. There is significant amounts of proof that interfaces which make you objectively more productive do not necessarily perform well on subjective tests. In other words, unless you objectively analyse your customisations/interface you will likely be highly mislead as to the productivity of the interface (See Tullis' Ph.D dissertation, 1984, page 134 and his referenced works).
Right now, computers are hard to use - why shouldn't we try to improve them and when doing so why should we argue against the research that is being done without backing up our arguments with facts?
This is fine until you have to continously relearn the computer UIs of various systems you might come in contact with.
How is this different to any other device? You have to get to know every new person you meet to - does that make you avoid meeting people? (Okay, bad example for/. but hey....:)
Proof of this is in the manner in which people will invariably forget passwords, bank account pin numbers and safe combinations. All are very similar UIs in that they are a series of alpha numeric characters in a set sequence of similar length (though PIN numbers are often the shortest).
No, the ATM is the UI, the PIN is data. Data is much harder to remember because there is (usually) no prompt to help you remember it. This is also the reason that GUIs are easier to use than CLIs - the options are presented to you instead of having to remember them. With GUIs you don't need to learn as such, but rather develop habits.
The more of each of these required to be memorized, the greater the likelihood that one will fail because while the UIs are similar, they are not consistent or the same. This is not to say that they shoudl necessarily be the same, but as a counter to your argument, it works.
So let me get this straight - your argument is that they should all be the same so that we don't have to take any time to learn them. I have three counters to your argument:
Where most of hte users' time will be spent in routine operation of the product and where learning is only a small part of the picture, designing for productivity - even if that requires retraining - is often the correct decision. Very few people regularly change OS's or software packages, so the training time is a good investment.
If everything were to be the same, we would never be able to improve things - do you still want to be flipping switches to give input to your computer? Which base line to we choose to make everything the same as?
Finally, you don't even believe your own argument so why should anyone else? To quote: "is not to say that they shoudl necessarily be the same". What precisely were you trying to say then?:)
Re:will you macheads ever understand
on
Zarf in Mac OS X Land
·
· Score: 3, Insightful
I'd be very surprised, for example, if you found a user interface for Minesweeper which is significantly more efficient than the standard one.
Have to mention - a more efficient interface for Minesweeper would be to show you where the damn mines are from the start.... poor interface design is actually what makes most games fun (for certain values of poor).
The other way to improve Minesweeper would be to remove it altogether and get back to your real work.:) (Same goes for/.)
But here's the catch: people use the same applications for very diverse sets of tasks. You cannot expect a user interface designer to come up with a UI which is optimal for all foreseeable uses of the application. That's why powerful applications have to be customizable.
Actually, you can but it depends on the type of customisation you're talking about. You shouldn't have to customise the way an application works, but you should be able to customize what it does. Your example is an ideal way of explaining this further.
A very specific example: EMACS is a text editor. It can be used for writing mails, diaries, articles, web pages, computer programs and so on.
All of these are just editing text - different content, same way of editing it. ie: You use the same key bindings to change text etc no matter what you're working on. The key bindings are the way you use the application. The content is what you use the application for.
It so happens that computer languages like C allow the programmer to layout her code the way she sees most fit. By coincidence, EMACS has a feature which automates this layout process to some degree. But since programmers use different coding styles, it's possible to customize the way EMACS does the layout, in order to fit the preferences of the programmer.
Now I agree with you that this customization should be in the program (I was really annoyed with JBuilder for a long time before I discovered I could customise the way it laid out my code). Lets look carefully at what we are customizing though. Take a specific customization that is possible say whether code is indented with tabs or spaces. Now, if we use tabs, to get a new line in the code we hit return and EMACS inserts a tab for us. If we use spaces, to get a new line in the code we hit return and EMACS inserts some spaces for us. Notice what changed between the two scenarios - the content, not the way we did things. In other words, the customisation that you are talking about is customisation of auto-generated content, not of the interface.
That's why EMACS is an excellent editor for pretty much any editing task and why notepad.exe barely suffices for writing an email.
Agreed, the ability to create whatever content you want and to have a consistent way of editing that content is what makes EMACS great (well I use vi but the same deal applies). Now, what is more arguable is whether or not you should be able to turn autoindenting/autoformatting on and off. This does affect the way the application works (pressing return gives you a new line but no indent anymore). I would hazard a guess that you are more productive having your editor indent code automatically so long as the editor is good at it - so strictly speaking a good UI would remove this customisation however it's probably a case where not having this customisation would restrict the content you could create. You would be driven mad using the editor with that new langauge until it was updated to work with it properly. Forcing auto-indenting to be on would also force you to use one of the supported styles - you wouldn't be able to go on a masochistic rage and use a reversed indenting scheme or some other layout change that in your particular situation was worthwhile (a demonstration of really bad code?).
Forcing autoindent in a particular style would be a good way of enforcing a coding standard though... Either way, this is really an example of customising content more than it is in customising the way a program is used.
The input methods are not speed critical as they take almost no processing to complete. The graphics rendering is speed critical but you need to look more fine grained than that. The specific area to be optimised differs for each application. It is almost always in a repeat loop though and often in a nested repeat loop because that code is executed repeatedly. It may be a part of the rendering code, particularly for calculating what is in the field of view.
Optimisation is really not my area so you'll have to do some independant research on this - there are plenty of publications about it. A quick google search should keep you pretty busy. The key thing to remember is that there is no need to go all out optimising everything - you only need to make the application run fast enough so that it is acceptable to the user and probably a little faster for good measure. Users almost always judge the speed of the application on an impression and not the actual speed of the application. You are better off spending time designing an efficient user interface rather than trying to optimise everything.
could you point me to one that I could evaluate? like i said, i haven't seen one yet.
Well pretty much any well written Java app on Mac OS X - the Java support on X is very impressive. Of particular note though is World Book Encyclopedia for OS X which was written in Java (there must be some specific libraries in C as it is not currently available for Windows). It was demoed during the keynote at MacWorld and nobody realised it was written in Java.
Java support on Windows isn't as good but is rapidly improving. I actually don't know of anything that is readily available that really shows off what Java can do (my development work is yet to be released ). Actually, Tomcat would be a pretty good example. It's written in Java and is used in industrial strength servers. Admittedly it doesn't use the GUI elements much which is where Java is at its slowest right now, but it's still quite a testimony to the fact that Java can perform extremely well.
C is faster in GUI work but using the native look and feel of Java is very effective and is continually improving. Long term prospects are really looking good. If you can, have a play with an OS X machine some time - the Java support is brilliant and Suns implementation is struggling to catch up.
What's that saying: 90% of a programs execution is in 10% of the code? I think you need to learn a little about optimization and speed issues. The game will spend most of it's time in the speed critical section - that's why it's speed critical - but that section will not make up much of the code for the application.
the actual fact is that a very insignificantamount of games are actually produced by java.
Originally a very insignificant amount of games were written for Windows (they were all for DOS even after Windows came out), but time changes things. As time progresses I'm sure you will start to see games written in Java. Right now game development shops are familiar with C/C++ and assembly which encourages them to choose C/C++ - technical merits are not the only considerations for a selection of language.
Nearly all java GUI applications (games are gui's no?) I have seen are useable but no where near their counterparts in terms of ease of use, and general responsiveness
That's because you attribute fast performance and responsiveness to C/C++ apps and don't recognise them as Java apps. You did realise that Java can take on the native look and feel and become completely indistinguishable to native apps right? :)
I've done my fair share of tech support so let me assure you - these cheap PCs are total and utter crap. If that's all you ever buy, you have no idea how much hell you're putting yourself through. There is no way you can call Macs expensive these days because they clearly are not. They are quality machines that come with a 3 year extended warranty and more features than the competition. If you don't want to use Macs because you prefer Windows that's fine - but don't blame it on price.
My habit is to buy the cheapest computer available and use it for a year and a half and then buy another cheap one.
At the point that your discarding your PC, the Mac is only half way through it's warranty. You choose to pay $500 every 1.5 years, I pay $1000 every 3 years with full warranty coverage. Home users would keep the Mac much longer than that (5 years minimum). At your rate the computer is costing you $333/yr, my rate is $333/yr and for the typical home user of a Mac it's $200. Now which is cheaper? Factor in the fact that the Mac users are getting a new monitor each time and that eventually you will need to buy a new one as well and the Mac is cheaper in both cases.
Oh and that eMachines computer you mentioned, has no firewire, no ethernet card and no video memory (on-board video). The iMac has firewire, a 10/100 ethernet card and a Rage128 Pro with 16MB video RAM. So not only is it a lower overall price (long-term), the iMac has significantly more features. Oh and used Macs have excellent resale value so you won't save huge amounts by buying second hand.
You probably want to check out: http://www.stepwise.com/Articles/Workbench/2001-03 -24.01.html and probably a bunch of other articles at www.stepwise.com. I personally found compiling PHP on Mac OS X much easier than on Linux, but that was probably because I was more experienced at stuffing around with apache modules.
2) I bought Civilization III for Mac OS X. I have a 677mz G4 processor with 512 MB of RAM, and the damned game is so slow its almost unplayable. That's simply unacceptable. I can't remember the last time that I cursed so much at a game. It doesn't matter if companies port their software to Mac OS X, if the port is practically unusable.
You have to carefully port games to OS X or you do hit huge performance problems (what is fast on OS 9 is slow on OS X and visa versa in a lot of cases). However, Macs are not gaming machines by any stretch of the imagination.
It is worth noting that in general use Macs perform just as well as PCs. I have a 400Mhz TiBook and a 1.2Ghz Athlon with the same amount of RAM in each and in general use I can't tell the difference in performance. Even when compiling stuff there doesn't seem to be any difference. Games are faster on the PC, graphics work is faster on the Mac. The casual home user should ignore the speed of the computer altogether these days.
But if you tell me you didn't buy a Mac because you were too cheap, rest assured that you won't get invited to any of my parties. I'd rather have no scotch than cheap scotch ;-)
I completely agree. It's not that hard to save up a bit of money for things, just learn to budget a little.
No, I mean applications. OS X is UNIX and as such can run most linux software with a recompile. It's really only the commercial Linux software that doesn't run because source code isn't available.
and of course, by three year warranty, you mean 1 year on all hardware
My mistake on that, I buy for education where you do get a 3 year warranty. You could however get the AppleCare Extended warranty which extends the warranty to 3 years and gives you 90 days telephone support. It costs an extra $149 but that still winds up cheaper than the Dell with a monitor quoted in another reply. :)
I said the bottom of the line iMac. That would be $799 including a monitor or $100 cheaper than your Dell without a monitor. Like I said, Mac's are not expensive.
Because they already know all the reasons people give for not buying a Mac. You give two favourites yourself.
There are two main things stopping Apple from gaining greater market share: Price and Applications. They cost too damn much (for what you get) and don't have all the apps that Windows (or even Linux, these days) has.
Now lets look at it: First off, price. The bottom line iMac is actually very cheap and when you compare it to a packaged PC deal with 3 year warranty, you'll actually find the prices are roughly the same and the Mac has more features. For the average user speed is not an issue, that's why Celerons sell so well.
Next up, applications. There are more Windows applications out there, given. However, there are *far* more Mac OS X applications out there than there are Linux applications, despite your statement. This is mostly because most Linux applications happily run on OS X (and more and more are coming precompiled in a double-clickable installer). Secondly, most of the applications on Windows are absolute crap that you don't want to use. Think about it - how many applications do you have installed on your PC? How many do you use? What do you need to do that can't be done on the Mac? While there are some things that are better done on a Windows box, and some things that can't be done on a Mac at all, for most people all the apps you'll ever need are available for Mac.
The other thing to note is that Apple is asking people who are considering Mac what they think because they are potential customers, people who have ruled out Macintosh (or are so narrow minded that they won't even consider it) are a lost cause for Apple. Take the easy money first then slowly expand into the harder markets if you need to. Don't beat your head against a brick wall for no reason.
Java3D is not a wrapper for "OpenGL". It is often implemented as a thin wrapper for OpenGL calls, but is itself a standard which does differ from OpenGL (most importantly that it is Java based, not C based).
This library is probably written in C.
Correct, most java implementations are written in C or C++, the question is not that Java should always be used in place of C/C++, but rather whether you should take advantage of the C/C++ code already written by using Java and thus gain the cross-platform benefits of Java.
Just as OpenGL is a standard, so is Java (proprietary/non-proprietary is not the issue here). The Java standard includes not only 3D graphics abilities, but also sound, 2D graphics and in fact everything you need to implement a game and provides cross-platform compatibility.
As far as speed is concerned there have been and continue to be great progresses made in JITC compilation which is making Java quite comparable to C/C++. You should note however that speed critical sections of code are written in assembly, not C/C++ and this capability is still avaialable in Java (obviously limiting cross-platform abilities, but at least only the speed critical sections need to be ported).
It is easy to give the kneejerk reaction that Java is slower or that you can do it in C anyway, but the fact remains that Java is fast enough for a very significant percentage of games produced and provides cross-platform deployment much easier than C/C++. The advantages of Java are numerous, so the question shouldn't be why bother, but why not?
You mean like Java3D? Most of the time Java3D is a thin wrapper around OpenGL, but on systems with no OpenGL it can be implemented differently.
Admittedly, sound has a very poor record on Java, but there has been a recent addition of javax.sound to the standard API that I haven't looked into yet. Basically, with excellent 2D graphics support, 3D graphics support and sound support - what other media does a game use?
Disclaimer: I write business style apps and so I haven't looked into Java3D or Java's sound support much, but I also haven't heard massive criticisms from Java programmers about them either.
The developer tools CD ships with every copy of OS X and is also freely available from developer.apple.com. How much cheaper can you get (the compiler is gcc so it's even RMS compliant). In fact most of the tools you'd use for developing on OS X is the same stuff you'd use on Linux.
err, not quite. Apple's have an Apple designed motherboard for a start and an Apple-specific sound chip. The video was previously the ATi cards which don't seem to be too popular on the Windows side and weren't well supported under Linux (worse under PPC linux) and these days are the latest nVidia cards which are too new to have great support.
Add to that the fact that Macs don't have a BIOS and instead use OpenFirmware and you start to realise how different it is to write drivers for a Mac than a PC. The final thing to consider is the one you mentioned yourself, it uses a PPC not an x86 and since all instructions go through the processor that affects everything you do with the system.
When it comes to hardware integration little differences can cause a lot of headaches.
Agreed that it makes it more accurate, but it's still hopelessly inaccurate. Linux was written for x86 and is maintained in a x86-centric fashion (the separate ppc tree takes ages to have it's improvements folded back into the Linus tree). That's the way Linux works for a number of good reasons. What it means though is that PPC support is always lacking, not to mention support for video cards, the Mac onboard sound etc.
The problem this causes with benchmarks is that you are *not* running the same OS and the benchmarks are *not* comparable. The only way to get a good measure of how the speed of a computer is to actually sit down and use it for a while. Why are people so obsessed with benchmarks and photoshop tests?
Actually, it does exists and it's called the iBook. It's small, doesn't get too hot, includes pretty much every port you'd ever need (USB, Firewire, VGA out (and AV out), ethernet, modem etc) and has a 6 hour battery life. Then there's the choice of DVD drive, CD burning or DVD reader/CD writer combo drive.
Since this is an article about cheap computers, it should be noted that at least here in Australia you won't get a new laptop for much less than the iBook and if you do you compromise on features significantly. Since the reader is primarily looking at second hand systems this may not be an option for him, but it certainly should be a consideration for people considering a new laptop. Besides, Linux users love OS X. :)
More buttons is always good.... Makes you wonder about those Mac users.... :)
It goes a bit further than that though - I'm in Australia and watching all the same programming. They do take into account the different time zone (so the midnight run is on at midnight) but don't seem to change much else. All the shows seem to appear on /. at the same time they appear on my TV set.
Australia of course, has an entirely different rating system to the US (largely based on the same ideas) so I would expect that CN is not only paying attention to what the American ratings allow but also what the Australian ratings allow. Same goes for audience complaints, they could come from anywhere.
If Windows freezes because it can't deal with ACPI properly, it's a software problem with Windows. If Windows freezes because the ACPI implementation doesn't meet the standard it's a hardware bug and the hardware should be fixed.
When it comes down to it, who's problem it is becomes irrelevant - it's a problem and a big one that has plagued x86 systems since it's inception. Please tell me that someone, somewhere can come with a way to fix this! (For the x86 line, Macs and probably a variety of other systems have never had IRQ conflict problems.)
MS IE. It's a bug somewhere, but it may be a bug in the browser or any of the caches between me and the internet (I'm not entirely sure what kind of things I go through to get out of here). I've not seen the problem before though, so it may have just been something "funky" (ie: a bug but who knows where), particularly since the only time I've visited the page in the past couple of months the link was there.
Right you are - a very strange browser cache problem. It was there when I went to the page originally and I even downloaded the source code. A shift reload cleared it all up (normal reload didn't).
Then again, the whole story was a farce but it makes you question the claims of people not being happy in /. articles a bit more.
Yes, I've just performed the same kind of analysis (had to move it to a UNIX box for sanity though). However, for the life of me I can't find the link to the source code that people are saying was on the front page (and I thought it was too). Has it been removed or am I merely blind?
I downloaded the Morpheus client just after the previous story about it changing to the gnutella network and there was a link on the front page to the source code for the new client. I currently have a file "mpesrc1.zip" sitting on my desktop which contains source code. Admittedly the zip file then contains a folder called gnucleus1 so it may be the original, unmodified code rather than the morpheus code. Anyone else see this link or have the ability to analyse the code?
Allow me to explain: Apple employs a ton of UI experts and has a long history of working with UI designers - what are they famous for (apart from the pretty hardware)? Ease of use. Apple == easy to use. You might disagree (and recently Apple would appear to have been working with UI experts less) but the majority of people know Apple is easier to use. Certainly if you role the clock back to when Raskin was at Apple they were clearly making the easier to use computers.
Linux has a long history of working with coders, geeks and computer nerds who are doing stuff that is "cool" rather than trying to be exceptionally productive or easy to use. It is only in the last few years since Linux has become so popular that focus has turned to usability. What's Linux known for? Being difficult to use.
So while it is all very nice for people here to criticise Raskin and other UI experts as being "out of touch" or "not having anything better" - perhaps you should come down from your high horse and listen to people who have studied in that area. I'm not qualified to comment on kernel development issues like which VM was better so when that issue came up I kept quiet and listened to what the experts said about it.
I've laid down this challenge everytime a UI argument comes up - find me one piece of objective evidence that supports your claims. Raskin has four of five pages worth of references in his book to back him up, what about you? It's easy to rant on about how when you change this or that it *obviously* makes you more productive, but noone bothers to actually prove that. There is significant amounts of proof that interfaces which make you objectively more productive do not necessarily perform well on subjective tests. In other words, unless you objectively analyse your customisations/interface you will likely be highly mislead as to the productivity of the interface (See Tullis' Ph.D dissertation, 1984, page 134 and his referenced works).
Right now, computers are hard to use - why shouldn't we try to improve them and when doing so why should we argue against the research that is being done without backing up our arguments with facts?
How is this different to any other device? You have to get to know every new person you meet to - does that make you avoid meeting people? (Okay, bad example for /. but hey.... :)
Proof of this is in the manner in which people will invariably forget passwords, bank account pin numbers and safe combinations. All are very similar UIs in that they are a series of alpha numeric characters in a set sequence of similar length (though PIN numbers are often the shortest).
No, the ATM is the UI, the PIN is data. Data is much harder to remember because there is (usually) no prompt to help you remember it. This is also the reason that GUIs are easier to use than CLIs - the options are presented to you instead of having to remember them. With GUIs you don't need to learn as such, but rather develop habits.
The more of each of these required to be memorized, the greater the likelihood that one will fail because while the UIs are similar, they are not consistent or the same. This is not to say that they shoudl necessarily be the same, but as a counter to your argument, it works.
So let me get this straight - your argument is that they should all be the same so that we don't have to take any time to learn them. I have three counters to your argument:
Have to mention - a more efficient interface for Minesweeper would be to show you where the damn mines are from the start.... poor interface design is actually what makes most games fun (for certain values of poor).
The other way to improve Minesweeper would be to remove it altogether and get back to your real work. :) (Same goes for /.)
Actually, you can but it depends on the type of customisation you're talking about. You shouldn't have to customise the way an application works, but you should be able to customize what it does. Your example is an ideal way of explaining this further.
A very specific example: EMACS is a text editor. It can be used for writing mails, diaries, articles, web pages, computer programs and so on.
All of these are just editing text - different content, same way of editing it. ie: You use the same key bindings to change text etc no matter what you're working on. The key bindings are the way you use the application. The content is what you use the application for.
It so happens that computer languages like C allow the programmer to layout her code the way she sees most fit. By coincidence, EMACS has a feature which automates this layout process to some degree. But since programmers use different coding styles, it's possible to customize the way EMACS does the layout, in order to fit the preferences of the programmer.
Now I agree with you that this customization should be in the program (I was really annoyed with JBuilder for a long time before I discovered I could customise the way it laid out my code). Lets look carefully at what we are customizing though. Take a specific customization that is possible say whether code is indented with tabs or spaces. Now, if we use tabs, to get a new line in the code we hit return and EMACS inserts a tab for us. If we use spaces, to get a new line in the code we hit return and EMACS inserts some spaces for us. Notice what changed between the two scenarios - the content, not the way we did things. In other words, the customisation that you are talking about is customisation of auto-generated content, not of the interface.
That's why EMACS is an excellent editor for pretty much any editing task and why notepad.exe barely suffices for writing an email.
Agreed, the ability to create whatever content you want and to have a consistent way of editing that content is what makes EMACS great (well I use vi but the same deal applies). Now, what is more arguable is whether or not you should be able to turn autoindenting/autoformatting on and off. This does affect the way the application works (pressing return gives you a new line but no indent anymore). I would hazard a guess that you are more productive having your editor indent code automatically so long as the editor is good at it - so strictly speaking a good UI would remove this customisation however it's probably a case where not having this customisation would restrict the content you could create. You would be driven mad using the editor with that new langauge until it was updated to work with it properly. Forcing auto-indenting to be on would also force you to use one of the supported styles - you wouldn't be able to go on a masochistic rage and use a reversed indenting scheme or some other layout change that in your particular situation was worthwhile (a demonstration of really bad code?).
Forcing autoindent in a particular style would be a good way of enforcing a coding standard though... Either way, this is really an example of customising content more than it is in customising the way a program is used.