SWT is in many ways what Swing should have been, or a bare-bones version of it.
The difference is that SWT uses native widgets whereas Swing emulates native widgets or paints an entirely new set - your choice.
I will never understand this decision. It is good nerd fun to switch the "pluggable" GUI but it adds insane complexity to the drawing process - and the whole GUI framework - while at the same time makes users complain that Swing apps look alien on their desktop. Sun also has to release a new Swing version every time WinXP / OS X change their looks. SWT gets these changes for free just like any other native app. It's quite horrible, and they are lucky that the look and feel doesn't change often.
But, yeah, run an app that will only run under JDK 1.2 and it will look like Win2K. Way to go to make a good impression on the desktop!
The problem with Swing is that there is absolutely no solution. The best a Java developer can do is go with a nice looking GUI framework - like jgoodies - and live with the differences.
SWT originally also was way, way faster than Swing. Swing is the main factor people considered Java slow in the beginning. Swing was hand-drawing pixels on the screen without hardware acceleration! Nowadays, Swing is hardware accelerated - again great effort was required - and close enough to native speed that no one will notice.
Swing is a failure of an architecture - it requires immense resources to keep up to date and to make it fast. For what? So that we can see the god-awful Metal GUI? IBM was right to do SWT...
It used to be cool and hip before greed and an endless fixation with the stock market took over the editors in the late 90ies. Since then, FastCompany-style commercialism has never gone away even in the dot-bomb bust - Wired is trying to sell readers on its own hipness, relentlessly so. That almost all of its predictions ever were complete failures does not deter them one bit.
The reason I keep reading is that every issue contains at least one absolute gem, something that you would never read anywhere else. And that makes it all worth it. Neil Stephenson's legendary report on the underwater cables - something like 50 incredible pages - was worth about 2 years of buying bla-Wireds right there.
PS: I thought the japanese schoolgirl watch was cool until I went to Tokyo and found - Wired in hand - that it was nothing more than hot air. Not even actual japanese schoolgirls - yes, I asked them - could tell me where to get that stuff. Oh, the disillusionment! I eventually found the item, but it didn't seem to be considered cool or particularly popular.
If you want something as huge and powerful as desktop, buy a friggin' desktop. If you want something portable, buy something portable.
Right, but I want something powerful and portable. While desktops will always (? let's see about the economies of scale) be faster than laptops, laptops are fast enough for more and more uses. 99% of what ppl do on desktops already works just as well on laptops.
I happen to want to keep my 50G mp3 collection on my Powerbook. If I had enough room, I would put my entire DVD collection on the HDD, too. I don't think Flash is going to cut it there. Until they make them in the Terabyte range, that is:)
Well, Apple had the by far best, fastest, and generally more advanced chips from IBM before - on paper. Maybe this time around they are interested in actual, shipping parts?!
Intel certainly is years ahead in terms of actual shipping mobile processors and they show no sign of letting up (dual core, 64 bit next year!).
Also, keep in mind that once Apple is fully switched to Intel, they can switch to AMD in a moment's notice, or use both if they so desire.
In fact, ideally, Apple would keep around the dual-processor strategy so if IBM suddenly pulls its head from its proverbial a... they could take advantage of it, too. Even that's not likely as a strategy, it will remain an option at least for the next 2 years!
I can answer this with confidence: There will be no Intel sticker on any Mac. Just look at their designs: The iPod, the iMac G5, the iBook, the PowerBook - look closely. This is not just design - this is an obsession with design. Apple's current designs are not just better than other computer designs - these are among the best or better than anyone is designing anything.
Not having an Intel Sticker on these was probably the first thing Apple would have asked for in this deal. There might be a logo on the box though.
Sorry that OOo is so dependent on the processor it's running on. That is a shame.
Use Java (I thought OOo uses Java?!), use Ant to build, and you would not have any of these problems. If you are trying to convince me that "glue code written in assembler" is a good solution, forget about it. I can smell this from here...
I don't mean in any way to bash OOo or its developers - It is a beautiful application that I find it way more usable than MS's competing product and I love to use it. But from a developer's perspective, there just are no excuses for bad code - only explanations. OOo is a project with a very long history so that will explain pretty much all of the hackish things that are in there.
These new x86 processors have way more innovation in them than the 10 year old new and clean design of the PPC. They are not CISC processors anymore in that they internally are RISC/CISC hybrids. The PPC has grown in the other direction, and is now also a RISC/CISC hybrid.
From an architectural standpoint, PPC is still a lot cleaner than x86. But the immense brainpower and $ that Intel has put behind x86 made it into something that is hard to beat even with a cleaner design.
In the end, it's a matter of priorities: Intel had to go low-power and had the resources to develop this technology while the company line was going in the exact opposite direction (P4). Now they are killing with it. Even AMD is way behind regarding low power chips. IBM never wanted to commit the resources or people to make the G5 portable. They would have had to spend serious money - chip design is extremely expensive - and hire very very good people. IBM never had this commitment.
Besides, I have this feeling that the G5 was designed with some P4-envy in mind: Huge pipeline, high clock speeds. And using lots of power and generating lots of heat... Intel had the Pentium-M as a 'plan B' for this boneheaded strategy, whereas Apple/IBM did not.
To all those developers out there: Write goddamn portable apps! It's not that hard, guys!
What no one has been mentioning is that the only software that will be hurt by this transition is software that was written badly.
I have been writing Java apps for the last 7 years. Guess what I have to do to make them run on OS X/x86? That's right: Nothing. Most likely, they will run better and faster than before as soon as the first x86 Mac ships.
There is also Python / wxWidgets / Ruby / wxWidgets. There is no reason to write platform-specific code in this day and age. Even if you are using Cocoa/Native GUIs - as long as the underpinnings are Java/Ruby/Python, you will not have to recompile anything.
ps: The switch from 68k to PPC was done in an era when the entire Mac OS was a huge, native, hand-optimized hack. To pull that off at all was an amazing engineering feat. OS X will be 100 times easier to do.
pps: I sure hope Apple has a good solution for device drivers...
People have been saying that Bill Gates' predictions are often way off. That is not so - you just have to interpret them in the right way.
BillG does not make predictions in order to predict the future - he makes predictions to advance the fortunes of his company. If you look at his predictions from the point of view "What is the best thing i can say to advance Microsofts fortunes" you will see that he is 100% spot on there every time. His publicity helps Microsoft, which, in turn, bolsters his very own bank account. MSFT is up by 0.36% today, whereas AAPL is down over 4%. Go figure.
If i already have expensive infrastructure in place which delivers 1MBPs, i will think very long and hard about upgrading to 100MBPs. How many users will I gain? 1MBPs might just be good enough. I made an investment in this old infrastructure and the longer i can keep it running, the better my return.
If, on the other hand, I have no infrastructure, then I can put in the latest technology for the exact same price an older tech would cost me, or just a little bit more. In this case, it's more economical to put in the faster solution.
AOP sounds great for logging and debugging - and possibly all other things where you want to trace program execution.
Using AOP for pretty much anything else sounds like a recipe for disaster. Altering the program logic in invisible ways. Not good except to make yourself indispensable because no one can possibly understand your code.
The only thing worse would be to tell management all about AOP, so management can go to the programmers and tell them how to program. Better still, let the clients chime in on the debate. Oh, the fun!
... 4)... i didn't say anything about gcc for binaries. i was thinking about a package format (say, zip) which contains the sources and an install script which can install said sources on any linux desktop. i am not sure what the problem is with that. think CMake, but without weird error messages and zillions of manually-set options. an end-user CMake with an InstallShield-like GUI.
5) copy / paste, and, to a lesser extent, drag and drop work across all applications WFM, what is your problem? the problem is the difference between theory and practice. in theory, it's easy. in practice, it doesn't work. by work i mean work 100%, between any 2 apps on my system.
[take a step back from the shiny GUI art and consider the basics]
4) binaries that install on all linux systems. one-click installs. i don't care if gcc or whatever is started behind the scenes. no excuses - one click installs for all linux distros, please. or at least for all "desktop linux certified" distros.
5) copy / paste, and, to a lesser extent, drag and drop work across all applications. probably the most basic of all requirements, yet not met by brand new linux distros / apps?!
linux has much improved in technology and graphics. its the basics of day-to-day life that are the problem now.
the Generic Universal Role Playing System is a great pen & paper role playing game. which, in turn, is more like a single collaborative story told by all who sit around the campfire.
Let's say skype runs on my PDA and my smartphone. And wireless is provided for free country-wide.
=> wireless telephony has just become free.
i would be surprised if the cell operators wouldn't put up a massive lobbying effort against this. in the end, the goverment takes over their business and gives it away for free.
not that i or anyone else ever having to deal with cingular customer service would mind.
the difference seems to be: Outside the US (and Europe for that matter) wireless carriers seem to be able to _learn_ and realize that expensive mobile data options actually bring zero revenue because zero people use them.
i am using GPRS in thailand for $20 / month flat rate. it's dialup-slow, but also cool because it works in the mountains, on islands, in the car, etc.
i truly appreciate that people are out there are researching radical new ideas on GUI design, and are willing to think outside the box. my hat off to Mr. Raskin for that. i have no problem with him telling me what i should do, either, because an oversized ego is often necessary to change the status quo.
that said, i also think Raskin is totally off with his direction, just like many others. i wrote my thesis on GUI design - visual programming, so be exact and then went on to work with the best approach i found in this regard.
for the thesis, i had the (somewhat tedious) task to look at all other research in this area. what i found was surprisingly bad - there usually was some theory / psychological approach / philosophy, which sounded pretty reasonable. and then there was the implementation (if there was one at all), which was almost always just awful.
raskin fits in there pretty well: just take a look at the website! it reminds me of man-pages. i consider myself an expert user of man pages (and unix and vi and all that) but man pages are NOT a good way to present information. lots of scrolling and find-commands are not an efficient way to navigate information. to the contrary. well, ok, i thought, maybe they slipped on the web page. so i checked the flash demo. i read the intro, which contains sentences like "check the little specks, they hide images and all kinds of cool stuff". ahm. ok?! i am sorry but i don't buy this for one second. in the meantime, the desktop interfaces are evolving. latest lovely feature i found in OS X is the search field in every Finder window, which allows you to instantly search the current selected directory. i use it almost every day now. instant search results and content search are immediately useful additions.
i am betting that i can set up my desktop to do anything i want to do quicker and with less thinking than any command line interface. my apps are in the dock, 1/10th of a second to start. they all have "recent files" lists. most of the time, i never quit them. the computer is on instantly from sleep. if i use an app that is not in the dock, i hit cmd-shift-A in the finder... it's all very, very efficient.
if your wife asks for a Mac mini, you get her one. end of story.
if she asks for a Prada bag, you don't go to the chinese import shop and buy something that looks "almost the same" and has "the same usability, anyway". or do you?
rule of thumb for clock speeds: Pentium M x 1.5 = Pentium 4
e.g. a P-M with 2 GHz runs about as fast as a P4 3 GHz. AMD's QuantiSpeed ratings are usually on target for the P4.
according to german computer mag c't, the 2.13GHz Pentium-M achieves a SPEC CINT2000 of 1600, which is similar to a P4-3.8 GHz or an AMD Athlon64 4000+.
and it does that all with a thermal design power of 27 Watts (compared to the 100+ the P4/AMD need...). very neat.
OK so everybody keeps saying that parsing XML is slow. do you have any proof for that?
In my experience, that's just not true. I was working on an extreme case where we had plain data inside the XML file. logs with 1000s of x/y entries.
i assume this is the very worst case since the data complexity is very low - flushing that out to a binary array would be super-simple.
it was slow. first there was a bug in the DOM parser that made it waste insane amounts of memory, so we used SAX. then we reorganized the data from nm to n1, n2, n3.... and so on, which sped things up by 10x. eventually we stored the raw data as binary streams which sped things up a little bit more (maybe 2x).
but this is an ideal case. in cases, binary was only marginally faster than SAX parsing.
i think there are two reasons:
1) SAX is pretty efficient. keep in mind that a SAX parser doesn't really keep that much stack around. are your XML tags stacked 20 levels deep? big deal, that's exactly the max. stack size of the SAX parser. 20, or 100, is nothing.
2) even if everything is binary, you _still_ have to do the parsing. you still have to take the binary values and put them in all the right places. that takes a while, XML or not.
so, no, i don't think XML is significantly slower than binary. i would love to see some real world comparisons.
file size and network traffic, on the other hand, are much more clear-cut. if i zip an xml file, i can shrink it by 95%. definitely an issue (hint: just zip them b4 sending...).
clones? here is why not: 1) Apple makes a profit on every single Mac mini. trading profits for market share is dot-bomb era style. Apple won't do it. 2) Apple makes almost all of their money from hardware. 3) Apple is distinguished by design. Their industrial design dept. is about 10 years ahead of everybody else. It follows: Clones will be ugly. 4) clones will eat into market share in the high end. doh!
there is no benefit that Apple could gain from clones. if person A buys a clone instead of a mac, it doesn't increase market share. it just decreases sales.
This sounds pretty Xenophobic, especially for a Christian (brotherly love?). China has lots of bad stuff happening, no question, but none of it accounts for the difference in living costs and/or wages between China and the west.
[This should be obvious, but...]
As long as Chinese are 100x "poorer" than westerners, they are going to be able to produce stuff 100x cheaper. No matter what the government.
China's advantage over other poor countries (Africa comes to mind) is it's ability to unite and focus its resources, rather than wasting everything on civil wars / internal strife. China's government probably would be ruthless enough to employ slave labor. But they don't have to. There are plenty of poor who are happy to work for a dollar...
I am not against copy protection in CDs, especially if they don't muck with the quality like this solution promises. But if the CD doesn't work with my iPod, it's out. Putting the CD on an iPod is the _only_ use i have for it - and the 10M+ other iPod users.
I recently wanted to buy a CD at a store that said "copy protection" on it. I immediately thought: whoa, does that mean i can't put it on my iPod? If it does, the CD is worthless, and i have to try and get the music on the internet (leaving the iTMS as the only legal option - pretty unsatisfying at 128kbit though).
I ended up buying the CD because i was promised that i could return it if it didn't work. Turns out it ripped just fine in iTunes. And... i could have returned it anyway...
I symphathize with all unemployed Americans who are actively looking for a job - being unemployed is terrible. However, don't take it out on the immigrants - if you are competing with an H1-B applicant as a U.S. citizen, you have huge advantages. I will just outline the two biggest:
1) It's a big, big hassle for a company to go through the H1-B process. It takes time and money, and dealing with lawyers. On top of that, you are uncertain if it will work. If a company can avoid that, they will.
2) An employee on H1-B is required to receive the "median" salary for his / her profession. I know because i was affected - on my first job 7 years ago, my employer had to increase my salary in order to meet the criteria (to something like $54k which was not too shabby back then). Whereas, had i been an american, they could - and would - have just paid me less money.
=> if you want to be dumping prices, you can only do it with U.S. citizen employess. Ironic, but true.
SWT is in many ways what Swing should have been, or a bare-bones version of it.
The difference is that SWT uses native widgets whereas Swing emulates native widgets or paints an entirely new set - your choice.
I will never understand this decision. It is good nerd fun to switch the "pluggable" GUI but it adds insane complexity to the drawing process - and the whole GUI framework - while at the same time makes users complain that Swing apps look alien on their desktop.
Sun also has to release a new Swing version every time WinXP / OS X change their looks. SWT gets these changes for free just like any other native app. It's quite horrible, and they are lucky that the look and feel doesn't change often.
But, yeah, run an app that will only run under JDK 1.2 and it will look like Win2K. Way to go to make a good impression on the desktop!
The problem with Swing is that there is absolutely no solution. The best a Java developer can do is go with a nice looking GUI framework - like jgoodies - and live with the differences.
SWT originally also was way, way faster than Swing. Swing is the main factor people considered Java slow in the beginning. Swing was hand-drawing pixels on the screen without hardware acceleration! Nowadays, Swing is hardware accelerated - again great effort was required - and close enough to native speed that no one will notice.
Swing is a failure of an architecture - it requires immense resources to keep up to date and to make it fast. For what? So that we can see the god-awful Metal GUI? IBM was right to do SWT...
I read Wired.
It used to be cool and hip before greed and an endless fixation with the stock market took over the editors in the late 90ies. Since then, FastCompany-style commercialism has never gone away even in the dot-bomb bust - Wired is trying to sell readers on its own hipness, relentlessly so. That almost all of its predictions ever were complete failures does not deter them one bit.
The reason I keep reading is that every issue contains at least one absolute gem, something that you would never read anywhere else. And that makes it all worth it. Neil Stephenson's legendary report on the underwater cables - something like 50 incredible pages - was worth about 2 years of buying bla-Wireds right there.
PS: I thought the japanese schoolgirl watch was cool until I went to Tokyo and found - Wired in hand - that it was nothing more than hot air. Not even actual japanese schoolgirls - yes, I asked them - could tell me where to get that stuff. Oh, the disillusionment! I eventually found the item, but it didn't seem to be considered cool or particularly popular.
If you want something as huge and powerful as desktop, buy a friggin' desktop. If you want something portable, buy something portable.
:)
Right, but I want something powerful and portable. While desktops will always (? let's see about the economies of scale) be faster than laptops, laptops are fast enough for more and more uses. 99% of what ppl do on desktops already works just as well on laptops.
I happen to want to keep my 50G mp3 collection on my Powerbook. If I had enough room, I would put my entire DVD collection on the HDD, too. I don't think Flash is going to cut it there. Until they make them in the Terabyte range, that is
Well, Apple had the by far best, fastest, and generally more advanced chips from IBM before - on paper. Maybe this time around they are interested in actual, shipping parts?!
Intel certainly is years ahead in terms of actual shipping mobile processors and they show no sign of letting up (dual core, 64 bit next year!).
Also, keep in mind that once Apple is fully switched to Intel, they can switch to AMD in a moment's notice, or use both if they so desire.
In fact, ideally, Apple would keep around the dual-processor strategy so if IBM suddenly pulls its head from its proverbial a... they could take advantage of it, too. Even that's not likely as a strategy, it will remain an option at least for the next 2 years!
I can answer this with confidence: There will be no Intel sticker on any Mac.
Just look at their designs: The iPod, the iMac G5, the iBook, the PowerBook - look closely. This is not just design - this is an obsession with design. Apple's current designs are not just better than other computer designs - these are among the best or better than anyone is designing anything.
Not having an Intel Sticker on these was probably the first thing Apple would have asked for in this deal. There might be a logo on the box though.
Sorry that OOo is so dependent on the processor it's running on. That is a shame.
Use Java (I thought OOo uses Java?!), use Ant to build, and you would not have any of these problems. If you are trying to convince me that "glue code written in assembler" is a good solution, forget about it. I can smell this from here...
I don't mean in any way to bash OOo or its developers - It is a beautiful application that I find it way more usable than MS's competing product and I love to use it. But from a developer's perspective, there just are no excuses for bad code - only explanations. OOo is a project with a very long history so that will explain pretty much all of the hackish things that are in there.
These new x86 processors have way more innovation in them than the 10 year old new and clean design of the PPC. They are not CISC processors anymore in that they internally are RISC/CISC hybrids. The PPC has grown in the other direction, and is now also a RISC/CISC hybrid.
From an architectural standpoint, PPC is still a lot cleaner than x86. But the immense brainpower and $ that Intel has put behind x86 made it into something that is hard to beat even with a cleaner design.
In the end, it's a matter of priorities: Intel had to go low-power and had the resources to develop this technology while the company line was going in the exact opposite direction (P4). Now they are killing with it. Even AMD is way behind regarding low power chips.
IBM never wanted to commit the resources or people to make the G5 portable. They would have had to spend serious money - chip design is extremely expensive - and hire very very good people. IBM never had this commitment.
Besides, I have this feeling that the G5 was designed with some P4-envy in mind: Huge pipeline, high clock speeds. And using lots of power and generating lots of heat... Intel had the Pentium-M as a 'plan B' for this boneheaded strategy, whereas Apple/IBM did not.
To all those developers out there: Write goddamn portable apps! It's not that hard, guys!
What no one has been mentioning is that the only software that will be hurt by this transition is software that was written badly.
I have been writing Java apps for the last 7 years. Guess what I have to do to make them run on OS X/x86? That's right: Nothing. Most likely, they will run better and faster than before as soon as the first x86 Mac ships.
There is also Python / wxWidgets / Ruby / wxWidgets. There is no reason to write platform-specific code in this day and age. Even if you are using Cocoa/Native GUIs - as long as the underpinnings are Java/Ruby/Python, you will not have to recompile anything.
ps: The switch from 68k to PPC was done in an era when the entire Mac OS was a huge, native, hand-optimized hack. To pull that off at all was an amazing engineering feat. OS X will be 100 times easier to do.
pps: I sure hope Apple has a good solution for device drivers...
People have been saying that Bill Gates' predictions are often way off. That is not so - you just have to interpret them in the right way.
BillG does not make predictions in order to predict the future - he makes predictions to advance the fortunes of his company.
If you look at his predictions from the point of view "What is the best thing i can say to advance Microsofts fortunes" you will see that he is 100% spot on there every time. His publicity helps Microsoft, which, in turn, bolsters his very own bank account.
MSFT is up by 0.36% today, whereas AAPL is down over 4%. Go figure.
Anything can be done by a Lisp program in 15 minutes.
:)
The problem is writing the Lisp program
If i already have expensive infrastructure in place which delivers 1MBPs, i will think very long and hard about upgrading to 100MBPs. How many users will I gain? 1MBPs might just be good enough. I made an investment in this old infrastructure and the longer i can keep it running, the better my return.
If, on the other hand, I have no infrastructure, then I can put in the latest technology for the exact same price an older tech would cost me, or just a little bit more. In this case, it's more economical to put in the faster solution.
Not that difficult, eh?
AOP sounds great for logging and debugging - and possibly all other things where you want to trace program execution.
Using AOP for pretty much anything else sounds like a recipe for disaster. Altering the program logic in invisible ways. Not good except to make yourself indispensable because no one can possibly understand your code.
The only thing worse would be to tell management all about AOP, so management can go to the programmers and tell them how to program. Better still, let the clients chime in on the debate. Oh, the fun!
... 4)... i didn't say anything about gcc for binaries. i was thinking about a package format (say, zip) which contains the sources and an install script which can install said sources on any linux desktop. i am not sure what the problem is with that. think CMake, but without weird error messages and zillions of manually-set options. an end-user CMake with an InstallShield-like GUI.
5) copy / paste, and, to a lesser extent, drag and drop work across all applications
WFM, what is your problem?
the problem is the difference between theory and practice. in theory, it's easy. in practice, it doesn't work. by work i mean work 100%, between any 2 apps on my system.
[take a step back from the shiny GUI art and consider the basics]
4) binaries that install on all linux systems. one-click installs. i don't care if gcc or whatever is started behind the scenes. no excuses - one click installs for all linux distros, please. or at least for all "desktop linux certified" distros.
5) copy / paste, and, to a lesser extent, drag and drop work across all applications. probably the most basic of all requirements, yet not met by brand new linux distros / apps?!
linux has much improved in technology and graphics. its the basics of day-to-day life that are the problem now.
the Generic Universal Role Playing System is a great pen & paper role playing game. which, in turn, is more like a single collaborative story told by all who sit around the campfire.
Let's say skype runs on my PDA and my smartphone. And wireless is provided for free country-wide.
=> wireless telephony has just become free.
i would be surprised if the cell operators wouldn't put up a massive lobbying effort against this. in the end, the goverment takes over their business and gives it away for free.
not that i or anyone else ever having to deal with cingular customer service would mind.
the difference seems to be: Outside the US (and Europe for that matter) wireless carriers seem to be able to _learn_ and realize that expensive mobile data options actually bring zero revenue because zero people use them.
i am using GPRS in thailand for $20 / month flat rate. it's dialup-slow, but also cool because it works in the mountains, on islands, in the car, etc.
i truly appreciate that people are out there are researching radical new ideas on GUI design, and are willing to think outside the box. my hat off to Mr. Raskin for that. i have no problem with him telling me what i should do, either, because an oversized ego is often necessary to change the status quo.
that said, i also think Raskin is totally off with his direction, just like many others. i wrote my thesis on GUI design - visual programming, so be exact and then went on to work with the best approach i found in this regard.
for the thesis, i had the (somewhat tedious) task to look at all other research in this area. what i found was surprisingly bad - there usually was some theory / psychological approach / philosophy, which sounded pretty reasonable. and then there was the implementation (if there was one at all), which was almost always just awful.
raskin fits in there pretty well: just take a look at the website! it reminds me of man-pages. i consider myself an expert user of man pages (and unix and vi and all that) but man pages are NOT a good way to present information. lots of scrolling and find-commands are not an efficient way to navigate information. to the contrary.
well, ok, i thought, maybe they slipped on the web page. so i checked the flash demo. i read the intro, which contains sentences like "check the little specks, they hide images and all kinds of cool stuff". ahm. ok?! i am sorry but i don't buy this for one second.
in the meantime, the desktop interfaces are evolving. latest lovely feature i found in OS X is the search field in every Finder window, which allows you to instantly search the current selected directory. i use it almost every day now. instant search results and content search are immediately useful additions.
i am betting that i can set up my desktop to do anything i want to do quicker and with less thinking than any command line interface. my apps are in the dock, 1/10th of a second to start. they all have "recent files" lists. most of the time, i never quit them. the computer is on instantly from sleep. if i use an app that is not in the dock, i hit cmd-shift-A in the finder... it's all very, very efficient.
if your wife asks for a Mac mini, you get her one. end of story.
if she asks for a Prada bag, you don't go to the chinese import shop and buy something that looks "almost the same" and has "the same usability, anyway". or do you?
rule of thumb for clock speeds: Pentium M x 1.5 = Pentium 4
e.g. a P-M with 2 GHz runs about as fast as a P4 3 GHz. AMD's QuantiSpeed ratings are usually on target for the P4.
according to german computer mag c't, the 2.13GHz Pentium-M achieves a SPEC CINT2000 of 1600, which is similar to a P4-3.8 GHz or an AMD Athlon64 4000+.
and it does that all with a thermal design power of 27 Watts (compared to the 100+ the P4/AMD need...). very neat.
OK so everybody keeps saying that parsing XML is slow. do you have any proof for that?
In my experience, that's just not true. I was working on an extreme case where we had plain data inside the XML file. logs with 1000s of x/y entries.
i assume this is the very worst case since the data complexity is very low - flushing that out to a binary array would be super-simple.
it was slow. first there was a bug in the DOM parser that made it waste insane amounts of memory, so we used SAX. then we reorganized the data from nm to n1, n2, n3.... and so on, which sped things up by 10x.
eventually we stored the raw data as binary streams which sped things up a little bit more (maybe 2x).
but this is an ideal case. in cases, binary was only marginally faster than SAX parsing.
i think there are two reasons:
1) SAX is pretty efficient. keep in mind that a SAX parser doesn't really keep that much stack around. are your XML tags stacked 20 levels deep? big deal, that's exactly the max. stack size of the SAX parser. 20, or 100, is nothing.
2) even if everything is binary, you _still_ have to do the parsing. you still have to take the binary values and put them in all the right places. that takes a while, XML or not.
so, no, i don't think XML is significantly slower than binary. i would love to see some real world comparisons.
file size and network traffic, on the other hand, are much more clear-cut. if i zip an xml file, i can shrink it by 95%. definitely an issue (hint: just zip them b4 sending...).
clones? here is why not:
1) Apple makes a profit on every single Mac mini. trading profits for market share is dot-bomb era style. Apple won't do it.
2) Apple makes almost all of their money from hardware.
3) Apple is distinguished by design. Their industrial design dept. is about 10 years ahead of everybody else. It follows: Clones will be ugly.
4) clones will eat into market share in the high end. doh!
there is no benefit that Apple could gain from clones. if person A buys a clone instead of a mac, it doesn't increase market share. it just decreases sales.
This sounds pretty Xenophobic, especially for a Christian (brotherly love?).
China has lots of bad stuff happening, no question, but none of it accounts for the difference in living costs and/or wages between China and the west.
[This should be obvious, but...]
As long as Chinese are 100x "poorer" than westerners, they are going to be able to produce stuff 100x cheaper. No matter what the government.
China's advantage over other poor countries (Africa comes to mind) is it's ability to unite and focus its resources, rather than wasting everything on civil wars / internal strife. China's government probably would be ruthless enough to employ slave labor. But they don't have to. There are plenty of poor who are happy to work for a dollar...
I am not against copy protection in CDs, especially if they don't muck with the quality like this solution promises. But if the CD doesn't work with my iPod, it's out. Putting the CD on an iPod is the _only_ use i have for it - and the 10M+ other iPod users.
I recently wanted to buy a CD at a store that said "copy protection" on it. I immediately thought: whoa, does that mean i can't put it on my iPod? If it does, the CD is worthless, and i have to try and get the music on the internet (leaving the iTMS as the only legal option - pretty unsatisfying at 128kbit though).
I ended up buying the CD because i was promised that i could return it if it didn't work. Turns out it ripped just fine in iTunes. And... i could have returned it anyway...
Sorry, but i have to call Bull**** on this one.
I symphathize with all unemployed Americans who are actively looking for a job - being unemployed is terrible. However, don't take it out on the immigrants - if you are competing with an H1-B applicant as a U.S. citizen, you have huge advantages. I will just outline the two biggest:
1) It's a big, big hassle for a company to go through the H1-B process. It takes time and money, and dealing with lawyers. On top of that, you are uncertain if it will work. If a company can avoid that, they will.
2) An employee on H1-B is required to receive the "median" salary for his / her profession. I know because i was affected - on my first job 7 years ago, my employer had to increase my salary in order to meet the criteria (to something like $54k which was not too shabby back then).
Whereas, had i been an american, they could - and would - have just paid me less money.
=> if you want to be dumping prices, you can only do it with U.S. citizen employess. Ironic, but true.