Rhapsody in Yellow (Redux)
Sooo... been an interesting couple of days.
The weekend started out innocently enough, I just happened to notice I hadn't touched the blog in awhile & the front page was looking kind of empty... so I threw together Rhapsody in Yellow to assuage the guilt and posted it in a hurry on Friday afternoon before I headed out the door.
Cool evening ensued, which consisted of (in order):
- Kill Bill vol.2 (rocked my world)
- Food
- 4 tall Tooheys
- 5 white russians (talls)
- 1 shot of something I don't really remember
- 1 shot of tequila the bartender bought us
- Stop @ Krispy Kreme for donuts and lots of coffee
So, decent Friday. Got home well after midnight and decided to check the computer for messages before I crashed, and even in my altered state it was obvious something was wrong. Gyazmail was taking forever to pull in my mail, and AdiumX was telling me there were messages from 20+ people I'd never heard from left while I was away.
My mail came in, and I thought I'd been mail-bombed for a second there.
It took way longer than it should have for me to realize that drunkenblog was being passed around more than Aguilera backstage and that the reason my mail was so slow was due to the server running at an average load of 7. As a quick aside: CLIs just suck when you're inebriated. Trying to grep a log file, or type in a long password for an ssh session and then comprehending the results becomes... comical. There are some initial wtf & omfg emails and IM conversations that I really hope weren't saved out there. Considering necessity is the mother of all invention, if one had the time, one might find it interesting to research whether or not the creators of the GUI had a penchant for throwing back a few.
As I wasn't really sure what to expect I made some changes to some of the services that would hopefully allow it to handle the load, threw in a script to restart apache every 20 minutes and roll over the log files every two hours just in case. No amount of caffeine or nicotine was going to keep me up at this point, so an executive decision was made to crash and deal with it in the morning.
Saturday morning wasn't really pretty. Unfortunately the peeps who pushed it to other sites seemed to pull out the parts that seemed relevant to their circles' priorities, and didn't seem to take into account that I'd done the same when bashing it out. As an example, this is what was posted on /.:
Apple and Independent Developers
Corleone writes "We've seen a realization recently that Microsoft isn't standing still with Longhorn, and countering Longhorn has been pushed to the forefront. That is why I found the concept of Apple being the larger danger in Rhapsody in Yellow so ironic. The author skirts the scary question: would Apple porting their frameworks to Linux give them undue influence over the direction of the free operating system movement? This is after recent reports saying missing programs are the biggest thing holding Linux back on the desktop. Macromedia has interest in their tools on Linux, surely many others are too. This would seem to allow thousands of companies a simple path to the Linux market but with Apple as the gateway. If not Apple, what of Microsoft porting their engine?"
In other words, people hit the post with an entirely different mindset than was expected. This was an article about the mac market and Apple devs, and things were glossed over in that context. If I'm banging something out of decent detail for the mac-mindset, I'm not going to go into a bunch of detail on the ins & outs of KDE licensing, or the differences between KDE & Qt. If I was banging something out that I assumed lots of Linux people were coming to, I wouldn't necessarily go into the differences between Mac OSX & Darwin & freeBSD versus freeBSD+Mach unless it was pertinent to the discussion at hand. Ah well, bygones, but hopefully we can set some of that straight.
Errata
I'm not going to correct these in the original post, as I'm a big fan of being reminded of your mistakes. Although I've linked to this from the bottom & if I ever redo it I'll be sure to note them.
- I said: "Why, exactly, do you think KDE is working so hard to port their frameworks over to OSX? Do you think they have a completely altruistic reason (well, not saying they're doing it for a bad reason) for KOffice running on OSX?" Really bad example to grab on my part. I was just using KOffice as an example of KDE apps moving to Mac OSX to make the point that Trolltech was releasing the native Qt libraries for a reason. That's prolly probably what I should have mentioned, but didn't want to have to get into a big Qt/GTK explanation when it was only somewhat relevant. Bad call, and either way it's good to note that the KDE environment and apps are independent of Trolltech (more on that later) and that in this case it really is altruistic. Benjamin Meyer, one of the developers working on it, was kind enough to inform me of such. There's more information from our email exchange which is posted with permission here.
- I said that MS has not included the Java syntax in .NET yet, which was incorrect. Someone in the comments was kind out to point me to their J# site.
- I said that .NET wasn't emulated, so the .NET CLR would have better performance than the Java VM. That was just stupid, and I know better. Still thinking in old knowledge. They both use a JIT compiler (just-in-time), which means it gets compiled into native code when it's run, and it's
prollyprobably fair to say that's not really emulation. Surfing around seems to show that .NET does have better performance than Java and uses less code, but I really don't have enough variables and would have to spend more time than I have looking around. Hopefully someone can clarify.
Since we have that out of the way, I got a ton of questions. I learned the hard way with the G5 post that it's just way too crazy to respond to everyone directly when they're often a variations. Doesn't mean I don't appreciate them though, I really do.
Questions & Answers
- "Why didn't you mention GNUStep?"
That isn't what I was proposing. Apple still has Yellow Box around, and they're even using it for products (webobjects uses it for windows), they just don't let anyone else use it... like 3rd party developers. That's what I was proposing, among other things. What may be a wrench in letting others use it at this point would be the heavy blending of Carbon & Cocoa for the desktop, which was why I mentioned the Carbon/CFM issue. I have nothing but respect for the guys working on GNUStep, it just didn't really seem to be a factor unless your agenda was pro-GNUStep or wanting Linux to have that advantage, and not Apple.
Wasn't my intention, and I do think it works for the posts purposes unless you're getting there from slashdot. I just spent all of a small paragraph on the entire subject of the top choices for Linux desktop development. To do it justice I would have had to go into a lot greater detail than was necessary to give a synopsis, and used KDE as a label instead of KDE/Qt or Gnome/GTK. That's it. No slight was meant to be implied. Just to set the record straight: KDE is the desktop, and is licensed under the GPL (well, now).However the frameworks, or at least the most popular tools (Qt) aren't. There are limitations and differences in the licensing that you aren't faced with with other options as a developer. The long and short is that if you release your software for Mac/Qt or X11/Qt under the GPL, you can do it for free. If you don't want to give away the source, or you want to develop for windows, you have to pay. It isn't an "option" where if a company requires the support they can purchase it. Saying that doesn't mean I have a problem with it, or that I'm bringing up the old feuds that caused Gnome to be started in the first place. KDE has value, I like it, and I've often gone back and forth between which I prefer for actual use. I could very well be wrong in what I think is going to happen, but that doesn't mean it's FUD.
- "Do you know Linux at all?!?!"
- "It's obvious you are scared to death of Linux. Why?"
Does that scare me? Yeah, I really don't like the idea of someone like Adobe starting to use Qt in order to support Windows/Mac/Linux with the same codebase. Consider it a warning of how things could play out if KDE plays its cards right and others don't. Or just a mental what-if excercise. I can understand how someone who used Linux wouldn't necessarily like the idea of all their major software being created on a mac and ported, either, and find what I said offensive. Bygones.
- "Why didn't you break it up? It's so long!"
Outside of readability, the length turned out to be a problem technically. I threw it into Kung-Log and tried to post it, which promptly went absolutely apeshit and was pinging just about every site I've ever pinged randomly (sorry!). So I tried posting directly through the web interface (I use movabletype) which did post it, however it cut off the text. A quick google turned up that movabletype uses a text field instead of a longtext field for mysql which limited your posting size to about 65k of text. But I really wanted to avoid that work, so I backed up the database and changed several of the related fields to longtext, made sure there were no obvious ill effects, posted and was out the door.
- "Since it's become so linked to, will you clean it up and separate it out with proper titles and chapters?"
- "Why do you make me give my email to post a comment?"
- "Why the hell does everyone want every project to adopt Mono? You want Apple to transition to Mono too"
Same for Java or the other languages I mentioned. If a developer knows Java, it should be all about learning the APIs, not having to stop and drop back to Cocoa or Carbon. Same for Python, or even VB6. I'm not saying to trade Obj-C for C#, more than anything I was calling for more pervasive support across the board for a variety of syntaxes. Same between Carbon & Cocoa. If you have to create a .NET-ish solution in order to do this, and using Mono gives you a big leg up, have a party. As long as they're not licensing their APIs from MS I'm good.
- "Why didn't you mention the window managers being developed for the *nix's to give it the same features as Quartz?"
- "Don't you know Apple is a hardware company? Things like moving to x86 would have kill their core business like cloning almost did."
The danger is that yes, if your app runs on macs, but also on a platform that is 1/3 to 1/2 the price, you could lose sales since they don't have to buy Mac OSX to run it. How real of a danger is that? I dunno... the problem is that those apps is very few and far between, and the only ones that really exist for the mac are recent ones that Apple themselves have made. Final Cut Pro, etc. Whereas there are numerous apps that aren't available for the mac that are deal breakers for people who want to use the mac. Vertical market/niche, as I mentioned in the last post. I really just don't know which is more numerous, those who are interested in a mac but are turned off by the lack of selection, or those who would drop the mac when some specific title was available for windows. I can hazard a guess, or I wouldn't be bringing it up, but have no numbers.
- "Why did you bash Linux by calling it viral? FuuUuUuud!!!"
Remember there was a time when people just didn't have personal computers, just mainframes. Then it was mainframes, workstations and personal computers. The personal computer has decimated both the mainframe & workstation market, eating its way up from the bottom one market at a time. Linux is/will do the same, except to proprietary OSs unless something drastically changes... economics will see to it. I may be working from a different definition of FUD though.
- Why don't you use proper grammar?
Comments (18)
Posted by: eco2geek at May 4, 2004 04:19 AM
Mon Dieu, vous źtes alcoolique, c'est sūr! :-)
Posted by: Mindflayer at May 4, 2004 09:10 AM
See, despite your assertions to the contrary, I am a kind soul and did not save your IMs with which to taunt you in the AM. On the other hand, I do have a good memory
BTW, why do you hate Linux OMG L1NUX R00LZ!!!11111
Posted by: Nicolas Roard at May 4, 2004 10:14 AM
Well, what isn't very understandable regarding GNUstep, is that you totally dismiss it as irrelevant. Obviously, yes, if Apple release YellowBox, it will surely be more stable than the current GNUstep/Windows ! Yet, as it is quite doubtful that Apple will do that, the logical thought would be to put more work and faith on GNUstep !
After all, GNUstep could be your safety belt, as a Cocoa developer. And GNUstep doesn't depend on a company will.
GNUstep currently works quite well under Linux; the Windows port doesn't -- base applications works, gui applications basically works, but you have problems with some daemons (notification, pasteboard) for example. I don't think the needed work is *that* big (GNUstep architecture isn't bad), but there is just too few developers currently working on that port. Just a few more developers could do the trick..
So, I don't exactly understand what you say "it just didn't really seem to be a factor unless your agenda was pro-GNUStep or wanting Linux to have that advantage, and not Apple." ... uh ??? sure, mentionning GNUstep could be seen as "pro-GNUstep" (??? whatever you mention could be, then) or anyway, as GNUstep works mainly on Unix (personally, I run it alongside Cocoa...), it could be seen as "giving that advantage to linux" ... but that's totally irrelevant ! GNUstep exists, the window port isn't great but could be improved. The important point is that ANY DEVELOPER could improve it, we don't need to wait for Apple. I really don't see Apple distributing YellowBox right now, so improving GNUstep (something that *you could do*) is definitely a thing to do. I don't know, but if I was a commercial Cocoa programmer, a part of my time will surely be to work a bit on GNUstep/Windows, if only to be more secure about the future of my product.
Posted by: Pastille at May 4, 2004 11:25 AM
Hi! I found you from SphereXP, you are a mirror there for their screen shots and movies. Had to look at your site because the domain name was so unusual. I can't comment on the rest but if you are mirroring a Linux window manager to me that means you are into Linux. :*) Thank you for doing that.
Posted by: Patrick at May 4, 2004 04:53 PM
Nice when someone can admit their mistakes.
Posted by: drunkenbatman at May 4, 2004 05:12 PM
NIcolas >>> So, I don't exactly understand what you say "it just didn't really seem to be a factor unless your agenda was pro-GNUStep or wanting Linux to have that advantage, and not Apple." ... uh ??? sure, mentionning GNUstep could be seen as "pro-GNUstep" (??? whatever you mention could be, then) or anyway, as GNUstep works mainly on Unix (personally, I run it alongside Cocoa...), it could be seen as "giving that advantage to linux" ... but that's totally irrelevant !
In the context of Apple and the current discussion, I believe it is. It has nothing to do with the validity of GNUStep or its value. As I said, Apple already has Yellow Box running and working and in use. GNUStep is an open source recreation, minus Apples recent additions. If they had to choose between polishing their own, or doing GNUStep... why? The *nix community would benefit tremendousl. Where's the benefit for Apple over what I proposed? Show me that, and I'll reconsider.
GNUstep exists, the window port isn't great but could be improved. The important point is that ANY DEVELOPER could improve it, we don't need to wait for Apple. I really don't see Apple distributing YellowBox right now, so improving GNUstep (something that *you could do*) is definitely a thing to do. I don't know, but if I was a commercial Cocoa programmer, a part of my time will surely be to work a bit on GNUstep/Windows, if only to be more secure about the future of my product.
You're looking for a different conversation than the one I was having, sorries. You're talking about what developers should do for themselves, the conversation was about what Apple should do for mac developers. If/when GNUStep gets really rolling, or some company stepped in and pushed them, I'll be the first one blogging about how Apple missed an opportunity.
Posted by: OzMac at May 4, 2004 11:16 PM
I know it is a webblog, but you say and propose a lot of stuff in there. Its a great read don't get me wrong, but many points have gotten lost. A lot of the marketshare stuff does even though it colours the rest of what you say so I see why you did it. Splitting it up would make it easier to reference in the future, but I'd say have both.
Oh and yes you are getting linked. :) I came from brimonet.com which is using the same quote you complained about so yes I was a little confused at first.
Aussies representin!
OzMac
Posted by: Jenna at May 5, 2004 02:16 AM
Hey cutie! You should be nicer, some of us like Christina! :P As the only female reading I thought you should know that. Am I the only one who wants to wrap this boy up and take him home?
Jenna
--
Posted by: blah at May 5, 2004 02:43 AM
Continuously harping on that Apple has YellowBox running already doesn't make it a viable product.
YellowBox is an old technology that uses Display Postscript to render. This has licensing implications (Adobe) which were "prolly" the main reasons the product was never brought forward; and it has architectural issues. Creating a new YellowBox free from Adobe-related licensing issues and able to readily, and reliably, integrate into the whole range of Microsoft's products is a serious engineering challenge. And you have yet to show a solid business case for such an endeavor--from *Apple's perspective*.
Posted by: blah at May 5, 2004 03:10 AM
Jenna I am *sure* you are the only one.
Posted by: Nicolas Roard at May 5, 2004 12:06 PM
You're looking for a different conversation than the one I was having, sorries. You're talking about what developers should do for themselves, the conversation was about what Apple should do for mac developers.
Uh... ok. It's just Yet Another Rant To Have YellowBox then. Sure you were speaking about Apple, but I understood that in the context of what could be useful to developers. And while YellowBox (well, an updated version of it) would be great, I doubt it will happens.
That's why I wrote my remark, because, from a developer's point of view, GNUstep is damn relevant, and was expected to be at least cited.
If they had to choose between polishing their own, or doing GNUStep... why? The *nix community would benefit tremendousl. Where's the benefit for Apple over what I proposed? Show me that, and I'll reconsider.
Well, one benefit would be that Apple wouldn't need as much involvement as what would be needed for a YellowBox release. The other benefit would be a good publicity among free software developers, which, considering that a good bunch of recent apple laptops owners are unix guys, could be a smart move. Additionally, Apple already points to GNUstep for portability : http://developer.apple.com/darwin/news/qa20010925.html
Posted by: iHateWankers at May 5, 2004 03:04 PM
Boy Nicolas is there any place you won't act like a wanker and a troll? You do this on every site I see your name on.
Posted by: Nicolas Roard at May 5, 2004 11:13 PM
@iHateWankers:
Call me a wanker if that please you, but show me where I am a troll, please, I'm curious. And by the same occasion show me all theses posts on sites "where I act like a wanker and a troll".
At least I stand by my opinions and have technical reasons and facts to back them up. And of course, I'm not hiding behind a pseudo, which is more than what you seem to be capable, Mr iHateWankers.
Posted by: John Granger at May 7, 2004 10:45 AM
Don't let these guys get to you, most people loved it and understood what you were trying to say. I hope it doesn't deter you from doing another.
Posted by: J Morgan at May 7, 2004 04:43 PM
Funny hearing what a slashdot experience is like for normal folks. Good luck with your bandwidth bill. :(
Posted by: Flinn at May 10, 2004 12:21 PM
In the paragraph that attempts to clear up the KDE/QT license issue, the author says this:
---
"The long and short is that if you release your software for Mac/Qt or X11/Qt under the GPL, you can do it for free. If you don't want to give away the source, or you want to develop for windows, you have to pay."
---
The fact is that if you develop an application with Gnome you have no option to retain the source code (libgnome is GPL, not LGPL). GTK+ is certainly LGPL, but that means that your commercial application can link to GTK+, but not libgnome. In short, NO COMMERCIAL Gnome applications!
While the QT license option is generally an ADVANTAGE that allows a closed source release of software. KDE libraries are LGPL, which means you can link to a commercially licensed QT. This also means that if write a commercial KDE application, you can actually release it without source! KDE has the advantage in the commercial arena. In short, COMMERCIAL KDE applications!
The bottom line is that there is no such thing as free lunch. At least the KDE/QT option will allow you to pay for your lunch (and in turn resell it). The GPL license that Gnome uses means that everyone has to stand in line for rations.
Posted by: Nicolas Trumen at August 30, 2005 04:47 PM
It's a very nice website you're having here. http://www.pcmcourseware.com , http://www.drneils.com.au








Sir, the drunken WTF? email that I got in the mail will be saved for posterity...even against your wishes :p