Advertisement

Hardcore Mac development

Started by February 28, 2009 12:11 PM
78 comments, last by ApochPiQ 15 years, 8 months ago
Quote: Original post by Trapper Zoid
Quote: Original post by Dmytry
Interestingly, I find a lot of pesky little annoyances on OS X and Windows (more in OS X), while I'm generally very happy with Linux.

My showstopper problem with Linux was that I couldn't get the blasted thing installed on my PC. Every distro I tried would hang during bootup. Eventually I gave up and reclaimed the partition for Windows.

On older PCs, when I could get a distro running, I never could get the 3D drivers running. This was back when I didn't have an internet connection to the PC too. Installing anything on Linux without an internet connection is a lesson in pain.

Hmm. Never used linux without internet myself, and never had hang on boot issues except with my really old pc after capacitors did go little swollen (I replaced them because i wanted to keep pc as server).
Quote:

Quote: Everyone got his favourite OS of course.
I have very little tolerance to the kind of annoyances which would be immediately fixed in open source OS. (such as hardcoded mouse acceleration curve, or having to buy microsoft mouse to get different hardcoded curve, same as windows default (but still with no way of configuring it) )

The biggest drawcard for Mac OS X, and why I've made it my prime development platform, is the mix of creative and under-the-hood technical elements.

Mac OS has always been popular with creative artists, so all the great tools have a Mac version. If you can't afford the expensive commercial tools like Adobe or Corel, then there's a vibrant shareware scene. There's some good inexpensive creative writing tools for the Mac out there too.

For the techie side of me, there's the Unix underpinnings of the whole OS. I love having the ability to open an Terminal window and hacking around with Unix commands. It's the combination of having that ability with the well designed Apple GUI and commercially supported software that sold Macs to me.

I don't like this part, especially in comparison with Linux. Firstly, terminal application is truly horrible (it may come as surprise, but terminals can be good or bad), secondly, OS isn't open and you cannot do useful "hacking" anyway.

True story: today I wanted to do some hax to improve ergonomics. For last time, I tried to adjust apple's mouse acceleration curve myself. Driver has XML configuration file with acceleration table storen in it (as binary encoded as base-64, with absolutely no documentation of the format available anywhere)
I did find sources for the driver few days ago, but no way of knowing if those are up to date. Driver is an example of truly horrible coding style (see my blog). The acceleration table additionally undergoes, to put it mildly, rather strange pre-processing.
All right, I took piece of driver, put it into a project, managed to get it to run, and understood how acceleration table is processed.
Made new table. I'm totally confident it gives linear acceleration curve in my isolated test. Replaced old table with it in driver configuration file.
*Absolutely zero effect* no matter what I do with table.
Evidently actual driver is newer version and it seems does not load acceleration table from config at all.

Contrast that to last ergonomics related hack I did in Linux, which I did ages ago when I had mouse with 5 buttons, and Linux didn't recognize it properly yet. It involved simple edit of one well documented driver config file, which stored all parameters as plain text.
Quote:

Plus I'll have Mac support for all the software I create out of the box. Have you seen what the typical market share the Mac has for cross-platform indie game sales? In terms of the pie chart, we're not talking "significant", we're talking "dominant". You'd be mad not to target the Mac!

Yea. But I'd rather do that from comfort of my Linux box where i can build for windows and osx. I even can build for iphone, but i dont know if builds work.

[Edited by - Dmytry on February 28, 2009 6:14:15 PM]
Quote: Original post by Talroth
Well, of course RAM is overpriced from Apple, but it is overpriced from everywhere and Apple just gets to overprice it even more because they're apple. And yet the odd thing is, that even while it is horribly over priced, the price is still a good deal.


Why is it still a good deal? Because if it wasn't, then people wouldn't pay for it.

Nice redefinition of "good deal".
Is can of shit for EUR124,000 a good deal then ?

As for huge companies, that is rather laughable. There is subcontractors for install and maintenance work, or your own staff, and if you're big, that's a requirement. No, I don't see how those apple mac pro options equate to service a company needs. If you got 1000 computers, several computers will fail every week. A small company might rather have benefit from getting macs, not big.

[Edited by - Dmytry on February 28, 2009 6:19:04 PM]
Advertisement
I've been running a macbook for around a month now, and by far the most annoying part of it has been other mac users. Everytime there is an annoyance and you try to find a workaround, you get a forum full of fanboys saying that's the way it works on a mac and there is no reason to change it because it works better The Mac Way.

I've ran into this some with linux users as well, but not nearly to the extent that it is present on any mac threads.

That and xcode is garbage. Code completion is terrible and the MDI environment makes it a pain in the ass to get anything done effeciently, especially when combined with the naive implementation of command-tab and command-tilde.
Quote: Original post by Dmytry
I don't like this part, especially in comparison with Linux. Firstly, terminal application is truly horrible (it may come as surprise, but terminals can be good or bad), secondly, OS isn't open and you cannot do useful "hacking" anyway.

*shrug*. We've got different objectives for what we want out of our computers.

Personally, I can't be bothered hacking into my OS. I've got my own projects I'd prefer to be hacking away at. I want an OS that does what I want it to do and then stays in the background while I'm doing my work. For me, it doesn't matter if the OS gives me the ability to hack a mouse driver; I'm not going to do it.

That's actually my biggest beef with Linux. Far too much of the functionality requires hacking things that really shouldn't be hacked. The 3D driver issue I mentioned is an example of this. The method for installing my 3D driver in Linux was to compile the new driver into the kernel. Seriously, sod that. That's far too much work. I just want my computer to display pretty 3D graphics, not have to rebuild the guts of the damn OS. [grin]

Quote: Yea. But I'd rather do that from comfort of my Linux box where i can build for windows and osx. I even can build for iphone, but i dont know if builds work.

But you won't be building primarily for Macs, will you? Sure, you might be able to compile for Macs on your Linux machine, but it's not your prime OS. It sounds like you're developing for Linux first, then porting to Windows, then getting Mac OS X developed as an afterthought. It's an approach I suspect a lot of triple-cross-platform apps follow, as the Mac OS version looks and feels like a port. It's a bit silly for game development to go Linux->Win->MacOS though; that's the complete opposite from the expected market share.

As for the "good deal" comment, Talroth is right. Do you think a big company is going to care about an extra $2K for a computer for a $100K p.a. plus professional?
Quote: Original post by tstrimp
I've been running a macbook for around a month now, and by far the most annoying part of it has been other mac users. Everytime there is an annoyance and you try to find a workaround, you get a forum full of fanboys saying that's the way it works on a mac and there is no reason to change it because it works better The Mac Way.

I've ran into this some with linux users as well, but not nearly to the extent that it is present on any mac threads.

That and xcode is garbage. Code completion is terrible and the MDI environment makes it a pain in the ass to get anything done effeciently, especially when combined with the naive implementation of command-tab and command-tilde.


Oh, I've done Mac development before - I'm painfully familiar with the ridiculous attitude of the Mac user "elite." I've also done my fair share of swearing loudly at Xcode. To be frank, I hate Xcode with a passion, and I'll more than likely end up doing my development with terminal, vim, and a couple bash scripts.

Of course, if I get a crazy amount of free time and nothing better to do, I'll learn Objective-C and see if I can build a better IDE than Xcode. I mean, it can't be that hard to write something with at least a marginally smaller degree of suck.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Quote: Original post by tstrimp
I've been running a macbook for around a month now, and by far the most annoying part of it has been other mac users. Everytime there is an annoyance and you try to find a workaround, you get a forum full of fanboys saying that's the way it works on a mac and there is no reason to change it because it works better The Mac Way.


I've had a Macbook for three-fourths of a year now, and I've not encountered this except in YouTube comments on videos that are related to Macs or OS X in some way--but seriously, think of any idiotic idea or line of reasoning and it is guaranteed to be present in some YouTube comment on some video, no exceptions.
Advertisement
Quote: Original post by Dmytry
Quote: Original post by Talroth
Well, of course RAM is overpriced from Apple, but it is overpriced from everywhere and Apple just gets to overprice it even more because they're apple. And yet the odd thing is, that even while it is horribly over priced, the price is still a good deal.


Why is it still a good deal? Because if it wasn't, then people wouldn't pay for it.


As for huge companies, that is rather laughable. There is subcontractors for install and maintenance work, or your own staff, and if you're big, that's a requirement. No, I don't see how those apple mac pro options equate to service a company needs. If you got 1000 computers, several computers will fail every week. A small company might rather have benefit from getting macs, not big.


Yeah, there are subcontractors and the like that you can hire, but that is dealing with an additional party, and that brings up issues. Even on a small order my university went with paying extra for Apple to install the ram for them. Why? Because there were no questions, we pulled them out of the boxes, set them up in the lab, and had students developing on them in just a few minutes. They worked, there was no BS, there was no fiddling with manuals to figure out how to properly open the cases, locating the ram slots for proper configuration, no dealing with timing issues or worrying about if the ram would work properly in the boards. Likely the most important aspect was that the department didn't have to spend time looking up contractors or even shopping for the ram. Yes, they spent several thousand more than they 'needed' to, but they've saved hours of work, and avoided potential days of headaches dealing with other issues. If they didn't work, they would have just sent the units back for over night repair.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
Can someone explain to me the "they just work" argument?

I know precious little about the intrices of hardware, but everything just works. My system is now 4 years old (writing a compiler and playing DotA doesn't really press its needs), but when I built it, it was simply a matter of finding a Pentium 4 (eep), a P4 motherboard, some RAM, a harddrive, etc. Then I just got the shop to assemble it. It's been sweet for 4 years. I upgraded the RAM from 512 to 2gb a year ago. That just worked. I've never seen all these problems people keep talking about, about timing issues and whatnot. What are you guys doing with your systems to encounter these problems? I'm very computer-software literate, but like I said, when it comes to hardware, I'm par for the course - yet there aren't any problems. I don't know whether or not Apple should charge such a premium for what is effectively saying that their system will work as advertised, when Little Tech Shop down the road is capable of assembling an equivilently capable PC that "just works" for less. I've done some comparisons, and other "it just works" PC places (Dell and co.) aren't as expensive as Apple. That is to say, they can build a system that provides equivalent capabilities for less. The pieces may be different. I guess it could just be manufactoring costs - there's zillions of iPods, but many, many fewer Macs out there, and thus less factories, and thus higher production costs. 'Tevs.
[ search: google ][ programming: msdn | boost | opengl ][ languages: nihongo ]
Quote: Original post by _goat
Can someone explain to me the "they just work" argument?


They just work, because when you buy Apple, you have about 5 different set's of hardware which you can use to run the OS. Now, I've built my share of PC's, and have had many which have run flawlessly, but also have had many which have had nothing but problems.

Now, in terms of development for the Mac, you really need to know your audience. Chances are, high end gaming machines for people, which you would easily find on the PC side, are non existant, because Macs weren't made for games. Yes, I know people play games. And I know people would play games if given the opportunity. But for some reason, this myth still prevails in the Apple community, especially amongst the people at Apple themselves. If anything, an iMac, or a Power Mac would work well, because that's the audience you're most likely going to go after. And the one good thing about the Mac community is that generally, they are willing to spend money for applications.

In terms of development, I've also found XCode highly overrated, and tend to do most of my work on the PC side. Just make sure you separate out your GUI and OS related function calls to their own classes, and put wrappers around them. You can keep your use of Obj C down to a bare minimum.
Quote: Original post by _goat
Can someone explain to me the "they just work" argument?

Generally my PC hardware has worked quite well too. It's the software that gets right ornery. I know little about the intricacies of how it all works too, but Macs get the benefit of being a very controlled set of hardware. There's only a handful of configurations out there, so Apple gets to test each one. Windows and Linux, on the other hand, have toaim for the wide plethora of devices out there, and often these will clash.

Macs also have the benefit of being a smaller install base, so there aren't as many software nasties floating around on the interwebs for them (the tighter administration model of Unix helps here too). Less nasties also mean less need for virus and spyware checkers running continuously, which is one of my biggest bugbears of dealing with Windows machines (or more accurately, troubleshooting family computers with fifty bajillion programs running at once).

I'm not sure how much of this is to do with better software/hardware design, or how much is just from being the little guy when it comes to market share and being the target of malwware/viruses/trojans/etc. Apple and Microsoft also tend to have a different philosophy with their OSes and backward compatibility. Windows appears to attempt to be compatible all the way back to early versions, with varying degrees of success, whereas Apple discontinues support over time. I can't run Mac OS 9 or prior software on my Intel iMac, for example. But that means there's less legacy cruft that needs support and less stuff that can break horribly.

Edit: Heh, must have taken my time on that reply.

And I also currently tend to use Xcode just as a fancy compiler manager rather than an IDE. I'm not much of a Mac developer per se, I just use them. I prefer to stick to cross-platform stuff as much as possible.

This topic is closed to new replies.

Advertisement