Besides, Ruby doesn't have real continuations. Their continuations are based of longjmp() C call, so it has some limitations that real continuations don't have.
Well, Rails is based around two classes, ActiveRecord (which handles your ORM stuff) and ActionPack, which handles your application's structure and mapping events and generating content.
Nothing really ties your output to html, so yes, you just as easily output anything you like. Most Rails applications output RSS feeds, which is just an XML out feed. Depending on your XSLT recources, you may need to jump through some hoops to make it work just right, though.
Well, Rails does lots of things behind the scenes. A simple piece of code like this Object-Relational-Mapping statement:
class Column < ActiveRecord::Base end
does at the very least, the following:
Pluralizes "Column" into "Columns"
Finds the table "Columns" and requests its schema.
Maps every column into methods.
Provides logging for all SQL sent, all actions undertaken, and also allows for use of the ruby debugger on otherwise external ops
Provides search and iteration methods that you'd otherwise have to write on your own
Caches data for performance
That's an awful lot of bang for your buck with just 2 lines, especially now that it's loggable and debuggable. I'd say that alone makes it better than inlined SQL.
What's cool about Rails, and why this dynamic approach is so desirable, is that it can change on-the-fly.
Yeah, you heard me right. Your web app can be depolyed, and you can modify the tables. Need to add a new field? Just do it. You can also (on-the-fly) make new test actions to play with these parts of the database. Of course, deleting or renaming a column can cause a problem with existing code, but Rails still gives you more than most competitiors in this regard.
Being able to debug a web application without bringing it down or re-deploying it is a powerful feature. Code generators are all good, until you need to do something fancy which requires custom code. In Ruby, all that stuff is done dynamically (oh, and cached, of course) when it needs to be done. It's a lot more conveniant than code generation.
There are a lot more demos on the Ruby On Rails Website, and it's documentation section.
You're a Zope fan, which means you're a Python fan. Probably the only language that can compete with Python on even terms is Ruby, and the languages are extremely similar.
I'd highly recommend you check it out. The language should be close enough to Python to learn in a day or two, and Rails is really powerful. It's different from Zope-no doubt about it-but that doesn't mean it's bad.
Yes, the code is standards compliant. But that's not saying much, the scaffolding feature is so basic it's not saying much.
In general you do not use those scaffolds in the production app. They're placeholders for you as you program your actions, and in that regard they're very useful.
Firstly, Rails's ActiveRecord class is very simple Ruby code, so it's naturally bug-resistant.
Secondly, the author knows that ActiveRecord could be a source of problems, which is why it's got dozens of unit tests, covering nearly every line of code.
Thirdly, even with all that bugs can and will sneak through, which is why ActiveRecord can, upon command, write a detailed log of its attempt to dynamically bind and create the classes you want. The logging is at the message-passing level of Ruby, which is nearly as atomic as you can get (you could hack the interpreter to go further, but that'd be pointless).
The dark ages of hideous bugs in dynamic code are gone my friend. We have the tools and techniques to make code of this type both safe and maintainable. Don't be afraid of it.
Sir, may I ask you exactly how you're going to get your Java framework of choice to connect, comprehend, and dynamically bind to a SQL table in only 2 lines of code? Because that's what you're going to have to do to beat Rails in code count. For instance, if we have a table called "Clients". It has lots of fields.
If we want to link it to Rails, we'd use the following code:
class Client < ActiveRecord::Base end
Yeah. That's really it. And you can specify relations with a simple micro-language in the class declaration (that's based out of ruby syntax). Once you've done this, you can write code like this:
my_client = Client.find( 26 ) # Find by primary key my_client2 = Client.find_by_manager_id( 12 ) # Find by some field
# This code prints out each client's id and name Client.find_all.each do |c| puts "#{c.id}: #{c.name} end
And Rails makes the action mappings just as simple. I'd eat my old shoes before I'd believe that there is some lurking JSP/Servlet framework that has evaded my sight (and everyone's sight, really) that can do better. I know Java's limitations pretty well.
Well, most of the article is setup. But I do agree the article is less than a stunning demo of rails. Instead, you might want to fire up the video at www.rubyonrails.com which walks you through a 10 minute application build.
It's extremely cool to watch someone set up a working webapp that fast.
But I have to take issue with:
Take a look at this example. It's incrediblyl complicated and all it does is display a horrible little form that lets you query cookbook recipies!
Half of the darn article is setting up MySql and installing Ruby and Rails from scratch on a windows machine. Do you have any idea how much harder this crap is to write in other frameworks? You'd have to write at least 2x as much code. No one has an Active Record class as good as Rails'. You'd double the code count just doing the SQL linkage!
It's one thing to be unimpressed, but it's another to know jack shit about the domain and say it's all worthless. Anyone who's ever made a web application will appreciate it.
Rails is an incredibly good framework for Ruby, that really shows off its power and makes it easy to get a web application going, but it's not all that Ruby has to offer.
Ruby is full of incredible libraries and frameworks like this, especially where text processing and web development are concerned. It's because Ruby has such a rich set of features.
Anyone who likes Rails should dig deeper. Heck, Ruby's standard library comes with some amazing things. Ruby also has a framework called RubyGems, which is very much like Perl's CPAN integration or CommonLisp's ASDF framework.
There is about zero difference in the interface on the player!
There is a difference, but I was referring more to the Apple's software vs. Creative's.
The hassle for your sister isn't in the software, it's in the fact that she doesn't spend days playing solitaire on her computer so she can do it in the background.
Err, she sits in front of her computer just as much as my grandmother. iTunes streamlines it so much it's absurd, both in the initial process (which Creative's offering matches) and afterwards during the organization.
There's more to digitizing your media collection than the physical act of ripping the CD.
So your girlfriend is shallow and obsessed with beauty, even for products that are supposed to spend 99% of their time hidden away in your pocket and doing what they are supposed to be doing: playing music.;-)
It isn't bad that people like beautiful products. Certainly, the iPod is much nicer looking than many of its competitors. But it's also very clean, and has a simple-to-use design.
This is why people call it beautiful. Sure, your iRiver or Zen Micro may look pretty cool, but the interface is trashy by comparison. Getting both the look and the interface just so is a real challenge for designers.
It's a sexy, techy device that my grandma can use (and she does).
But that doesn't mean other's aren't very good players as well. Creative's software is as good as iTunes and the players are as easy to use. Two out of three ain't bad. Add to that better battery life (and user replacable for when it does fail completely) and that's the myth of Apple's technical superiority is gone.
Creative's software is neither feature comparable nor is it as easy to use. The players do not have sucha clean and intuitive interface (although it's close in the player). Let's use the Grandma test. My sister's boyfriend bought her a Creative player, and my father and I bought my grandmother an iPod.
My sister, although far more tech savvy, has yet to do many of the things my grandmother is doing. When my sister saw iTunes, she said, "Wow, this is really neat!" She has yet to rip all her CDs the way my grandmother has because, "It's such a hassle." Whereas my grandmother just sat down one afternoon and ripped about 110 cds while playing solitare. She also organized them and is in the process of rating them.
There's something to this story. iTunes is more feature rich, and people use those features. We all know MS Word has about umpteen billion features, but most are never used even in professional environments, because MS Word has poor design and crappy usability.
Well, the "the infamous French Competition Council" holds no water in the USA where Apple is based.
Precedents count. The French Competition Council's reputation is... draconian. They're very hard on foreign companies. Sure, this ruling doesn't apply in the US, but it makes a good litmus test.
That doesn't hold water with me. Why would the company that owns the FariPlay/AAC format not want to make money? The only thing I can think of is that Apple forced _them_ to sign an exclusive license to prevent them from licensing FairPlay/AAC to any other company.
Wow, a full on conspiracy theory! Amazing! I seriously doubt this is the case. I can think of a few reasons why FairPlay wouldn't allow indiscriminate licensing... For one, DRM schemes are essentially insecure. They can't be perfect. Apple has a long history of being very good at keeping secrets, so maybe their contractor feels skittish?
Further, this lockout is artifical to begin with. If someone else made a less restrictive DRM and a cheap-but-comparable MP3 player to support it, you'd see people drop their iPods and iTMS in droves.
All someone has to do to beat Apple is provide media with fewer restrictions at higher qualities. No one seems to want to do it, yet.
Yes, and that _does_ degrade the quality of the music. You PAID for the song and now the only way to use that song in a non-iPod device is to _lower_ the quality of your purchase, that is basically throwing money out the window.
Newsflash! This just in, Apple is forced to use DRM because the real scary player in this game, the RIAA, tells them they have to have it or they will pull their support. You're blaming the messenger, here. All online music stores seem a little draconian, it's the RIAA's wicked light shining through their thin facades.
So the industry should wait until the situation _really_ gets out of hand instead of doing a minor adjustment now that would allow greater competition?
Actually, yeah, that's the way the law works. You can't sue or sanction a company on the grounds they might do something eventually. That's also the way captialism works, by the way. You don't let the government step in unless they absolutely have to. Apple has a strong lead in the Digital Music Player/Store market, but they don't have a some kind of crushing monopoly, yet.
Thier practices aren't anti-competitive. They're just that much better. It's very hard to argue with a successful product. People aren't being forced into buying iPods or forced into using the iTunes music store. They want to.
There's a key difference between having an utterly superior product (Apple) and using anti-competitive practices to destroy your competitiors (Microsoft vs. Be, Inc., for example). People desire your product even when they're fully informed of the competitors.
You most certainly can play mp3s on an iPod. They are still mp3s when they're loaded and played. They are loaded and indexed in an unusual fashion, you need a special tool (iTunes, usually, but there were/are others) or a set of instructions to upload and download music manually from your iPod.
When iTunes copies the file onto the iPod, it does all this magic transparently, but it doesn't change the format.
don't have a problem with Apple being able to dominate any market, as long as it is not in an anti-competive way. Not licensing their protected AAC format is anti-competitive. At least MS will license their DRMed windows audio to anyone who wants it.
Your suggestion that Apple's current practices are anti-competitive doesn't hold water with me.
Apparently, the infamous French Competition Council agrees with this opinion. They claim that the iPod plays several formats of music, of which FairPlay/AAC is only one. It would be entirely possible for an enterprising company to leverage this to make a system which relies on the iPod's natural security (it is difficult, although not impossible, to remove songs from your iPod... at least for a casual user) and specific downloading tools.
Since Real has managed to make Harmony (and evidently Apple can't stop them), you've got concrete evidence that it's possible, albeit difficult.
But... has anyone considered that the decision to license their format may not be Apple's choice? Apple itself licenses the DRM they are using, they didn't create it in house. Much like Nvidia may not be able to legally open their graphics card drivers, Apple may be in a position where it is not their call to make.
So far, the FairPlay format has proven to be pretty good. Not perfect, but we know that no DRM scheme can be. The RIAA is demanding that DRM be used. And it's also quite possible that they don't want Apple to license the DRM either. When it comes to iTMS, Apple has to listen to the RIAA, otherwise they'll back out entirely.
Does this mean that Apple might be in a legal-rock-or-hard-place? Possibly... but here's an even worse thought. What happens if this situation forces them to close iTMS?
Competition is the only thing that drives true capitalism. If we allow competition to be taken away (such as with Apple not licensing their protected AAC), then we end up with broken capitalism and more monopolies like MS.
The iPod is the dominant MP3 player on the market, and the iTMS is probably the biggest music store. But they are not your only option! Many other players exist out there, and many other online stores. Apple has a massive market lead, but nothing forces you to buy an iPod except your desire to use iTunes Music Store. Other MP3 players provide nearly identical (and sometimes superior) functionality.
Apple's music store is so popular because of the experience as a whole. It is easy, attractive, and has a good selection. But other music stores have comparable selections, and other music players integrate with them just fine. We are not yet at a situation where you must use an iPod and iTMS in order to get anything done in the digital music world.
To further prove the case, note that it's trivially easy to burn the protected songs to CDs, and then rip them back into another format. You may suffer some quality loss in this fashion, but in most cases it will not be significant enough to ruin the song (unless you are an audiophile with a trained ear). Apple could sneakily address this problem with a DRM'd lossless encoding of the file.
The suit is spurious, and should be dismissed. Maybe in 5 years he'll have grounds for it.
It also does not address, in my opinion, the biggest Mac issue of the last decade: gaming and gaming development.
For most folks, including myself, we're pretty easy to please in the gaming department. The average gamer lifecycle for games is to play for a few months, then toss. Putting you on a cost-treadmill that is endless.
Sorry if some of us opt out and don't care about this incredible "issue." I'll play a few games, own a console, and in general be happier. How many FPSs can you buy before you get bored with the concept, anyways?
If Jobs actually *puts* a computer within her reach as a consumer, she very well may buy one, and have a hell of a time when she has problems and I refuse to support it.
So, you'll refuse to help your mom with her computer because you disagree with the principle of her purchase? I can see it now...
You:"Mom, can't you see you're giving in to the machine here? And they haven't even addressed gaming issues! How will you play Halflife 2? How can you live without Day of Defeat?" Your Mom:"What?"
Besides, she might kick you out of the basement if you don't help out...
If my mom can handle the mac I passed on to her without help, your mom can handle a mac. She can't possibly be more clueless than my mom (who stopped using yahoo mail because it "has problems with international mail" and who still cannot differentiate between an email address and a URL).
Honestly, this is incredibly tiresome. Can't we all just agree that there are many segments to the computer market, and that Apple Computer, Inc. can cheerfully be profitable without trying to dominate every portion of the market this decade?
At least in the US, we have some kind of weird "honor"-related relationship with someone's physical abilities. We have a deep-seated feeling that it's "unfair" to dope up in order win physically. This might be because people believe that with enough excercise and hard work, anyone can be an Olympic Athelete.
I think most people don't have the same kind of feelings about intelligence, because we regard it as an inborn thing. Either you're smart or you're not, and that's all there is too it, right?
I know that my intellect takes a lot of work to maintain. I'm quick, but my short-term memory isn't great and my logical abilitiy isn't much above average. I have to work very hard to keep my brain in a state where I can program computers, solve math in my head, remember things, and generally keep my nickname as "that smart guy." I may be predisposed to intelligence, but that doesn't mean that I can slack off.
In the US at least, I doubt we'd ever see "brain testing" because people don't regard intelligence as something you can build, unlike physical aptitude. People don't associate that weird puritanical "honor"-relationship with Matheletes.:)
The idea here is that sometimes, the company needs a person to go the extra mile in order to close some work out. The problem is, lots of engineers and developers are really cranky when it comes to this.
"Why should I go the extra mile for you when you cut into my paid benefits and won't give us free soda and coffee?"
So what companies do is offer a threshold system. Like at my company, if I work over 45 hours a week, I get an "adjusted" hourly rate (I'm salaried, but you can calculate it roughly compared to what they expect) for every hour past that, up to a maximum of 10 hours.
Honestly, unless I felt my entire project was threatened (and it has been, before) I wouldn't work overtime (and I have before). There is no reason for me to do it.
Even big companies are now realizing that "crunch" hours on engineer and speciality employees can actally do more harm than good. Some companies even remember that employee turnover is not a "good" thing.
Bull. Crimes by accident are a completely separate issue from purposeful gun crimes. If someone drops a gun and it sends a round out into space killing a mother of three children 10 blocks away, it's tragic but it's an accident. Including these kinds of crimes in your statistics is deliberate and malicious spin-doctoring.
As for the second issue, a stolen gun has been stolen. Someone has already committed one crime to get the gun, probably with the intent to use it in another. Again, it's a separate problem, but people love to say, "NN% of registered guns end up being used in violent crime." This gives a false impression.
People with an agenda love the low-hanging-fruit of false impressions.
Either greater gun safety can save lives or it can't. At least 1,500 people a year are killed in gun accidents. They're age, ethnicity, and location are entirely irrelevent. More gun safety is absolutely necessary. Less guns is not.
I agree there.
If you're going to fight with semantics, please don't play around. Provide some perspective instead of a tiny out-of-context slice. Anything less is deliberate ignorance on your part.
Tell me, how many of these crimes were both: 1) Purposeful and with intent 2) Commited with a registered firearm being wielded by its rightful owner.
Are these crimes rising in direct proportion to the rate of increased gun sales?
And we have counter examples. Australia, for example, did not experience a significant drop in crime rates after they enacted their new civilian firearms policies.
For instance, people like to talk about how many "children" are killed by guns per (insert unit of time here) in America. Of course, they count "children" as anyone 18 and under. A great way to increase the count, since certain intersections of economic and age demographics are wayyyyy more likely to be involved in violent crime anyways.
If you're going to fight with statistics, please don't play around. Provide the full story instead of a tiny out-of-context slice. Anything less is deliberate deception on your part.
Of course, you're Ballmer-esquely neglecting to mention that in areas where legal gun ownership is common, overall crime rates are vastly reduced. Gun crime rates fall proportionately.
Basically, there is some small percent of all crime where the perpetrator intends it to be violent no matter what. These cases are rare compared to most crimes, but when you lower the crime rate the noise comes out.
It's like saying, "Waving a blunt metal pole about make it far more likely for you to be struck by lightning." Sure, I guess it's true, but if you live in a place with infrequent thunderstorms it doesn't mean much.
And it therefore costs your employer twice as much.
In many cases, the amount of time saved on code creation, bug catching, and testing far outweighs the initial investment of two developer's time. If the code is better and contains few bugs, it is worth a lot more than the same mass of code with far more bugs.
I really don't think pair programming is productive. When you are just churning out code there is no need for two people to look at the screen - one is enough and you can get things done quicker working seperately. Pair programming inhibits the JFDI approach, in my experience.
Well, XP people would say that Pair Programmingis only step one. But, when people start a job and work together until it's finished, the results are very impressive, in my experience.
I really don't think pair programming is productive. When you are just churning out code there is no need for two people to look at the screen - one is enough and you can get things done quicker working seperately. Pair programming inhibits the JFDI approach, in my experience.
In my experience, a pair team can churn out far more quality code in the same unit time. Pair Programming is also about the social aspects. A million little things can slow you down and distract you, and your partner's job is to keep you focused (and in turn, you keep him focused).
You mention bringing someone "in" on a project late in the cycle. That's a surefire way to lose time. Bringing someone up to speed on a project can be time consuming. For someone already up to speed on the project, understanding a bug is much easier, and the faster they understand it the faster you can move to a solution.
Maybe when you paired, you paired with people unsuitable, or you initiated pair programming too late in the dev cycle?
I've had a few experiences with Pair Programming at Lockheed. It's
been pretty interesting, but it has its ups and downs. Some people are
very suited to "pilot" and others more to "copilot". It's important to
switch off these two roles, but some people just can't take one role.
I had to do a kind of emergency-coding-session with my boss, he had
dawdled on a project and then management applied thumbscrews, so we
decided to just crank it out in a week.
I started as copilot, and didn't like it very much, since I was the
one who had come up with a new design for the program (when
meteorologists make data file formats, parsing them in real time
without delays can be an exercise in ingenuity). However, my boss was
very good at driver and appreciated someone to keep him focused when
he was diverted by code details.
On that day, we wrote about half the project, about 750 lines of
code. It worked well once we got the rhythm down. Afterwords, we were
both really tired. The intensity of the activity surprised us both. It
is more work than just coding, and until you're used to it, you may
feel like it's a lot of work.
My boss though, basically refused to play copilot and only checked in
with me ever 15 minutes the next day,so I had to finish the project on
my own (the other 600 lines of the project went quickly).
Still, when it worked, it worked well, and I can recommend it. But, it
does take a conscious effort to let go of your ego and a lot of effort
to listen careful.
Not necessary.
Besides, Ruby doesn't have real continuations. Their continuations are based of longjmp() C call, so it has some limitations that real continuations don't have.
Well, Rails is based around two classes, ActiveRecord (which handles your ORM stuff) and ActionPack, which handles your application's structure and mapping events and generating content.
Nothing really ties your output to html, so yes, you just as easily output anything you like. Most Rails applications output RSS feeds, which is just an XML out feed. Depending on your XSLT recources, you may need to jump through some hoops to make it work just right, though.
- Pluralizes "Column" into "Columns"
- Finds the table "Columns" and requests its schema.
- Maps every column into methods.
- Provides logging for all SQL sent, all actions undertaken, and also allows for use of the ruby debugger on otherwise external ops
- Provides search and iteration methods that you'd otherwise have to write on your own
- Caches data for performance
That's an awful lot of bang for your buck with just 2 lines, especially now that it's loggable and debuggable. I'd say that alone makes it better than inlined SQL.What's cool about Rails, and why this dynamic approach is so desirable, is that it can change on-the-fly.
Yeah, you heard me right. Your web app can be depolyed, and you can modify the tables. Need to add a new field? Just do it. You can also (on-the-fly) make new test actions to play with these parts of the database. Of course, deleting or renaming a column can cause a problem with existing code, but Rails still gives you more than most competitiors in this regard.
Being able to debug a web application without bringing it down or re-deploying it is a powerful feature. Code generators are all good, until you need to do something fancy which requires custom code. In Ruby, all that stuff is done dynamically (oh, and cached, of course) when it needs to be done. It's a lot more conveniant than code generation.
The most recent release of Rails supposedly cleans up a lot of issues, including some with the SQL generation.
It also implements caching at a variety of levels, to further speed things up. The most recent releases of rails are dramatically faster than prior.
There are a lot more demos on the Ruby On Rails Website, and it's documentation section.
You're a Zope fan, which means you're a Python fan. Probably the only language that can compete with Python on even terms is Ruby, and the languages are extremely similar.
I'd highly recommend you check it out. The language should be close enough to Python to learn in a day or two, and Rails is really powerful. It's different from Zope-no doubt about it-but that doesn't mean it's bad.
Yes, the code is standards compliant. But that's not saying much, the scaffolding feature is so basic it's not saying much.
In general you do not use those scaffolds in the production app. They're placeholders for you as you program your actions, and in that regard they're very useful.
Firstly, Rails's ActiveRecord class is very simple Ruby code, so it's naturally bug-resistant.
Secondly, the author knows that ActiveRecord could be a source of problems, which is why it's got dozens of unit tests, covering nearly every line of code.
Thirdly, even with all that bugs can and will sneak through, which is why ActiveRecord can, upon command, write a detailed log of its attempt to dynamically bind and create the classes you want. The logging is at the message-passing level of Ruby, which is nearly as atomic as you can get (you could hack the interpreter to go further, but that'd be pointless).
The dark ages of hideous bugs in dynamic code are gone my friend. We have the tools and techniques to make code of this type both safe and maintainable. Don't be afraid of it.
If we want to link it to Rails, we'd use the following code:
Yeah. That's really it. And you can specify relations with a simple micro-language in the class declaration (that's based out of ruby syntax). Once you've done this, you can write code like this:And Rails makes the action mappings just as simple. I'd eat my old shoes before I'd believe that there is some lurking JSP/Servlet framework that has evaded my sight (and everyone's sight, really) that can do better. I know Java's limitations pretty well.It's extremely cool to watch someone set up a working webapp that fast.
But I have to take issue with:
Half of the darn article is setting up MySql and installing Ruby and Rails from scratch on a windows machine. Do you have any idea how much harder this crap is to write in other frameworks? You'd have to write at least 2x as much code. No one has an Active Record class as good as Rails'. You'd double the code count just doing the SQL linkage!It's one thing to be unimpressed, but it's another to know jack shit about the domain and say it's all worthless. Anyone who's ever made a web application will appreciate it.
Rails is an incredibly good framework for Ruby, that really shows off its power and makes it easy to get a web application going, but it's not all that Ruby has to offer.
Ruby is full of incredible libraries and frameworks like this, especially where text processing and web development are concerned. It's because Ruby has such a rich set of features.
Anyone who likes Rails should dig deeper. Heck, Ruby's standard library comes with some amazing things. Ruby also has a framework called RubyGems,
which is very much like Perl's CPAN integration or CommonLisp's ASDF framework.
It isn't that someone did a breakfast journal. I could see someone doing that as a joke. It doesn't shatter my worldview.
What gets me is the sheer volume of comments! Not just from a small group of people, but if you look, you see lots of different people doing it.
That DOES shatter my worldview.
Err, she sits in front of her computer just as much as my grandmother. iTunes streamlines it so much it's absurd, both in the initial process (which Creative's offering matches) and afterwards during the organization.
There's more to digitizing your media collection than the physical act of ripping the CD.
It isn't bad that people like beautiful products. Certainly, the iPod is much nicer looking than many of its competitors. But it's also very clean, and has a simple-to-use design.
This is why people call it beautiful. Sure, your iRiver or Zen Micro may look pretty cool, but the interface is trashy by comparison. Getting both the look and the interface just so is a real challenge for designers.
It's a sexy, techy device that my grandma can use (and she does).
Creative's software is neither feature comparable nor is it as easy to use. The players do not have sucha clean and intuitive interface (although it's close in the player). Let's use the Grandma test. My sister's boyfriend bought her a Creative player, and my father and I bought my grandmother an iPod.
My sister, although far more tech savvy, has yet to do many of the things my grandmother is doing. When my sister saw iTunes, she said, "Wow, this is really neat!" She has yet to rip all her CDs the way my grandmother has because, "It's such a hassle." Whereas my grandmother just sat down one afternoon and ripped about 110 cds while playing solitare. She also organized them and is in the process of rating them.
There's something to this story. iTunes is more feature rich, and people use those features. We all know MS Word has about umpteen billion features, but most are never used even in professional environments, because MS Word has poor design and crappy usability.
Thier practices aren't anti-competitive. They're just that much better. It's very hard to argue with a successful product. People aren't being forced into buying iPods or forced into using the iTunes music store. They want to.
There's a key difference between having an utterly superior product (Apple) and using anti-competitive practices to destroy your competitiors (Microsoft vs. Be, Inc., for example). People desire your product even when they're fully informed of the competitors.
Err... uhh... what? You're uninformed. Let's fix that.
You most certainly can play mp3s on an iPod. They are still mp3s when they're loaded and played. They are loaded and indexed in an unusual fashion, you need a special tool (iTunes, usually, but there were/are others) or a set of instructions to upload and download music manually from your iPod.
When iTunes copies the file onto the iPod, it does all this magic transparently, but it doesn't change the format.
Apparently, the infamous French Competition Council agrees with this opinion. They claim that the iPod plays several formats of music, of which FairPlay/AAC is only one. It would be entirely possible for an enterprising company to leverage this to make a system which relies on the iPod's natural security (it is difficult, although not impossible, to remove songs from your iPod... at least for a casual user) and specific downloading tools.
Since Real has managed to make Harmony (and evidently Apple can't stop them), you've got concrete evidence that it's possible, albeit difficult.
But... has anyone considered that the decision to license their format may not be Apple's choice? Apple itself licenses the DRM they are using, they didn't create it in house. Much like Nvidia may not be able to legally open their graphics card drivers, Apple may be in a position where it is not their call to make.
So far, the FairPlay format has proven to be pretty good. Not perfect, but we know that no DRM scheme can be. The RIAA is demanding that DRM be used. And it's also quite possible that they don't want Apple to license the DRM either. When it comes to iTMS, Apple has to listen to the RIAA, otherwise they'll back out entirely.
Does this mean that Apple might be in a legal-rock-or-hard-place? Possibly... but here's an even worse thought. What happens if this situation forces them to close iTMS?
The iPod is the dominant MP3 player on the market, and the iTMS is probably the biggest music store. But they are not your only option! Many other players exist out there, and many other online stores. Apple has a massive market lead, but nothing forces you to buy an iPod except your desire to use iTunes Music Store. Other MP3 players provide nearly identical (and sometimes superior) functionality.Apple's music store is so popular because of the experience as a whole. It is easy, attractive, and has a good selection. But other music stores have comparable selections, and other music players integrate with them just fine. We are not yet at a situation where you must use an iPod and iTMS in order to get anything done in the digital music world.
To further prove the case, note that it's trivially easy to burn the protected songs to CDs, and then rip them back into another format. You may suffer some quality loss in this fashion, but in most cases it will not be significant enough to ruin the song (unless you are an audiophile with a trained ear). Apple could sneakily address this problem with a DRM'd lossless encoding of the file.
The suit is spurious, and should be dismissed. Maybe in 5 years he'll have grounds for it.
Sorry if some of us opt out and don't care about this incredible "issue." I'll play a few games, own a console, and in general be happier. How many FPSs can you buy before you get bored with the concept, anyways?
So, you'll refuse to help your mom with her computer because you disagree with the principle of her purchase? I can see it now...You: "Mom, can't you see you're giving in to the machine here? And they haven't even addressed gaming issues! How will you play Halflife 2? How can you live without Day of Defeat?"
Your Mom: "What?"
Besides, she might kick you out of the basement if you don't help out...
If my mom can handle the mac I passed on to her without help, your mom can handle a mac. She can't possibly be more clueless than my mom (who stopped using yahoo mail because it "has problems with international mail" and who still cannot differentiate between an email address and a URL).
Honestly, this is incredibly tiresome. Can't we all just agree that there are many segments to the computer market, and that Apple Computer, Inc. can cheerfully be profitable without trying to dominate every portion of the market this decade?
At least in the US, we have some kind of weird "honor"-related relationship with someone's physical abilities. We have a deep-seated feeling that it's "unfair" to dope up in order win physically. This might be because people believe that with enough excercise and hard work, anyone can be an Olympic Athelete.
:)
I think most people don't have the same kind of feelings about intelligence, because we regard it as an inborn thing. Either you're smart or you're not, and that's all there is too it, right?
I know that my intellect takes a lot of work to maintain. I'm quick, but my short-term memory isn't great and my logical abilitiy isn't much above average. I have to work very hard to keep my brain in a state where I can program computers, solve math in my head, remember things, and generally keep my nickname as "that smart guy." I may be predisposed to intelligence, but that doesn't mean that I can slack off.
In the US at least, I doubt we'd ever see "brain testing" because people don't regard intelligence as something you can build, unlike physical aptitude. People don't associate that weird puritanical "honor"-relationship with Matheletes.
The idea here is that sometimes, the company needs a person to go the extra mile in order to close some work out. The problem is, lots of engineers and developers are really cranky when it comes to this.
"Why should I go the extra mile for you when you cut into my paid benefits and won't give us free soda and coffee?"
So what companies do is offer a threshold system. Like at my company, if I work over 45 hours a week, I get an "adjusted" hourly rate (I'm salaried, but you can calculate it roughly compared to what they expect) for every hour past that, up to a maximum of 10 hours.
Honestly, unless I felt my entire project was threatened (and it has been, before) I wouldn't work overtime (and I have before). There is no reason for me to do it.
Even big companies are now realizing that "crunch" hours on engineer and speciality employees can actally do more harm than good. Some companies even remember that employee turnover is not a "good" thing.
As for the second issue, a stolen gun has been stolen. Someone has already committed one crime to get the gun, probably with the intent to use it in another. Again, it's a separate problem, but people love to say, "NN% of registered guns end up being used in violent crime." This gives a false impression. People with an agenda love the low-hanging-fruit of false impressions.
I agree there. Physician, heal thyself!Trumped up.
Tell me, how many of these crimes were both:
1) Purposeful and with intent
2) Commited with a registered firearm being wielded by its rightful owner.
Are these crimes rising in direct proportion to the rate of increased gun sales?
And we have counter examples. Australia, for example, did not experience a significant drop in crime rates after they enacted their new civilian firearms policies.
For instance, people like to talk about how many "children" are killed by guns per (insert unit of time here) in America. Of course, they count "children" as anyone 18 and under. A great way to increase the count, since certain intersections of economic and age demographics are wayyyyy more likely to be involved in violent crime anyways.
If you're going to fight with statistics, please don't play around. Provide the full story instead of a tiny out-of-context slice. Anything less is deliberate deception on your part.
Yeah, the statistics you're quoting are true.
Of course, you're Ballmer-esquely neglecting to mention that in areas where legal gun ownership is common, overall crime rates are vastly reduced. Gun crime rates fall proportionately.
Basically, there is some small percent of all crime where the perpetrator intends it to be violent no matter what. These cases are rare compared to most crimes, but when you lower the crime rate the noise comes out.
It's like saying, "Waving a blunt metal pole about make it far more likely for you to be struck by lightning." Sure, I guess it's true, but if you live in a place with infrequent thunderstorms it doesn't mean much.
Context, please.
You mention bringing someone "in" on a project late in the cycle. That's a surefire way to lose time. Bringing someone up to speed on a project can be time consuming. For someone already up to speed on the project, understanding a bug is much easier, and the faster they understand it the faster you can move to a solution.
Maybe when you paired, you paired with people unsuitable, or you initiated pair programming too late in the dev cycle?
I had to do a kind of emergency-coding-session with my boss, he had dawdled on a project and then management applied thumbscrews, so we decided to just crank it out in a week.
I started as copilot, and didn't like it very much, since I was the one who had come up with a new design for the program (when meteorologists make data file formats, parsing them in real time without delays can be an exercise in ingenuity). However, my boss was very good at driver and appreciated someone to keep him focused when he was diverted by code details.
On that day, we wrote about half the project, about 750 lines of code. It worked well once we got the rhythm down. Afterwords, we were both really tired. The intensity of the activity surprised us both. It is more work than just coding, and until you're used to it, you may feel like it's a lot of work.
My boss though, basically refused to play copilot and only checked in with me ever 15 minutes the next day,so I had to finish the project on my own (the other 600 lines of the project went quickly).
Still, when it worked, it worked well, and I can recommend it. But, it does take a conscious effort to let go of your ego and a lot of effort to listen careful.