Dread Pirate PJ's House of Hacks and Tricks » windows http://www.pjtrix.com/blawg Sat, 23 Aug 2014 19:46:15 +0000 en-US hourly 1 https://wordpress.org/?v=4.2.29 iPhone Development on Windows & Linux with open source tools http/blawg/2009/07/21/iphone-development-on-windows-linux-with-open-source-tools/ http/blawg/2009/07/21/iphone-development-on-windows-linux-with-open-source-tools/#comments Tue, 21 Jul 2009 19:10:57 +0000 http/blawg?p=168 Continue reading ]]> Yesterday I presented at OSCON 2009. I spoke about how to use Eclipse and the iPhone-dev team’s GCC cross-compiler to develop for iPhone on Windows & Linux. I also spoke about XMLVM, an open source project that lets you develop in Java for Android and deploy on iPhone or Palm WebOS.

You can download the slides and program examples here.

To get started with open source iPhone development, you can download the open source toolchain for Linux or for Windows/Cygwin.

Note: To use the toolchain, you need to obtain the iPhone OS headers, frameworks and libraries. You can jailbreak your device and extract the frameworks and libraries using SSH, or you can decrypt the firmware and extract the framework and libraries from the decrypted disk image. The binaries you need are /System/Library/Frameworks and /usr/lib .

You can download the headers from the iPhone-dev team’s Subversion repository with svn co http://iphone-dev.googlecode.com/svn/branches/include-1.2-sdk

To use the iPhone-dev team’s headers, you need headers for Mac OS X 10.4 SDK. Then you type this at the command line:

cd /path/to/iphone-dev/svn/branches/include-1.2-sdk
./configure --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk

sudo bash install-headers.sh

Or you can extract them from the official iPhone SDK. :-)

Once you get the binaries and headers, move them to /usr/local/iphone-sysroot/ . The headers go in /usr/local/iphone-sysroot/usr/include/ , frameworks go in /usr/local/iphone-sysroot/System/Library/Frameworks/ , and libraries in /usr/local/iphone-sysroot/usr/lib/ .

Then to compile and link, set CFLAGS and LDFLAGS like below :

export CFLAGS=-I/usr/local/lib/gcc/arm-apple-darwin9/4.2.1/include \
-isysroot /usr/local/iphone-sysroot

export LDFLAGS=-framework CoreFoundation -framework Foundation \
-framework UIKit -lobjc -bind_at_load -isysroot /usr/local/iphone-sysroot

Then use these compile and linker commands :

/usr/local/bin/arm-apple-darwin9-gcc -c $(CFLAGS) main.c HelloWorld.m

/usr/local/bin/arm-apple-darwin9-gcc $(LDFLAGS) HelloWorld.o main.o \
-o HelloWorld

The easiest way to set this up for each project is in a makefile. Look in the HelloWorld example in the zip file with the slides for an example.

]]>
http/blawg/2009/07/21/iphone-development-on-windows-linux-with-open-source-tools/feed/ 13
Continuing the conversation: PS3 Linux & MS XNA http/blawg/2007/01/23/continuing-the-conversation-ps3-linux-ms-xna/ http/blawg/2007/01/23/continuing-the-conversation-ps3-linux-ms-xna/#comments Tue, 23 Jan 2007 18:56:49 +0000 http/blawg/2007/01/23/continuing-the-conversation-ps3-linux-ms-xna/ Continue reading ]]> Mateusz, Lenny, thanks for the comments.

Update: Reader Mateusz points out that there is an effort under way to port the XNA frameworks to other platforms using Mono. It’s great to see what the subversive, creative types come up with all on their own. It would be hilarious if PS3 owners could run XNA games by simply booting Linux. Take that, Redmond! Welcome to our social. LMAO!

My own take is that Sony is taking a laissez-faire approach, a la Franklin D. Roosevelt and the economy: let’s provide the tools, and whatever happens, happens. Let the market take it where it may. (I hope I am not embarrassing Mrs. Freite, my history teacher in high school, by mixing my economic strategies and presidents.)

While that is great, I think they could be a bit more proactive. They could encourage garage game development with the PS3 Linux project, by marketing it as such. A program like the old PSX Net Yaroze, but with PS3s and Linux, could attract some great talent. (See? Sony has been thinking about this garage developer thing for quite a long time.)

IBM and Toshiba see this as another marketing venue for the Power processor line, especially the work on the Cell Engine that they did. Toshiba only promotes Cell within its embedded processor market, not putting an oar in to help with the garage developer thing. IBM is a bit more active, but only within their established promotional circles: developerWorks and alphaWorks. And it is hardly a big push.

Microsoft is, of course, going all out, promoting XNA as a garage developer’s haven, especially generating excitement with the possibility of garage developers selling games on XBox Live Marketplace for both PC and XBox360. In my opinion, MS is doing a better job at pushing their ideas.

It’s like IBM and Sony don’t quite see what it is they have to do, having just provided the tools and sitting back to see what develops. While it’s great they’re not stirring the pot too much, the stew is gonna ruin if there’s no cook minding the stove.

OK, that’s enough analogies for today. Thanks for keeping the conversation going, guys. Comment away, and let’s keep talking. Anyone else have any thoughts to share?

Technorati Tags:
, , , , , , , , , ,

]]>
http/blawg/2007/01/23/continuing-the-conversation-ps3-linux-ms-xna/feed/ 4
What’s the deal with PS3 Linux? Simple: XNA http/blawg/2007/01/22/whats-the-deal-with-ps3-linux-simple-xna/ http/blawg/2007/01/22/whats-the-deal-with-ps3-linux-simple-xna/#comments Mon, 22 Jan 2007 19:34:37 +0000 http/blawg/2007/01/22/whats-the-deal-with-ps3-linux-simple-xna/ Continue reading ]]> Programming high-performance applications on the Cell BE processor, Part 1: An introduction to Linux on the PlayStation 3

The Sony PlayStation 3 (PS3) is the easiest and cheapest way for programmers to get their hands on the new Cell Broadband Engine (Cell BE) processor and take it for a drive. Discover what the fuss is all about, how to install Linux on the PS3, and how to get started developing for the Cell BE processor on the PS3.

Let’s ignore the $600 USD “cheapest” flame bait and concentrate on the business significance of Sony and IBM providing and promoting Linux for the PS3, shall we?

The PS3 is not the first game console officially sanctioned by the manufacturer to run Linux out of the box. For a few years, Sony sold a $99 Linux kit for the PS2, available only through their online store. It was discontinued early last year, and is now only available on eBay.

But why would Sony provide Linux for any of their video game consoles? What do they have to gain? In business, nothing is done “just” for the benefit of the consumer, much less for pure “free as in freedom” idealism. In the end, it all comes down to driving revenue and profits up, which ultimately pleases the shareholders. Cynical, perhaps, but do you really believe a public company as large as Sony does anything if not for the sake of revenue and profits? Any activity that does not somehow help improve those two factors, will not be seen very positively with the shareholders.

But still, what does it mean? How does PS3 Linux translate into revenue and profits for Sony? Let’s examine this some more, in the context of an obscure game console manufacturer with a similar strategy.

In Korea, the GP32 game console may not have run Linux, but the manufacturer provided on its website, a full set of open source programming tools that ran on Windows. Linux and Mac OS X support was added by the GP32 developer community shortly later. This made the GP32 the first off-the-shelf game console where the users were officially encouraged to make games for it. GamePark, the makers of the GP32, followed up nearly four years later with the Linux-powered GP2X, which also had a free, full set of development tools, including most of the source for the device’s implementation of Linux.

The response to the consoles was great, both in its native Korea and around the world. There is a healthy global open source game development community. Code-savvy game geeks from all around the world have taken to the GP32 and GP2X. Instead of dismal failure competing against Nintendo and Sony, GamePark has survived and grown against all odds. The gadget-happy Koreans responded despite fierce competition, and a healthy Korean commercial game developer community has grown to serve the Korean GP32 market. Many of these commercial developers were founded by the proverbial “two guys in a garage,” propelled to creativity by the open community GamePark fostered.

So back to the PS3. Sure, it’s freakishly expensive for just a single threaded, single tasking, web browser, digital photo gallery, photo slideshow player, propietary-format movie player, game console. But with Linux and the Blender Game Kit, OpenGL, SDL, etc., this is a garage game coder’s dream workstation on the cheap, with high-definition accelerated 3D graphics, surround sound, and all kinds of fun wireless tech at the developer’s fingertips. At $600 for a 60 GB model with 512 MB of RAM, it would make a nicer Linux computer than most sub-$1000 Windows PCs out there.

Perhaps a cottage gaming industry will grow out of the PS3 Linux strategy, like the GP32’s in Korea. Which makes this Linux play by Sony the direct competitor to Microsoft’s XNA move. You see, both Sony and Microsoft see independent game developers as the future savior of the game industry.

The big game publishers and developers screwed themselves, just as the MPAA and RIAA did, by making production ever more expensive, formulaic, and insipidly uncreative, and by depending on the quarterly mega-blockbuster to survive. They did this at a time when more people than ever have access to the means of production and distribution of digital creative content.

The goal of Sony’s Linux strategy and of Microsoft’s XNA, is to attract the independent game developers to their respective platforms. Microsoft believes that giving the tools away for “free as in free beer,” while keeping the secret sauce bottled up, is the successful strategy. Sony believes making the tools as open as possible without screwing the pooch is the the best strategy.

Now, as an open source fan, I will argue that a truly open community of coders, without central control and oversight, is going to prevail over the “you must please the gatekeeper” culture Microsoft wants to impose with XNA on XBox360.

But let’s not be too idealistic and see this independent game developer thing for what it really is. Just like IBM’s open source moves and Tim O’Reilly’s publishing strategy, both Microsoft’s and Sony’s strategies are all about the alpha geek mind share, and self-interest in the increase in revenue it generates.

But cynical as that may sound, open source is still the better thing. It gives more control to the developer and imposes less order, which leads to greater opportunity for creativity to go where it may. Anything less than an open technology and open community will stave off innovation before it even has a chance to set in.

Technorati Tags:
, , , , , , , , , ,

]]>
http/blawg/2007/01/22/whats-the-deal-with-ps3-linux-simple-xna/feed/ 3
Updates, upgrades … http/blawg/2006/11/03/another-seamless-and-successful-wordpress-upgrade-more-proof-of-microsofts-growing-irrelevance/ http/blawg/2006/11/03/another-seamless-and-successful-wordpress-upgrade-more-proof-of-microsofts-growing-irrelevance/#comments Fri, 03 Nov 2006 21:21:57 +0000 http/blawg/2006/11/03/another-seamless-and-successful-wordpress-upgrade-more-proof-of-microsofts-growing-irrelevance/ Continue reading ]]> I hadn’t realized so much time had passed since my last post. Mea culpa, I haven’t made time for new content. I’d been working my butt off and hanging out in Guild Wars to relax. :-) My apologies to my faithful and adoring readership (all four of you!)

I upgraded WordPress to version 2.0.5 just before I started this post. It was another textbook example of a successful upgrade.

Speaking of seamless and successful updates, I really can’t say the same about Microsoft’s upgrade to IE. IE7 has only been out two weeks, and it already suffers from a bug from the early IE6 days.

I would be willing to cut MS some slack if this was a new flaw. As a developer, I know that bugs happen. No one writes perfect code. But this is an old bug, and no developer worthy of the appelation “world-class” would have missed it. There’s no reason a “world-class” QA department should have missed it either.

If this is indicative of the Trustworthy Computing initiative that allegedly started with the development of Windows Server 2003, then I really, really wonder why anybody will bother to get Vista for anything but the computer games. I mean, that’s all Windows is good for, isn’t it? Oh yeah, I forgot. It’s great for spreading spam bots, too.

This IE7 bug simply proves there is no guarantee, no matter what monkey boy Ballmer and goodie-two-shoes Gates say, that IE7 and Vista won’t bite your ass with the same bugs that plagued IE and Windows for the last half decade.

For the guys up there in Redmond, here’s a freebie development mentoring lesson you have apparently not being taught by your “visionary leader”: regression test.

Trustworthy computing, my ass.

Technorati Tags:
,
,
,
,

]]>
http/blawg/2006/11/03/another-seamless-and-successful-wordpress-upgrade-more-proof-of-microsofts-growing-irrelevance/feed/ 0