What I find ironic is that what many people see as indispensable are the authoring tools, yet you are free to actually go and read the Flash spec for those. The only thing you are not allowed to do is both read the spec and create a player from it.
In fact, the official adobe development tools (the flex sdk) are open source under the MPL.
I understand adobe's position. It's the same as sun's on java. They're afraid that by open-sourcing the player, people will fork the standard, and they'll lose the business value of the flash platform (write once, run anywhere). The answer is, ofcourse, very simple: provide a GPL / Commercial dual license for the player. This is what sun's doing with java, and it's what adobe needs to do with flash.
Considering we have no inside information, it might be that a lot of these countries arent impressed by the sugar-based system and want windows.
Negroponte is quite right that it's a failing of open source that they couldn't build a system that people would like better than XP, probably the worst OS in common use, aside from Vista.
Although... I wouldn't really trust the opinion of the governments of these countries. You prefer what you know. I would do field tests with children that haven't been exposed to prior computing experiences, and see which group (open source stack or windows stack) did best at learning things.
The pharmaceutical industry isn't in the business of curing diseases, because that isn't as profitable as making drugs that you have to keep taking for the rest of your life.
Take HIV for example. They've invested a lot of money making drugs that let you "live with" HIV, at a staggering recurring yearly cost to the patient. If they made a cure, even if they charged through the nose for it, they would lose out on a lot of money. This is why if there is ever a cure for HIV developed, it will be in a publicly funded lab, not in a pharma company.
Of course people who still decide to rate The Wedding Singer seven stars can throw the whole thing off, like on iTunes where *no* album scores under a four or a five.
The fallacy is allowing extreme votes to be worth more than moderate votes, because moderate votes are more likely to be accurate.
It's better to use a simple up/down vote system. Everyone's vote is worth as much that way.
Yes, but that's a bit like how no browser in the world correctly implement HTML and CSS, but most claim to.
MS will claim office implements OOXML, and that this makes it the most widespread standard, and enough people will buy into it to make the lie turn true.
Only leaves me to wonder how you're getting anything done right at all. Are you saying that ISO is not ISO-9001 certified? No, he's saying that because ISO is 9001 certified, the only way for them to get anything done is to ignore the process.
Yes, this does bring suspicion on the validity of the other standards.
I don't think ISO realizes how much damage they've done to themselves here. ISO certification is supposed to guarantee that no matter what, your process is sound. ISO's own process has failed here, and everybody knows it. If ISO themselves can't even adhere to an ISO process, what value is their certification? What value is any ISO standard?
Re:Isn't the whole idea of a standard
on
ISO Releases OOXML FAQ
·
· Score: 5, Informative
How was Microsoft supposed to implement this standard in their own products before it was a standard? Once it went into the standards committee a bunch of changes were made - how could those changes have been anticipated.
The intial version they submitted already wasn't compatible with what office implements.
So what. I don't think we should give that much credit to a student who is able to recite the age of the Earth according to whichever theory their particular textbook happens to follow. What they should know is that there are many theories about the age of the Earth, and none of them is probably within 100 million years of being right. Blind faith is blind faith regardless of whether it comes from a Pastor or a high school textbook.
Except that the geological age of the earth is not based on blind faith. It's based on reasoning and observations that anyone can follow and double-check for themselves. This contrasts starkly with the 6000 yo claim, which is in fact based on blind faith, and has no other evidence than "because I said so".
This is what the flying spaghetti monster teaches us: once you open the door to every theory (regardless of supporting evidence), you open the door to madness, and might as well give up trying to get anything done.
PHP has got to be one of the worst things that ever happened to web development.
This particular site was coded in java, so PHP was not at fault here. I don't know what got you onto the topic of PHP.
The problem is that when these projects come up, rather than contracting out to someone who knows what they're doing, or at least hiring or training somebody who can code, they go to Bob the IT guy
Software development has always been rife with contracts that go to the lowest bidder based on a spec that mentions only features and deadlines (not security, quality, or other metrics). This is because most IT projects are managed by people who don't understand IT, and who do the IT equivalent of asking their neighborhood carpenter to build the golden gate bridge. You get what you pay for.
I know I sound elitist here, but goddamn it, PHP and all those lovely little scripting languages have unleashed a disaster on the web.
If PHP didn't exist, someone would invent it. PHP fills the niche of an environment that lets you get up and running quickly with web applications, just like visual basic did it for windows apps, and access did it for databases. Yes, it's a bit elitist to say that all programming environments should be so difficult to program in that they weed out all but the most dedicated (and knowledgeable), but it's also unrealistic, because people would invent easier environments if there weren't any. PHP is actually quite good at blending the capability for quality coding with a low barrier to access.
And besides, the problems with web app security have nothing to do with PHP or any other scripting language, they have to do with visibility. Think about how many two-tier desktop apps there are that let anyone with a bit of knowledge bypass the app and do whatever they want in the database. Nobody makes a fuss about this, because the visibility of those apps is lower.
I would say the primary problem with web app development is not any of the tools, but the perception among IT managers that web app development is simpler, and requires less skill, than desktop development, while the inverse is true. I do both desktop and web development, and it is much more difficult to build good web apps, because you have to pay more attention to architecture, security, performance envelopes, and gui design. That management (even my management) still doesn't understand that is disappointing, but understandable given how the web started out as a toy and still hasn't quite shaken that perception.
I quite frankly dislike intensely, but it's taken over the world, unfortunately, despite much better languages like Python being out there.
Python, in this case, wouldn't have made a difference because it wouldn't have prevented SQL injection attacks. You can concatenate together your query from GET arguments in any language.
Apple will have no choice but to respond and that may mean pulling OS X from retail sale altogether and simply offering it with their computers and providing free upgrades to owners of Apple hardware.
They don't need to do either. They just need to label the retail copies with the big word "Upgrade", and make it clear that it is an upgrade version for an earlier OS X only. If they only sell you full versions along with a new mac (and not at retail), nothing changes.
For that matter, a lot of our larger corporate customers (outfits with fifteen or twenty thousand seats company wide) are still using Win2K because it does what they need.
True. One of our customers is a large telecom provider, and they only just finished a switch to XP. They have no interest in moving to vista for years to come.
All the large corporate customers we have are not intending to migrate to vista. Not a single one. Those that asked about vista support of our software have since told us "don't bother for now". Ofcourse, we've made our apps compatible, because some of our smaller customers have a few vista installs, but the large outfits are sticking with XP until a feasible windows business desktop is released.
I still recommend the wait and see approach for OS X 10.5 [...] On the other hand, I haven't had any major problems with the client.
I have. Copying large files over the wireless network between leopard installs is unusably slow, unless you set the tcp delayed_ack setting to 0 on the command-line.
throw out their old OS completely and start again from scratch. This is exactly what Apple did, and it led to an extremely stable and secure new system.
Apple did NOT start from scratch. Apple bought NeXT, and wrote emulation layers on top of it to run old mac apps. What is currently known as cocoa is actually the old NeXT environment. If you factor in the massive development investment in NeXT, there's no way for microsoft to produce a comparable effort as OS X 10.2 in less than a decade. I say 10.2, because before that OS X simply didn't have the adoption numbers that MS will need.
instead of using a useful widget set, everyone is bastardising HTML (eg, the hundreds of javascript-based calendar widgets; when all GUI toolkits I know of have one built in).
Nonsense. Straight X11 doesn't have widgets, it doesn't have much that is useful. The widget sets layer on top of it. I see no reason why html+css+js is so inherently poor to layer on top of. These protocols were designed from the start for low-bandwidth use, graceful degradation for alternate access methods (modem access, small devices, disabled people), and are agnostic to which side (client or server) your content and logic originate from, which allows smoothly balancing load between client and server as needed.
Now, admittedly, the one weakness is the fact that HTTP is stateless, and you end up reconstructing the session on every page request, but this is something that can be worked around through clever design.
On the other hand, flex beats the html stack hands down for performance, ease of development and ease of use, so as a protocol flash/flex wins. Too bad they didn't implement it as a standard that all browsers were forced to carry.
What I don't like is this 45 days free access to some HTML/Javascript monstrosity intended to allow you to read the book (in a standard web browser, no less) without downloading it. And then they have the gall to offer you PDF downloads of a few chapters every month you're subscribed -- yeah, I'll finish the book in less than a month, so that's way too slow, and the single gigantic PDF I pirated was easier to manage and search through.
My company got me a safari subscription, and I must say I've been really satisfied with it.
Upsides: - Thousands upon thousands of solid tech books. If I want to learn about a subject, they have a good book on it. - Instant access (I don't have time to run to a book store every time I need to read up on a subject.) - Full text search, through their entire library of books (way better than searching pdf's).
Downsides: - At times it's slow - Not possible to copy and paste text.
All in all, Safari's a good deal, for me at least.
The architecture of OS X is not that different from other unices, except that instead of running X for the graphics, it runs Aqua, and instead of using init and a collection of shell scripts, it uses launchd and a collection of xml files.
You exaggerate, but not by much. I've also heard nitpicks about the top menu bar having (gasp!) square corners on top instead of rounded corners. Oh for the love of all that is good in this world, are you going to let THAT bother you?
For those people it's not about the corners on the menu bar, it's the final slap in a long line of insults. In their minds, apple reached UI perfection (or close to it) in OS 8, and they needed only to redesign the technical underpinnings to have a perfect OS. When Jobs returned to Apple, it was not to perfect the mac vision, it was to relaunch the NeXT vision under the Apple brand. OS X is not an evolution of classic mac os, it is NeXTStep with a mac compatibility layer. The classic mac users were essentially left out in the cold, stuck on a foreign system with poor usability (compared to the classic mac). One of the few remainders of the classic os in OS X were the rounded corners. These have been there since the original macintosh, even since the lisa. By taking them away, apple drove a final nail in the coffin of the classic mac, and what little hope was left with classic mac fans that apple would "find their way back" has evaporated.
So there you have it. In my experience, doing this will remove about half of the lines of code (more if there was a significant number of lemurs on the team), at the gain of considerable clarity and usually performance.
I work on a 2 million line code base, written by a few dozen people, most of them off-shore, that is poorly commented, poorly documented, and has many modules of code that no one in our team understands well. In other words, a typical large commercial code base.
At first, I would routinely aggressively clean up sections of code as I made changes in them. But then I started to notice a pattern: there were bugs in the functionality of that code that weren't there before I "cleaned it up". When you refactor highly convoluted code, it is seductive to make assumptions about the working of that code (especially in how the code interacts with the rest of the system), because it is hard work to actually figure it out completely. Those assumptions have a nasty tendency to be wrong.
Nowadays I approach code changes like this: if I don't understand the code 100 percent, I make my changes as low impact as possible, even if it means uglifying the code. If some part of the code base needs refactoring to allow implementing a new feature, I first figure it out fully, document its existing behavior (often line-by-line, call-by-call, class-by-class), look at every place in the entire code base where it is called (and document those places), and only then do I refactor it.
The point is this: if code is ugly and slow, but it works, it is better code than clean, fast, beautiful code with bugs. Better in the sense that it makes the user happier, and the user is one of only two metrics that truly matter in software development (the other being cost). Always resist modifying code just for the sake of cleaning it up. If it works, don't touch it.
It is the height of arrogance for a software designer to inflict a choice like this on the user simply because the designer couldn't think hard enough to decide which option is really better.
Amen. There are three basic lessons on users every developer should always remember: - Users don't read (dialogs, help files, manuals, hints,...). - Users don't care about your application, only about the task they need your application for. - Users hate choice, until you pick the wrong one for them, and then they absolutely need it.
The lesson for developers is this: - Avoid forcing your users to read (avoid dialogs, think about ui design so users don't need help files). - Avoid needless choices. - If you must offer choices, always pick sane defaults, and make the choices easy to reach.
The lack of sane defaults and the excessive amount of choices that were forced on me is the primary reason I dumped linux a few years back.
Ok, here's what I had to do to install bluefish (which I've never heard of / used before).
open a Terminal window (I use csh) and type "sudo port install bluefish"
Just tried this on my mac: "sudo: port: command not found" The process to set up your mac so the command you mentioned works is not that different from the process of installing wine on a linux distro, so it's a fair comparison.
Confused again. Mac doesn't use folders and subfolders? That's news to me. Horizontal list of open programs--that's called the dock. Ok, so it includes launcher buttons as well, but virtually the same thing.
Poor description of what he meant. What he probably meant was: - The mac file navigator doesn't use the two pane navigation with a folder tree view on the left and a flat list of files and folders on the right. And he's right, the finder is the only default file navigator on any system in popular use that doesn't do this. It can't even be configured to do this. I personally prefer this method of navigation also, and I've never liked the finder in all my years of mac use (I still think windows file explorer is a better file navigator). Ofcourse, there's pathfinder, but it's commercial, and it underscored roblimo's comment that on the mac you have to pay for additional software just to get what you get by default on other operating systems (especially linux). - The mac doesn't have a horizontal list of open windows across the bottom of the screen. He's right, it is, again, the only system that works like this by default, and it makes mouse navigation of windows non-obvious. Seasoned mac users now that the dock context menu of that application contains a list of its windows (much like on a windows install if you open too many windows), but since most non-mac users are convinced macs only use one mouse button, they never think to right-click on the dock icon. Seasoned mac users probably use expose mapped to a mouse button on their non-stock multi-button mouse (best way to navigate windows by far), but again, new users would not have a clue about this.
In short, his criticisms of the mac are mostly to the point. The mac does seem very unintuitive if your definition of intuitive has been skewed by other operating environments. And even when you "settle in", there remain weaknesses (like the finder being a clumsy piece of crap, no matter how you configure it, which the "improvements" of leopard did nothing to alleviate).
That being said, I still love my mac. It is by far the best environment I've worked in, once you get past that whole awkwardness phase at the beginning.
What I find ironic is that what many people see as indispensable are the authoring tools, yet you are free to actually go and read the Flash spec for those. The only thing you are not allowed to do is both read the spec and create a player from it.
In fact, the official adobe development tools (the flex sdk) are open source under the MPL.
I understand adobe's position. It's the same as sun's on java. They're afraid that by open-sourcing the player, people will fork the standard, and they'll lose the business value of the flash platform (write once, run anywhere). The answer is, ofcourse, very simple: provide a GPL / Commercial dual license for the player. This is what sun's doing with java, and it's what adobe needs to do with flash.
Considering we have no inside information, it might be that a lot of these countries arent impressed by the sugar-based system and want windows.
... I wouldn't really trust the opinion of the governments of these countries. You prefer what you know. I would do field tests with children that haven't been exposed to prior computing experiences, and see which group (open source stack or windows stack) did best at learning things.
Negroponte is quite right that it's a failing of open source that they couldn't build a system that people would like better than XP, probably the worst OS in common use, aside from Vista.
Although
The pharmaceutical industry isn't in the business of curing diseases, because that isn't as profitable as making drugs that you have to keep taking for the rest of your life.
Take HIV for example. They've invested a lot of money making drugs that let you "live with" HIV, at a staggering recurring yearly cost to the patient. If they made a cure, even if they charged through the nose for it, they would lose out on a lot of money. This is why if there is ever a cure for HIV developed, it will be in a publicly funded lab, not in a pharma company.
Of course people who still decide to rate The Wedding Singer seven stars can throw the whole thing off, like on iTunes where *no* album scores under a four or a five.
The fallacy is allowing extreme votes to be worth more than moderate votes, because moderate votes are more likely to be accurate.
It's better to use a simple up/down vote system. Everyone's vote is worth as much that way.
Yes, but that's a bit like how no browser in the world correctly implement HTML and CSS, but most claim to.
MS will claim office implements OOXML, and that this makes it the most widespread standard, and enough people will buy into it to make the lie turn true.
I've seen many articles that discredit OOXML that have raised specific verifiable issues. What verifiable evidence of your claims do you offer?
Yes, this does bring suspicion on the validity of the other standards.
I don't think ISO realizes how much damage they've done to themselves here. ISO certification is supposed to guarantee that no matter what, your process is sound. ISO's own process has failed here, and everybody knows it. If ISO themselves can't even adhere to an ISO process, what value is their certification? What value is any ISO standard?
How was Microsoft supposed to implement this standard in their own products before it was a standard? Once it went into the standards committee a bunch of changes were made - how could those changes have been anticipated.
The intial version they submitted already wasn't compatible with what office implements.
So what. I don't think we should give that much credit to a student who is able to recite the age of the Earth according to whichever theory their particular textbook happens to follow. What they should know is that there are many theories about the age of the Earth, and none of them is probably within 100 million years of being right.
Blind faith is blind faith regardless of whether it comes from a Pastor or a high school textbook.
Except that the geological age of the earth is not based on blind faith. It's based on reasoning and observations that anyone can follow and double-check for themselves. This contrasts starkly with the 6000 yo claim, which is in fact based on blind faith, and has no other evidence than "because I said so".
This is what the flying spaghetti monster teaches us: once you open the door to every theory (regardless of supporting evidence), you open the door to madness, and might as well give up trying to get anything done.
PHP has got to be one of the worst things that ever happened to web development.
This particular site was coded in java, so PHP was not at fault here. I don't know what got you onto the topic of PHP.
The problem is that when these projects come up, rather than contracting out to someone who knows what they're doing, or at least hiring or training somebody who can code, they go to Bob the IT guy
Software development has always been rife with contracts that go to the lowest bidder based on a spec that mentions only features and deadlines (not security, quality, or other metrics). This is because most IT projects are managed by people who don't understand IT, and who do the IT equivalent of asking their neighborhood carpenter to build the golden gate bridge. You get what you pay for.
I know I sound elitist here, but goddamn it, PHP and all those lovely little scripting languages have unleashed a disaster on the web.
If PHP didn't exist, someone would invent it. PHP fills the niche of an environment that lets you get up and running quickly with web applications, just like visual basic did it for windows apps, and access did it for databases. Yes, it's a bit elitist to say that all programming environments should be so difficult to program in that they weed out all but the most dedicated (and knowledgeable), but it's also unrealistic, because people would invent easier environments if there weren't any. PHP is actually quite good at blending the capability for quality coding with a low barrier to access.
And besides, the problems with web app security have nothing to do with PHP or any other scripting language, they have to do with visibility. Think about how many two-tier desktop apps there are that let anyone with a bit of knowledge bypass the app and do whatever they want in the database. Nobody makes a fuss about this, because the visibility of those apps is lower.
I would say the primary problem with web app development is not any of the tools, but the perception among IT managers that web app development is simpler, and requires less skill, than desktop development, while the inverse is true. I do both desktop and web development, and it is much more difficult to build good web apps, because you have to pay more attention to architecture, security, performance envelopes, and gui design. That management (even my management) still doesn't understand that is disappointing, but understandable given how the web started out as a toy and still hasn't quite shaken that perception.
I quite frankly dislike intensely, but it's taken over the world, unfortunately, despite much better languages like Python being out there.
Python, in this case, wouldn't have made a difference because it wouldn't have prevented SQL injection attacks. You can concatenate together your query from GET arguments in any language.
Apple will have no choice but to respond and that may mean pulling OS X from retail sale altogether and simply offering it with their computers and providing free upgrades to owners of Apple hardware.
They don't need to do either. They just need to label the retail copies with the big word "Upgrade", and make it clear that it is an upgrade version for an earlier OS X only. If they only sell you full versions along with a new mac (and not at retail), nothing changes.
For that matter, a lot of our larger corporate customers (outfits with fifteen or twenty thousand seats company wide) are still using Win2K because it does what they need.
True. One of our customers is a large telecom provider, and they only just finished a switch to XP. They have no interest in moving to vista for years to come.
All the large corporate customers we have are not intending to migrate to vista. Not a single one. Those that asked about vista support of our software have since told us "don't bother for now". Ofcourse, we've made our apps compatible, because some of our smaller customers have a few vista installs, but the large outfits are sticking with XP until a feasible windows business desktop is released.
I still recommend the wait and see approach for OS X 10.5 [...] On the other hand, I haven't had any major problems with the client.
I have. Copying large files over the wireless network between leopard installs is unusably slow, unless you set the tcp delayed_ack setting to 0 on the command-line.
throw out their old OS completely and start again from scratch. This is exactly what Apple did, and it led to an extremely stable and secure new system.
Apple did NOT start from scratch. Apple bought NeXT, and wrote emulation layers on top of it to run old mac apps. What is currently known as cocoa is actually the old NeXT environment. If you factor in the massive development investment in NeXT, there's no way for microsoft to produce a comparable effort as OS X 10.2 in less than a decade. I say 10.2, because before that OS X simply didn't have the adoption numbers that MS will need.
instead of using a useful widget set, everyone is bastardising HTML (eg, the hundreds of javascript-based calendar widgets; when all GUI toolkits I know of have one built in).
Nonsense. Straight X11 doesn't have widgets, it doesn't have much that is useful. The widget sets layer on top of it. I see no reason why html+css+js is so inherently poor to layer on top of. These protocols were designed from the start for low-bandwidth use, graceful degradation for alternate access methods (modem access, small devices, disabled people), and are agnostic to which side (client or server) your content and logic originate from, which allows smoothly balancing load between client and server as needed.
Now, admittedly, the one weakness is the fact that HTTP is stateless, and you end up reconstructing the session on every page request, but this is something that can be worked around through clever design.
On the other hand, flex beats the html stack hands down for performance, ease of development and ease of use, so as a protocol flash/flex wins. Too bad they didn't implement it as a standard that all browsers were forced to carry.
What I don't like is this 45 days free access to some HTML/Javascript monstrosity intended to allow you to read the book (in a standard web browser, no less) without downloading it. And then they have the gall to offer you PDF downloads of a few chapters every month you're subscribed -- yeah, I'll finish the book in less than a month, so that's way too slow, and the single gigantic PDF I pirated was easier to manage and search through.
My company got me a safari subscription, and I must say I've been really satisfied with it.
Upsides:
- Thousands upon thousands of solid tech books. If I want to learn about a subject, they have a good book on it.
- Instant access (I don't have time to run to a book store every time I need to read up on a subject.)
- Full text search, through their entire library of books (way better than searching pdf's).
Downsides:
- At times it's slow
- Not possible to copy and paste text.
All in all, Safari's a good deal, for me at least.
The only safe way is to run the machine without a GUI. Is this possible on a Mac?
Ofcourse it's possible.
Either you can disable the gui entirely, booting straight into text-mode console:
http://www.oreilly.com/pub/h/348
Or you can boot to a console + gui mode, where it doesn't load the full gui, but you can still launch individual gui apps:
http://forums.macosxhints.com/showthread.php?t=24259
The architecture of OS X is not that different from other unices, except that instead of running X for the graphics, it runs Aqua, and instead of using init and a collection of shell scripts, it uses launchd and a collection of xml files.
You exaggerate, but not by much. I've also heard nitpicks about the top menu bar having (gasp!) square corners on top instead of rounded corners. Oh for the love of all that is good in this world, are you going to let THAT bother you?
For those people it's not about the corners on the menu bar, it's the final slap in a long line of insults. In their minds, apple reached UI perfection (or close to it) in OS 8, and they needed only to redesign the technical underpinnings to have a perfect OS. When Jobs returned to Apple, it was not to perfect the mac vision, it was to relaunch the NeXT vision under the Apple brand. OS X is not an evolution of classic mac os, it is NeXTStep with a mac compatibility layer. The classic mac users were essentially left out in the cold, stuck on a foreign system with poor usability (compared to the classic mac). One of the few remainders of the classic os in OS X were the rounded corners. These have been there since the original macintosh, even since the lisa. By taking them away, apple drove a final nail in the coffin of the classic mac, and what little hope was left with classic mac fans that apple would "find their way back" has evaporated.
So there you have it. In my experience, doing this will remove about half of the lines of code (more if there was a significant number of lemurs on the team), at the gain of considerable clarity and usually performance.
I work on a 2 million line code base, written by a few dozen people, most of them off-shore, that is poorly commented, poorly documented, and has many modules of code that no one in our team understands well. In other words, a typical large commercial code base.
At first, I would routinely aggressively clean up sections of code as I made changes in them. But then I started to notice a pattern: there were bugs in the functionality of that code that weren't there before I "cleaned it up". When you refactor highly convoluted code, it is seductive to make assumptions about the working of that code (especially in how the code interacts with the rest of the system), because it is hard work to actually figure it out completely. Those assumptions have a nasty tendency to be wrong.
Nowadays I approach code changes like this: if I don't understand the code 100 percent, I make my changes as low impact as possible, even if it means uglifying the code. If some part of the code base needs refactoring to allow implementing a new feature, I first figure it out fully, document its existing behavior (often line-by-line, call-by-call, class-by-class), look at every place in the entire code base where it is called (and document those places), and only then do I refactor it.
The point is this: if code is ugly and slow, but it works, it is better code than clean, fast, beautiful code with bugs. Better in the sense that it makes the user happier, and the user is one of only two metrics that truly matter in software development (the other being cost). Always resist modifying code just for the sake of cleaning it up. If it works, don't touch it.
It is the height of arrogance for a software designer to inflict a choice like this on the user simply because the designer couldn't think hard enough to decide which option is really better.
...).
Amen. There are three basic lessons on users every developer should always remember:
- Users don't read (dialogs, help files, manuals, hints,
- Users don't care about your application, only about the task they need your application for.
- Users hate choice, until you pick the wrong one for them, and then they absolutely need it.
The lesson for developers is this:
- Avoid forcing your users to read (avoid dialogs, think about ui design so users don't need help files).
- Avoid needless choices.
- If you must offer choices, always pick sane defaults, and make the choices easy to reach.
The lack of sane defaults and the excessive amount of choices that were forced on me is the primary reason I dumped linux a few years back.
Ok, here's what I had to do to install bluefish (which I've never heard of / used before).
open a Terminal window (I use csh) and type "sudo port install bluefish"
Just tried this on my mac: "sudo: port: command not found"
The process to set up your mac so the command you mentioned works is not that different from the process of installing wine on a linux distro, so it's a fair comparison.
Confused again. Mac doesn't use folders and subfolders? That's news to me. Horizontal list of open programs--that's called the dock. Ok, so it includes launcher buttons as well, but virtually the same thing.
Poor description of what he meant. What he probably meant was:
- The mac file navigator doesn't use the two pane navigation with a folder tree view on the left and a flat list of files and folders on the right. And he's right, the finder is the only default file navigator on any system in popular use that doesn't do this. It can't even be configured to do this. I personally prefer this method of navigation also, and I've never liked the finder in all my years of mac use (I still think windows file explorer is a better file navigator). Ofcourse, there's pathfinder, but it's commercial, and it underscored roblimo's comment that on the mac you have to pay for additional software just to get what you get by default on other operating systems (especially linux).
- The mac doesn't have a horizontal list of open windows across the bottom of the screen. He's right, it is, again, the only system that works like this by default, and it makes mouse navigation of windows non-obvious. Seasoned mac users now that the dock context menu of that application contains a list of its windows (much like on a windows install if you open too many windows), but since most non-mac users are convinced macs only use one mouse button, they never think to right-click on the dock icon. Seasoned mac users probably use expose mapped to a mouse button on their non-stock multi-button mouse (best way to navigate windows by far), but again, new users would not have a clue about this.
In short, his criticisms of the mac are mostly to the point. The mac does seem very unintuitive if your definition of intuitive has been skewed by other operating environments. And even when you "settle in", there remain weaknesses (like the finder being a clumsy piece of crap, no matter how you configure it, which the "improvements" of leopard did nothing to alleviate).
That being said, I still love my mac. It is by far the best environment I've worked in, once you get past that whole awkwardness phase at the beginning.
I agree with Gosling. Classes are an unnecessary abstraction layer. Why shouldn't you be able to inherit from any object?
Gosling's argument against classes is that they encourage implementation inheritance, instead of interface inheritance.
Javascript lacks interface inheritance, and that's what makes it weak.
IMHO, inheriting the implementation from an object buys you nothing of value because well-structured code simply doesn't need it.
Javascript 2 deals with this the same way as javascript 1:
http://www.mozilla.org/projects/security/components/same-origin.html