Mac Useful info for smaller developers, re Universal Binaries

Cybernanga

macrumors regular
Original poster
Oct 27, 2004
201
0
Essex, United Kingdom
I just came across this site mentioned in an engadget comment, and thought it would be usefull for some of the smaller developers.

http://www.irecompile.com

Basically, they are are offering a service where they will take your X-Code 2.1 project, and build it for x86, and do some testing.

This is obviously targetted at those developers who can't afford a dev machine from Apple, but still what to produce a tested Universal Binary.

N.B. I'm not affiliated to them, and don't know how much they charge, just though the info might help someone out.
 

superbovine

macrumors 68030
Nov 7, 2003
2,872
0
Not a word about an NDA. I see this failure or a scam. I wouldn't send my code to anybody without an NDA or to someone who runs a business out of a GMail account. Especially one, who register his domain name with multi verison of his name, and make an Apple site to recompile code in Frontpage 4.0.

Code:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="description" content="Web & Graphic Design info for designers.  Tips, tutorials, free site templates, articles...">
<meta name="keywords" content="web, design, graphic design, photoshop, tips, templates, html, palisade, desing, deisgn, tips, adobe photoshop, web page design, website, tutorials, articles">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Welcome to iRecompile.com</title>
<style type="text/css"><!--body         { margin: 0; padding: 0 }
--></style>
</head>
oh there is this to:

http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/index.html

The only thing you can't do test the software on hardware. however, large projects would have the means to obtain this. most small projects, it won't really matter. ADC Premiere can get them for $999. I am guessing in the long run it be cheaper to buy the membership and the hardware so you can test and debug without the help of a third party.

Registrant:
Brian Chick
1 main st
poughkeepsie, New York 12604
United States

Registered through: GoDaddy.com
Domain Name: IRECOMPILE.COM
Created on: 10-Jun-05
Expires on: 10-Jun-06
Last Updated on: 10-Jun-05

Administrative Contact:
Chick, Brian thetspot.org@gmail.com
1 main st
poughkeepsie, New York 12604
United States
(845) 454-0000
Technical Contact:
Chickery, Brian thetspot.org@gmail.com
1 main st
poughkeepsie, New York 12604
United States
(845) 454-0000

Domain servers in listed order:
PARK11.SECURESERVER.NET
PARK12.SECURESERVER.NET
 

paulringo

macrumors newbie
Jun 11, 2005
2
0
SuperBovine, or Mad Cow???

You sound very angry dude. And why is it that whenever someone hates a webpage, they view the source, and get personally insulted by what created it? Cyber had the right idea, passing on info, not flaming. I visited their site, and it looks official, though I did not do a whois, and run any background checks like The Cow. I wish they had images of their developemnt kit though.

Keep on keepin on Cyber, and Bovine, don't have a cow man! hahaha
 

Cybernanga

macrumors regular
Original poster
Oct 27, 2004
201
0
Essex, United Kingdom
superbovine said:
Not a word about an NDA. I see this failure or a scam. I wouldn't send my code to anybody without an NDA or to someone who runs a business out of a GMail account. Especially one, who register his domain name with multi verison of his name, and make an Apple site to recompile code in Frontpage 4.0.
If you feel your software needs and NDA before anyone see's the source code, then surely you will already have one of your own already drafted? I would only ever use my own NDA, as if he provided it, it would be on his terms.

Also, when I make a domain registration, I always use an 'alternate' account, because as it's publicly available information addresses linked to whois pages tend to get spammed. I try to keep my business address free for business.

Maybe he got someone to create the site for him. Not everyone knows web design, even if they do have a Mac. He may not even be a programmer, just a guy with a business idea who may have programmers working for him and made a bad choice about who designed the site for him.


superbovine said:
The only thing you can't do test the software on hardware. however, large projects would have the means to obtain this. most small projects, it won't really matter. ADC Premiere can get them for $999. I am guessing in the long run it be cheaper to buy the membership and the hardware so you can test and debug without the help of a third party.
I made this posting mainy for small developers who may not have the money to get a dev system right away. I make a couple of apps that are donationware, and I don't have the money to get a dev system, but I'd still like to know that the next versions of my apps are working well for all users. I'm not necessarily going to use these guys or anyone else for that matter, but it's nice to know the option is still there.

I just thought some other devs might be interested, which is why I posted, but thanks for your input anyway.
 

jsw

Moderator emeritus
Mar 16, 2004
22,819
41
Andover, MA
Assuming my developer box arrives, I'll offer to do the same. For free. With whatever NDA people want me to accept.

Basically, if a small developer has an Xcode 2.1 project that they can and are willing to send to me, I'll check it for them.

However, my guess is that the easiest service I could provide is seeing if their executable - which they can compile on a PPC - runs. That way, their code isn't sent out, and I don't need to worry about it - I just run an application and report if it worked.

Still, again assuming I get the box, I don't see any reason to charge for a few minutes of my time.
 

wrldwzrd89

macrumors G5
Jun 6, 2003
12,107
73
Solon, OH
Darn, I don't qualify for this or for Apple's Select/Premier programs...I guess that's because I consider myself a developer but haven't written anything in Xcode yet :eek:
 

paulringo

macrumors newbie
Jun 11, 2005
2
0
Emailed iRecompile.com...

I emailed them to ask weather they will be doing any freeware or open source testing for a reduced fee or free. Here is the response..

"Thank you for your interest. We are obviously just getting started, but we plan on Doing 1 free/open source project for every 1 paying customer. We feel this will help the greater mac community. The more people that pay, the more free projects get to be universal binaries."

I agree. The more mac software there is the better. :)
 

robbieduncan

Moderator emeritus
Jul 24, 2002
24,597
60
Harrogate
jsw said:
Assuming my developer box arrives, I'll offer to do the same. For free. With whatever NDA people want me to accept.

Basically, if a small developer has an Xcode 2.1 project that they can and are willing to send to me, I'll check it for them.

However, my guess is that the easiest service I could provide is seeing if their executable - which they can compile on a PPC - runs. That way, their code isn't sent out, and I don't need to worry about it - I just run an application and report if it worked.

Still, again assuming I get the box, I don't see any reason to charge for a few minutes of my time.
That's very generous. I might well ask you to check that my binaries run.
 

superbovine

macrumors 68030
Nov 7, 2003
2,872
0
paulringo said:
You sound very angry dude. And why is it that whenever someone hates a webpage, they view the source, and get personally insulted by what created it? Cyber had the right idea, passing on info, not flaming. I visited their site, and it looks official, though I did not do a whois, and run any background checks like The Cow. I wish they had images of their developemnt kit though.

Keep on keepin on Cyber, and Bovine, don't have a cow man! hahaha
I am not angry, i was werely stating my opinion of the facts. If you view someone saying their website is made by frontpage as an insult then have a lot to learn. I pointed out it was made by frontpage, to show that it wasn't made a on a Mac, perhaps leading evidence to the fact that it was a fraud. I am sorry for question sites, that i feel are quite questionable looking and unprofessional.
 

mkrishnan

Moderator emeritus
Jan 9, 2004
29,641
12
Grand Rapids, MI, USA
jsw said:
However, my guess is that the easiest service I could provide is seeing if their executable - which they can compile on a PPC - runs. That way, their code isn't sent out, and I don't need to worry about it - I just run an application and report if it worked.
This is the most useful service -- since you can *make* the binaries on PPC Macs but not test them, AFAIK. It is very generous of you, jsw.

It could be problematic if a lot of small developers just click the Intel button, recompile a universal binary, and then put it on their website (probably with a "the Intel portion of the binary has never been tested!" caveat). While it would be good, in the sense that lots of Mac/Intel binaries would be out there for consumption the day the first Mac/Intel commercial product drops, it would be unfortunate if the result was that half the software out there b0rk'd miserably on Mac/Intel.

Which leads me to wonder two things...

1) Will Apple have another round of more widely available developer hw or sw before Mac/Intels are commercially available? Perhaps even some kind of repackaging of VPC running Mac/Intel or something like that?

2) If the Intel side of a universal binary is buggier than the PPC side...will early Mac/Intels have some kind of option that will allow them to run the PPC side under Rosetta instead of running the native side?
 

robbieduncan

Moderator emeritus
Jul 24, 2002
24,597
60
Harrogate
mkrishnan said:
2) If the Intel side of a universal binary is buggier than the PPC side...will early Mac/Intels have some kind of option that will allow them to run the PPC side under Rosetta instead of running the native side?
Yes. SteveO showed this during the Keynote. In the info window for the app there is a checkbox to do this.

That said I expect apps to be as stable on both versions. The only major difference (with respect to stability, at least for Cocoa apps) is that messages to nil will cause a crash on x86.
 

mkrishnan

Moderator emeritus
Jan 9, 2004
29,641
12
Grand Rapids, MI, USA
robbieduncan said:
Yes. SteveO showed this during the Keynote. In the info window for the app there is a checkbox to do this.

That said I expect apps to be as stable on both versions. The only major difference (with respect to stability, at least for Cocoa apps) is that messages to nil will cause a crash on x86.
Ahhh, thanks. I missed that part in the keynote, I guess. :eek: Just to clarify, I mean that a *user* running an existing universal binary, could choose to run the PPC version instead of the Intel version, without having to change the binary, right? Hopefully that feature will either stay visibly present in MacOS/Intel or will be a barely-hidden easter egg....

As for stability, I agree, with respect to Cocoa apps. That seems very reasonable. I am somewhat more worried about the more involved transitions to Intel for some of the trickier Carbon apps....
 

Sun Baked

macrumors G5
May 19, 2002
14,875
57
From a MacBytes c/net story...

http://www.advenio.com/services.html

For smaller companies that may not want to invest the time or the $1,000 to rent the Intel system, a company called Advenio has a service in which it will do the necessary porting work. As an indication of the relative time involved, the company is charging a flat $100 fee to create a universal binary of a Cocoa application; the fee for porting a Carbonized program starts at $500 and depends on the amount of work involved.
So it looks like there will be services available.
 

superbovine

macrumors 68030
Nov 7, 2003
2,872
0
Interestingly enoughly they put a FAQ up on the site answering all the questioned I raised.

hmmmm?
 

jsw

Moderator emeritus
Mar 16, 2004
22,819
41
Andover, MA
robbieduncan said:
That's very generous. I might well ask you to check that my binaries run.
mkrishnan said:
This is the most useful service -- since you can *make* the binaries on PPC Macs but not test them, AFAIK. It is very generous of you, jsw.
As far as I can tell, it's not going to cause me any sort of hardship. :)

Apple's already taken my $999 for the kit (which does upset me a bit - most places charge you when they ship...), and, assuming that my email asking a few questions doesn't end up with my shipment being cancelled (doubtful, but one interpretation of it might be that I wanted to cancel, and I can't submit a rephrasing of it since it all goes into one vast pile and I can't undo what I've submitted), I'll post a thread offering this service.

Since anyone can compile Intel binaries on a PPC using Xcode 2.1, I'll just ask that people do that and send me the executable. I'd be happy to compile projects if I have the time, but, with daughter #2 at T minus 5 days and counting, I can't promise that. If people want to send the projects, that'd be nice for me just to help me to learn Xcode and Cocoa - I've been planning on doing so, and got this kit to give me a kick-in-the-pants, and any sample source code can't help but help me. Only as a resource - I don't steal other's code (mine's better ;) - and I mean that as a joke... my Java is top-notch, but my Cocoa/Objective-C is pretty meager).

I'd be nice if people'd let me have a free copy of the final version of their software, but it's cool if they don't. Really.
 

Omen88

macrumors regular
Jan 8, 2002
177
0
Flanders (Belgium)
jsw said:
I don't steal other's code (mine's better ;) - and I mean that as a joke... my Java is top-notch, but my Cocoa/Objective-C is pretty meager).
C'mon man, that's what programming is all about :)

But that's a very nice incentive of you to test other people's intel binaries.
 

mj_1903

macrumors 6502a
Feb 3, 2003
563
0
Sydney, Australia
jsw said:
As far as I can tell, it's not going to cause me any sort of hardship. :)

Apple's already taken my $999 for the kit (which does upset me a bit - most places charge you when they ship...), and, assuming that my email asking a few questions doesn't end up with my shipment being cancelled (doubtful, but one interpretation of it might be that I wanted to cancel, and I can't submit a rephrasing of it since it all goes into one vast pile and I can't undo what I've submitted), I'll post a thread offering this service.

Since anyone can compile Intel binaries on a PPC using Xcode 2.1, I'll just ask that people do that and send me the executable. I'd be happy to compile projects if I have the time, but, with daughter #2 at T minus 5 days and counting, I can't promise that. If people want to send the projects, that'd be nice for me just to help me to learn Xcode and Cocoa - I've been planning on doing so, and got this kit to give me a kick-in-the-pants, and any sample source code can't help but help me. Only as a resource - I don't steal other's code (mine's better ;) - and I mean that as a joke... my Java is top-notch, but my Cocoa/Objective-C is pretty meager).

I'd be nice if people'd let me have a free copy of the final version of their software, but it's cool if they don't. Really.
In the event that you are too busy feel free to forward some of the applications/projects to me as I will be receiving a developer kit as well soon.

Good luck with the new daughter. :)
 

whooleytoo

macrumors 604
Aug 2, 2002
6,610
628
Cork, Ireland.
jsw said:
Assuming my developer box arrives, I'll offer to do the same. For free. With whatever NDA people want me to accept.

Basically, if a small developer has an Xcode 2.1 project that they can and are willing to send to me, I'll check it for them.
Careful! (Cue a huge deluge into jsw's inbox!!)
;)
 

steeldrivingjon

macrumors regular
Jun 8, 2005
108
0
Cheshire, CT, USA
First, you don't need an Intel to compile for Intel. You can compile for Intel today with Xcode 2.1.

Back in the NeXT days, smaller developers just shipped their apps compiled four-way fat. They probably never even saw an HP or Sun workstation running NeXTSTEP, but they compiled and shipped anyway. I doubt many developers had the money to afford to buy $5000 or $10,000 HP or Sparc workstations, and the OS to go with them (which cost $795, at least, and the dev tools cost about $5,000 per seat).

I would suggest that beta testing is the way to go. Line up some users on both platforms, and ask them for bug reports.

The only people running on Intel, for the next year, will be developers, which means you'll be more likely to get good feedback if there's a crash. They'll probably be interested in seeing how well things run on Intel, so your universal binary is likely to be tried by someone.

If you ship the beta and compile it with debugging info and symbols, other developers might even be willing to run it from within GDB and help you debug.
 

steeldrivingjon

macrumors regular
Jun 8, 2005
108
0
Cheshire, CT, USA
mkrishnan said:
2) If the Intel side of a universal binary is buggier than the PPC side...will early Mac/Intels have some kind of option that will allow them to run the PPC side under Rosetta instead of running the native side?
Just run the commandline tool 'lipo' to remove the Intel binary segment from the executable.

The tool is in 10.4 (and has been in OS X all along) so you can check it out with "man lipo".

I expect someone will make a GUI wrapper around lipo at some point.
 

mkrishnan

Moderator emeritus
Jan 9, 2004
29,641
12
Grand Rapids, MI, USA
steeldrivingjon said:
Just run the commandline tool 'lipo' to remove the Intel binary segment from the executable.

The tool is in 10.4 (and has been in OS X all along) so you can check it out with "man lipo".

I expect someone will make a GUI wrapper around lipo at some point.
Ahh, thanks, that's interesting. FWIW, at least in my Tiger install, I do not have a man page for lipo, but I do seem to have the utility itself.
 

caveman_uk

Guest
Feb 17, 2003
2,403
1
Hitchin, Herts, UK
robbieduncan said:
That said I expect apps to be as stable on both versions. The only major difference (with respect to stability, at least for Cocoa apps) is that messages to nil will cause a crash on x86.
Are you sure about that? According to the 'Universal Binary Programming Guidelines' page 46.

Objective-C: Messages to nil

On a Macintosh using an Intel microprocessor, Objective-C messages sent to nil return garbage for return values that are typed as float or double. On a Macintosh using a PowerPC microprocessor these messages return 0.0.
So it would seem that, apart from the above, messages to nil are still OK. Indeed it would be quite a drag if you couldn't send messages to nil. I don't really want to wrap if statements around all my method calls. It's far too c++ like!

As far as I can tell the biggies to watch out for are endian-ness and divide by zero (OK on PPC - definately not on x86)
 

steeldrivingjon

macrumors regular
Jun 8, 2005
108
0
Cheshire, CT, USA
caveman_uk said:
Are you sure about that? According to the 'Universal Binary Programming Guidelines' page 46.



So it would seem that, apart from the above, messages to nil are still OK. Indeed it would be quite a drag if you couldn't send messages to nil. I don't really want to wrap if statements around all my method calls. It's far too c++ like!

As far as I can tell the biggies to watch out for are endian-ness and divide by zero (OK on PPC - definately not on x86)
Messages to nil were perfectly fine on NeXTSTEP for Intel. I can't see why it would cause a crasher now. The only change, as noted, are in the return value for certain return types.

And divide by zero exceptions aren't that big of a deal in practice - just don't be sloppy.

Do many Mac programmers really count on tolerance of divide-by-zero?