Slashdot Mirror


Fun Stuff at OSCON 2005

OSCON 2005 was held in a convention center this year, instead of a hotel, because it just got too big (2000+ people). Too big, in fact, for pudge and myself to cover more than a fraction of the talks and the ideas flitting around the hallways. But here's some of what I found cool last week. And if you attended or presented at OSCON and want to tell us about all the neat stuff we missed, please, share your thoughts in the comments, or submit a fact-rich writeup and we'll maybe do a followup story later.

Mike Shaver's talk on writing Firefox extensions was packed to the walls. If you've been wanting to try it, Firefox 1.5 makes development easier, and should be out soon, so now's a good time. This talk and the tutorial on Ajax persuaded me to start using the DOM Inspector and debugging some JavaScript to get a better understanding of webpage manipulation.

Aaron Boodman's talk on his extension Greasemonkey was a walkthrough of writing a simple GM user script, a discussion of what's coming up, and some Q&A. Greasemonkey 0.5 ("Now With Security!") is in beta: there are multiple security changes that suggest someone really has sat down and thought the whole model through. GM works with Firefox, Seamonkey, Opera, and Windows MSIE (but not, oh please somebody correct this oversight, Safari).

Ruby on Rails is hot; if you want to develop a web app quickly you can't ignore it. It stresses "convention over configuration" with reasonable defaults. The tutorial went from installation to the "hello world" of the web, a blog (!), in a few hours. Anyone have a real-world example of Rails scaling to a large project and lots of traffic?

DarwinBuild is an open-source project from Apple that aids in building the open-source components of Darwin/Mac OS X. Given a build number of Mac OS X, it will fetch and build the software for that version, allowing you to modify the source as needed, making it easy for any developer to modify everything from the kernel to various utilities (just remember to reapply the modifications after running Software Update, if necessary). You can read more about it from, in addition to the web site, the presentation slides.

Google and O'Reilly gave out the 2005 open source awards, with $5000 attached to each. Congratulations to the winners.

Tony Baxter's Shtoom is a cross-platform VoIP client and software framework, written in Python, for writing your own phone applications.

Novell is still moving its employees from Windows to Linux, which we first heard at last year's OSCON. The migration from Microsoft Office to OpenOffice is complete, and the big step, from Windows to Linux, is 50% complete, projected to be 80% by November. Miguel de Icaza gave flashy demos of some Linux desktop applications that didn't impress this cynical observer very much.

PlaceSite is an open-source project looking to bring physical proximity awareness to Internet access at coffeeshops and other meetingplaces: think "local-only Friendster" and you're not far off. They got feedback from a monthlong trial earlier this year and are working on a new version that will be easy to deploy. Could be neat.

In a great 2-hour session on Wednesday, we got to hear from representatives of four leading open source databases about what they've been working on lately. Here are the summaries...

Ingres r3 has an impressive list of big features. Ingres was just open-sourced by Computer Associates this summer, and it's gotten a lot of attention for being a full-featured enterprise database. Ingres supports table partitioning that can be either range-based or hash-based, which can greatly improve performance in many cases. Its optimizer can now come up with parallel execution plans, which can be useful even on single-CPU machines and non-partitioned tables. There's also federated data storage (one can access data stored in another RDBMS through Ingres) and replication. And they're working on a concurrent access cluster, to allow data to be manipulated not just by multiple threads on one machine, but multiple machines.

A side note: Computer Associates was invited by O'Reilly to talk about its recently open-sourcing Ingres. Its representative, while confessing that introducing a new license was "probably the wrong thing to do," said that other licenses wouldn't have worked for them (the GPL "was seen as viral"). The one question that the audience had time to ask was "is Ingres a dump" -- is CA making it open-source to transfer the responsibility of support from the company to the community? The three-part "no" answer was that there are more CA developers working on Ingres now, that Ingres is at the core of their new releases, and that they've sponsored a "million-dollar challenge" to foster community interest. Time will tell I guess.

Firebird 2.0 has been in alpha since January and a beta is expected soon. Since 2000 much of their development has been aimed at making the product easy to install, and making the code easy for a distributed group of developers to work on. This year they're building features on that groundwork. Their design includes 2-phase commits (since the beginning), cooperative garbage collection (as a transaction encounters unneeded data, it removes it) and self-balancing indexes. Backup has been improved. When 2.0 gets to beta, I'm going to check this out, it sounds like very interesting technology (and apparently it will install with four clicks!).

MySQL 5.0 is in beta, and has been feature-frozen since April. Back in 4.1, its abstracted table-type has been put to advantage with odd engines like Archive (only insert, no update); Blackhole for fast replication; and an improvement to MyISAM for logging (allowing concurrent selects with inserts-at-table-end). Their Connector/MXJ lets you run a native MySQL server embedded inside a Java application. In 5.0 we're seeing stored procedures per the SQL:2003 standard, triggers, updatable views, XA (distribution transaction), SAP R/3 compatible server side cursors, fast precision math, a federated storage engine, a greedy optimizer for better handling of many-table joins, and an optional "strict mode" to turn some of MySQL's friendly nonstandard warnings into compliant errors. And they're working on partitioning, ODBC, and letting MySQL Cluster's non-indexed columns to be stored on disk.

PostgreSQL 8.1 is expected to be released in November or December, after a feature-freeze in July -- and it's an impressive list of new features. Their optimizer will make use of multiple indexes when appropriate, which is pretty darn exciting. The recommendation will be that in most cases it will be most efficient to have only single-column indexes and let the optimizer figure out which combination to use. They're implementing a 2-phase commit, they're bringing the automatic vacuum into the core code, and they removed a global shared buffer lock so they're now getting "almost linear" SMP performance scaling. I've never felt the need for Postgres, but I'm definitely going to look at 8.1.

153 comments

  1. What everybody missed: by Willeh · · Score: 1
    The first conference talk by a disembodied, floating head (NOT Evil Richard Nixon)! http://conferences.oreillynet.com/images/speakers/ jeff_waugh.jpgNext year, a performance by the Beastie Boys' Heads is scheduled, get your tickets now!

    He looks awfully cheery for having no body and a set of crap headphones, doesn't he?

    I know i'll get modded down for this, but ontopic: That Darwinbuild stuff looks pretty handy for say, upgrades in time without having to wait for Apple to stream then in via OS updates like they did with Server X.3.X. Also, i hope they next step is to allow X apps to run outside of the X11 environment, but at least semi natively. I don't really like the current solution of having to have 23489 apps running inside X11.app when you can inadvertently kill them all off with one errant Fruit+Q.

    --
    Will wank off Linus Torvalds for fame.
    1. Re:What everybody missed: by Anonymous Coward · · Score: 0

      Anyone have information about Jeff Waugh's talk? Slides?

    2. Re:What everybody missed: by Ahruman · · Score: 1

      More accurately, one ?-Q followed by confirming the alert asking if you really want to kill them all off...

  2. RoR large scale? by Komarosu · · Score: 3, Informative
    Anyone have a real-world example of Rails scaling to a large project and lots of traffic?

    While theres no sites i know off with massive traffic that run rails, theres a few large projects. TextDrive run StrongSpace which is basiclly online storage using SFTP and RoR. Also theres a few from the creators of RoR, BaseCamp, BackPack...

    --

    "What do you mean you have no ice? Do you expect me to drink this coffee hot?" - Random Customer, Clerks
    1. Re:RoR large scale? by ./ · · Score: 3, Informative
    2. Re:RoR large scale? by Tobias+Luetke · · Score: 1

      There are a lot of rails pages which get massive traffic. 43things.com / 43places.com and blogger founders new business odeo.com are build with ror. It scales very very easily ( same general principle as php / perl apps scale plus tools to make it even easier )

      There is no downside to using ruby on rails. Closest thing to a silver bullet since the web came out.

    3. Re:RoR large scale? by Decaff · · Score: 5, Insightful

      There is no downside to using ruby on rails. Closest thing to a silver bullet since the web came out.

      There are several significant downsides to using Ruby on Rails.

      Firstly, the way that ActiveRecord works by default - generating classes at run-time based on database tables - is considered by many (well, me at least!) to be a very backward step, as it makes code vunerable to changes in those tables, and also makes portability of code between different databases non-trivial. There are far better ways to do this - the Python ORM Dejavu (in in which the data model is expressed as classes) is an example. Almost all modern development languages work this way - with the exception of RoR!

      Secondly, Ruby is slow. There may be future JIT systems that help deal with this, but they are not there yet.

      Thirdly, Ruby is changing, and it is likely (from what I read) that the next version will not be fully compatible, so any major project developed now in Rails will have upgrading issues.

      So Ruby on Rails is very far from a silver bullet. It may a neat way to get small (in terms of code) websites up quickly.

    4. Re:RoR large scale? by DoctoRoR · · Score: 1
      http://www.odeo.com/ probably gets a fair amount of traffic with podcasting taking off. In addition to the 37signals and 43 Things sites, the new "Agile Web Development with Rails" book describes a mortgage processing engine (www.rapidreporting.com):
      Rapid Reporting is running their identity and income verification engine on top of a Rails system. It's used by roughly 80% of the top 1000 mortgage underwriters in the US and is built to handle 2 million mortgage application transactions per month.
    5. Re:RoR large scale? by SewersOfRivendell · · Score: 0, Flamebait

      Thanks for the FUD, Guido!

      -1, Troll. Please. There are people running real, large-scale web sites on Ruby-on-Rails. Tobias just named several.

    6. Re:RoR large scale? by Decaff · · Score: 4, Insightful

      Thanks for the FUD, Guido!

      -1, Troll. Please. There are people running real, large-scale web sites on Ruby-on-Rails. Tobias just named several.


      This has no relevance to whether or not Ruby on Rails is a fundamentally good design for long-term support and growth of any given software project. We all know that poor designs have been used in large projects!

      The issue of database-dependence is a real and important one, and should not be trivially dismissed as 'trolling'. The idea of working dynamically from database tables is great for getting things up and running fast, but is not great for long term use, as at some future date the database may need to be modified or shared with other applications. The changes that result may break existing Ruby on Rails applications. More mature ORM systems have a mapping layer that can help isolate code from such changes. By abandoning that layer as the default setup, Ruby on Rails loses (in my view) an important feature.

    7. Re:RoR large scale? by aziegler · · Score: 1

      There is no downside to using ruby on rails. Closest thing to a silver bullet since the web came out.

      There are several significant downsides to using Ruby on Rails.

      Firstly, the way that ActiveRecord works by default - generating classes at run-time based on database tables - is considered by many (well, me at least!) to be a very backward step, as it makes code vunerable to changes in those tables, and also makes portability of code between different databases non-trivial. There are far better ways to do this - the Python ORM Dejavu (in in which the data model is expressed as classes) is an example. Almost all modern development languages work this way - with the exception of RoR!

      Expressing the data model as classes can be done using Og (or Nitro+Og), and I believe that Og can be used as an alternative interface to Rails with just a bit of work. However, Rails does this (mostly) the right way, since your data is always more valuable than your application. Where this approach falls down is based on a couple of things:

      1. Rails uses MySQL as its “correct” database. MySQL is not and never has been good, just ubiquitous. There are some very broken concepts in ActiveRecord because of this assumption.
      2. Migration is difficult, as it is done externally to the application.

      People who don’t really know anything about data modelling and relational theory tend to prefer class->table interpretation. People who understand data modelling tend to prefer table->class interpretation. There’s room for both, but the preferred method—and the more portable method—is to treat the database as the authoritative model for the application, not the other way around. (Yes, reading the database model is more portable than creating the database from the application. Especially with a dynamic language like Ruby.)

      Secondly, Ruby is slow. There may be future JIT systems that help deal with this, but they are not there yet.

      This is a straw-man. Ruby most emphatically is not slow. It is also not the fastest performer. But for what RoR does, it is generally fast enough. If you’re using the MySQL adapter, you definitely want to make sure that you’re using the native adapter, not the pure Ruby adapter. I’m developing one of the more complex applications/libraries in Ruby (PDF::Writer) and while I won’t pretend that it’s a speed demon, it’s impressively fast for what it does do, complete with rollback for the layout handling. Ruby’s performance is more than adequate for most applications, especially most database-backed web applications.

      Thirdly, Ruby is changing, and it is likely (from what I read) that the next version will not be fully compatible, so any major project developed now in Rails will have upgrading issues.

      Probably not. I suspect that there will be 80% or more compatibility, based on the currently submitted RCRs that have positive response. I also expect that the RoR community will make sure that Rails runs well on whatever the current version of Ruby is. I believe that some work has been done to make sure that RoR works well on Ruby 1.9, which is the test bed environment for most of the syntax changes that will be coming with Ruby 2.0.

      So Ruby on Rails is very far from a silver bullet. It may a neat way to get small (in terms of code) websites up quickly.

      I agree with your first sentence. I disagree with your second, at least partially. RoR—and Ruby in general—makes a lot of code smaller and easier to maintain. Ruby isn’t the

      --
      Ni bhionn an rath achx mar a mbionn an smacht (There is no Luck without Discipline)
    8. Re:RoR large scale? by Decaff · · Score: 1

      People who dont really know anything about data modelling and relational theory tend to prefer class->table interpretation. People who understand data modelling tend to prefer table->class interpretation.

      I have to fundamentally disagree here. Even Oracle, who have a huge vested interest in relational theory, are putting a huge amount of work into class-> table interpretation with projects like TopLink.

        This is a straw-man. Ruby most emphatically is not slow.

      It emphatically is! Try benchmarking something like XML processing (which is an important part of many current website situations, such as SOAP and Axis). This does not matter in most situations, but there are occasional situations where performance matters. Denying this will not help Ruby.

      Rails, on the other hand, is probably appropriate for small-to-medium database-backed web applications.

      Quite the reverse. Only with a decent mapping layer can it be robust enough for medium or large-scale use.

      IT developers in general have know this for years, but a few Rails developers seem to think they know better!

      This response is probably more than your statements deserve, but FUD like yours tends to get rememberedand that is bad.

      Far worse is the combination of a 'silver bullet' attitude, and flat denial of established fact (Ruby speed issues) that entices developers into using technologies that prove potentially difficult to support for large projects.

    9. Re:RoR large scale? by uedauhes · · Score: 1

      There is a mapping layer. Maybe you should learn about something before you post about it.

      set_table_name :whatever_the_fuck_i_want :has_many(:ppl_who_talk_out_their_ass, :table_name => :whatever_the_fuck_i_want)

    10. Re:RoR large scale? by SewersOfRivendell · · Score: 1

      The issue of database-dependence is a real and important one, and should not be trivially dismissed as 'trolling'.

      That part of your post wasn't FUD, it's opinion/hypothesis. But you followed it with troll FUD:

      Secondly, Ruby is slow. There may be future JIT systems that help deal with this, but they are not there yet.

      Thirdly, Ruby is changing, and it is likely (from what I read) that the next version will not be fully compatible, so any major project developed now in Rails will have upgrading issues.

    11. Re:RoR large scale? by yoris · · Score: 1

      Just out of curiosity, are there any systems designed the other way around? I would think that making an OO design for the entire app, then letting a tool extract the structure for the database tables out of the classes would be a more logical approach then extracting the OO design out of the database tables?

    12. Re:RoR large scale? by Decaff · · Score: 1

      There is a mapping layer. Maybe you should learn about something before you post about it.

      set_table_name :whatever_the_fuck_i_want :has_many(:ppl_who_talk_out_their_ass, :table_name => :whatever_the_fuck_i_want)


      That merely maps table names. A mapping layer defines how columns relate to instance variable names within classes, and allow the possibility of some columns being ignored.

      This is very important if there are subsequent changes to a table - some user may add additional columns and data to a table; data which is irrelevant to your application.

      Mapping involves the possibility of translation. In Rails there is no translation - column names are used directly in the dynamic construction of classes - at least not in the default use of ActiveRecord.

    13. Re:RoR large scale? by uedauhes · · Score: 1

      Ah this is in fact true ... but probably not too hard to change if you need to for the unlikely case that this is required.

    14. Re:RoR large scale? by Decaff · · Score: 1

      That part of your post wasn't FUD, it's opinion/hypothesis. But you followed it with troll FUD:

      OK, let's deal with these issues you consider FUD.

      "Secondly, Ruby is slow. There may be future JIT systems that help deal with this, but they are not there yet."

      This is not FUD, it is simple fact. Ruby is certainly fast enough for very many uses, but it is still an interpreted language. If there were not speed issues, there would be no JIT project. As for the 'not there yet' - there are no such projects that I know of that are out of beta.

      Thirdly, Ruby is changing, and it is likely (from what I read) that the next version will not be fully compatible, so any major project developed now in Rails will have upgrading issues.

      Again, this is plain fact. The inventor of Ruby has stated this (the incompatibility) himself! Perhaps you should accuse him of FUD!

    15. Re:RoR large scale? by Decaff · · Score: 1

      Ah this is in fact true ... but probably not too hard to change if you need to for the unlikely case that this is required.

      I would prefer this kind of thing to be available easily in the default setup.

      I consider column-based mapping to be very useful as a form of protection for my code - it means my application can easily check for someone having done something silly to the schema.

      It also means that I could potentially transfer the database between different types (MySQL -> PostgreSQL or Oracle) without having to worry about any required changes in column names (and therefore generated Ruby instance variables).

      With a column-based mapping - either in a file or in Ruby code - I can deal with these issues in a single place in an application.

    16. Re:RoR large scale? by Decaff · · Score: 1

      Just out of curiosity, are there any systems designed the other way around? I would think that making an OO design for the entire app, then letting a tool extract the structure for the database tables out of the classes would be a more logical approach then extracting the OO design out of the database tables?

      Yes. This approach is often used. For example, there is a Java API for storing objects called JDO. All the major vendors who provide JDO tools (both commercial and open source) allow the generation of database tables from objects. This is not necessarily a one-shot process - many of these tools will even migrate the structure of a live database to reflect changed object structures and relationships.

    17. Re:RoR large scale? by aziegler · · Score: 1

      People who don't really know anything about data modelling and relational theory tend to prefer class-> table interpretation. People who understand data modelling tend to prefer table-> class interpretation.

      I have to fundamentally disagree here. Even Oracle, who have a huge vested interest in relational theory, are putting a huge amount of work into class->table interpretation with projects like TopLink.

      Only because of people who don't know better--which appears to include you. Class models are inherently tied to a single application or a small class of applications. Database models are far more flexible *and should be*. Any monkey can design a class model that can be used in a single application. It takes someone with real skill to design a reusable database that can be used in ways that aren't expected.

      Businesses would much rather keep their data than their programs. Good thing, too. It's the data that makes the business run, not the programs. (I've known a lot of people who manage to make things work well with Excel spreadsheets, clearly indicating that it's the data that's more important.)

      I've worked on enough large systems to know this. I've also seen a series of incompetent idiots try to redesign one system from the class model first -- and then wondering why the application was 90% slower than the one I worked on which designed the database first and then modeled the classes after the database tables.

      This is a straw-man. Ruby most emphatically is not slow.

      It emphatically is! Try benchmarking something like XML processing (which is an important part of many current website situations, such as SOAP and Axis). This does not matter in most situations, but there are occasional situations where performance matters. Denying this will not help Ruby.

      Ruby is most emphatically not slow. Simply calling Ruby slow doesn't make it so. Running benchmarks means squat. Ruby's XML performance varies depending on the library you're using. If you're using REXML, then *of course* it's going to be a bit (or much) slower than if you're using the available interface to libxml2. IIRC, there's several similar problems in Python.

      There are definitely things that can be done to improve the performance of Ruby, and many of these things will be done. Of that, I have no doubt. But having used Ruby for the last three years, Ruby is (more often than not) fast enough to do what I need, and doesn't bring the pain that is involved in writing in a compiled language or Perl or Python.

      Again, I'm not denying that Ruby's performance can be improved. If you read that out of what I've said, you're clearly trolling and FUDding. But I also know that the development velocity I have with Ruby is much higher than that which I have with any other language, just as Perl was faster for me before I discovered Ruby.

      Rails, on the other hand, is probably appropriate for small-to-medium database-backed web applications.

      Quite the reverse. Only with a decent mapping layer can it be robust enough for medium or large-scale use.

      It has a robust mapping layer, or weren't you reading? (I suspect the latter.) It also doesn't make you create your databases from scratch (but it means a bit more code configuration to make that happen), which is what class->table systems require by and large. Rails is appropriate for small-to-medium database-backed web applications. I wouldn't call the number of hits received by 43places or 43things insignificant. Neither would you, if you actually bothered to read what the developers of these applications -- who are accomplished developers who have used many other frameworks and environments in the past -- have had to say themselves.

      IT developers in

      --
      Ni bhionn an rath achx mar a mbionn an smacht (There is no Luck without Discipline)
    18. Re:RoR large scale? by uedauhes · · Score: 1

      I actually brought that up to some of the ppl that hang out in freenode => #rubyonrails. Didn't seem to be a priority, but you can always add it and submit it to the project as it is open source.

    19. Re:RoR large scale? by ezmobius · · Score: 1

      If someone adds columns to your table a normal rails app will happily continue to work and ignore those extra columns until you deem it necessary to add them to your system.

    20. Re:RoR large scale? by aziegler · · Score: 1

      FWIW, if you're following SQL conventions, you shouldn't need to rename your columns. If you're using MySQL as a convention, you'll need to rename your columns. Good practice leads to good portability. MySQL leads to poor portability.

      --
      Ni bhionn an rath achx mar a mbionn an smacht (There is no Luck without Discipline)
    21. Re:RoR large scale? by Decaff · · Score: 1

      Only because of people who don't know better--which appears to include you.

      I prefer to assume that Oracle know what they are doing. I have been using both object-based and relational approaches for decades. Use of one does not preclude the use of the other. They can work well together.

      Class models are inherently tied to a single application or a small class of applications. Database models are far more flexible *and should be*. Any monkey can design a class model that can be used in a single application. It takes someone with real skill to design a reusable database that can be used in ways that aren't expected.

      You are assuming that having a class-based approach prevents also having a reusable and rich relational model.

      It doesn't.

      What it allows is use of one aspect of a relational model in terms of classes.

      Quality IT developers haven't been sold on the idea that Bigger Is Better, as has happened with IT management with Java and .NET.

      Java is moving in the opposite direction. J2EE is being slimmed down considerably, with new APIs such as EJB version 3.0 making interaction with relational systems very neat.

      Ruby is most emphatically not slow. Simply calling Ruby slow doesn't make it so. Running benchmarks means squat.

      Running benchmarks shows how fast things can be.
      Simply repeating 'Ruby is not slow' does not make this statement true. If there were not speed issues, there would be no pressure for JIT development.

      Ruby "speed issues" are not, in fact, "established fact."

      Oh come on. It is an interpreted language. At some point on any complex application or website there is a situation where processing power is needed.

      I have heard this same argument over and over again for years from supporters of different languages. Smalltalk; Java in it's early years. The speed issue was 'hand-waved' away. In my experience, speed always eventually becomes an issue when projects grow. Even the best and most elegant of languages can be abandoned, forcing a rewrite, because of this problem. I have seen this happen again and again.

      It has a robust mapping layer, or weren't you reading?

      Of course it isn't robust! Even minor changes to schema structure can break code in unpredictable ways.

      It also doesn't make you create your databases from scratch

      Who says that an object-based approach does?

      I wouldn't call the number of hits received by 43places or 43things insignificant.

      Number of hits is no indication of the robustness of an approach to change or the ability of code to be supported long term.

      Businesses would much rather keep their data than their programs. Good thing, too. It's the data that makes the business run, not the programs.

      I fundamentally disagree. Data alone can be meaningless without code that expresses the relationship between data items and expressed the business logic required to manage it.

      (I've known a lot of people who manage to make things work well with Excel spreadsheets, clearly indicating that it's the data that's more important.)

      Perhaps in that situation. In others there are issues of bulk processing, and large transaction handling that require serious code, and not spreadsheets.

    22. Re:RoR large scale? by aziegler · · Score: 1

      You may fundamentally disagree that data is king in business. The fact that businesses survived for centuries without computers indicates that your fundament is disagreeing with reality. It is mostly when data has been lost without any way of reconstructing the processes surrounding the data that companies have run into trouble.

      If you give me data in a usable form, I can *always* build or rebuild processes and code around that. If you give me code, it will take me far longer to build the data. Your fundament happens to be wrong here. If it's wrong on that, it has a good chance of being wrong elsewhere.

      Note that YARV/Rite isn't about JIT for Ruby. If you actually paid attention to Ruby development, instead of spreading FUD and untruths, you might actually know that.

      The speed issue is important in Ruby. But don't tell me that Ruby is slow -- I've got experience that indicates otherwise. I won't be programming 3D engines in it any time soon, and I might not want to manipulate a terabyte of data in it, but for many applications, it is more than sufficient. If it takes me an hour to write a Ruby script and three hours to run it, as opposed to five hours to write the same logic in a different language and an hour to run it, I'm still ahead with Ruby.

      This isn't a matter of hand-waving. It's a matter of knowing when it's appropriate to apply which performance measures, which your moronic statement "Ruby is slow" can't even approach.

      Your fundament is wrong.

      --
      Ni bhionn an rath achx mar a mbionn an smacht (There is no Luck without Discipline)
    23. Re:RoR large scale? by Anonymous Coward · · Score: 0
      "...If it takes me an hour to write a Ruby script and three hours to run it, as opposed to five hours to write the same logic in a different language and an hour to run it, I'm still ahead with Ruby.

      Now run that same code every day for a year..how do you come out then? This is the Rails developer's blindspot. "I can be up and running in 10 minutes!!! (But it takes 3x as long to do actual business processing type work.)"

      You know what, some people *DO* need a language to handle terabytes and terabytes of data every day. Saying Ruby is sufficient for many applications doesn't do me any good when I'm one of the guys who needs something fast. In that world, Ruby is slow.

    24. Re:RoR large scale? by rycamor · · Score: 1

      The idea of working dynamically from database tables is great for getting things up and running fast, but is not great for long term use, as at some future date the database may need to be modified or shared with other applications.

      And some of us think this has it exactly backwards. The biggest problem for most modern applications is that they canNOT react to changes in the database design without explicitly changing code, often in multiple places. Your approach also doesn't take into account the utility of a relational approach to these things, in which changes in base tables in do not necessarily predicate a change in the application layer. We have these wonderful things called views and view updating via triggers or rules. For more sophisticated automated interaction, you can even write set-returning functions or procedures that transparently return data as if they are tables.

      Not that I am saying RoR is the ultimate solution, but the idea of an application that can react to database changes is actually a pretty good one, especially when the database is designed properly. This approach actually allows for greater decoupling between the application and the database, allowing more business logic to be handled where it belongs: in the database.

    25. Re:RoR large scale? by Decaff · · Score: 1

      Your approach also doesn't take into account the utility of a relational approach to these things, in which changes in base tables in do not necessarily predicate a change in the application layer. We have these wonderful things called views and view updating via triggers or rules. For more sophisticated automated interaction, you can even write set-returning functions or procedures that transparently return data as if they are tables.

      There is absolutely no conflict between an application having an object model of the data and a relational database having good relational integrity, views etc. The two ways of working can be combined, and good modern ORM tools allow this to be done easily and efficiently.

      Not that I am saying RoR is the ultimate solution, but the idea of an application that can react to database changes is actually a pretty good one, especially when the database is designed properly.

      The problem with RoR is that it can react very poorly to database changes. Because there is no column mapping column names are scattered throughout the code - even into web pages.

      This approach actually allows for greater decoupling between the application and the database, allowing more business logic to be handled where it belongs: in the database.

      Not all business logic needs to be, or should be, in the database. This is a very old-fashioned view. Increasingly data (or subsets of it) are being decentralised and distributed - sometimes into smaller databases, sometimes as files which are snapshots of data, sometimes as web services. The relational database has a key role, but it is not where everything is done.

    26. Re:RoR large scale? by Decaff · · Score: 1

      You may fundamentally disagree that data is king in business.

      where did I say that?

      The fact that businesses survived for centuries without computers indicates that your fundament is disagreeing with reality.

      Not at all. For those centuries business have combined information with business processes to handle it. Both are essential.

      It is mostly when data has been lost without any way of reconstructing the processes surrounding the data that companies have run into trouble.

      I agree.

      If you give me data in a usable form, I can *always* build or rebuild processes and code around that.

      No you can't. Not if you don't have an understanding of the business processes that have generated, and that handle, the data.

      If you give me code, it will take me far longer to build the data.

      No, you couldn't even being to generate the data from just code.

      Your fundament happens to be wrong here. If it's wrong on that, it has a good chance of being wrong elsewhere.

      You seem to have set up a straw-man argument that either code or data matters. Of course, both matter!

      Note that YARV/Rite isn't about JIT for Ruby. If you actually paid attention to Ruby development, instead of spreading FUD and untruths, you might actually know that.

      Where did I say it was just about Ruby?

      I am NOT spreading FUD! I am a huge supporter of script-based development. But people have to get real. I fully agree that Ruby is fast enough for most purposes, but there are situations when it isn't, and this can be a problem.

      I won't be programming 3D engines in it any time soon

      Co-incidentally, I am working on a website that DOES require a 3D engine! (it is an interactive walkthrough of buildings). So there is a real life example of how Ruby (and Python, and PERL etc) would fail.

      This isn't a matter of hand-waving. It's a matter of knowing when it's appropriate to apply which performance measures, which your moronic statement "Ruby is slow" can't even approach.

      It is not moronic when there are real examples of when this statement applies. I gave you one above. I'll give you another: a website application which involves solving complex formulae to get optimal pricing information for products. (I have had a real website collapse under the computation load for things like this).

      I prefer to use languages which are productive and when I don't have to put in a lot of work to get performance (or even resort to C coding). The time taken to do this tuning can counteract much of the time saved in using a concise language like Ruby.

    27. Re:RoR large scale? by Decaff · · Score: 1

      If someone adds columns to your table a normal rails app will happily continue to work and ignore those extra columns until you deem it necessary to add them to your system.

      No it won't. Unless I am seriously misunderstanding things (which is a possibility), ActiveRecord will automatically add those columns to classes which inherit from ActiveRecord::Base when they are constructed.

    28. Re:RoR large scale? by aziegler · · Score: 1

      You're not misunderstanding. ActiveRecord will automatically add those columns. However, unless your application *uses* them, your Rails app will ignore their existence.

      --
      Ni bhionn an rath achx mar a mbionn an smacht (There is no Luck without Discipline)
    29. Re:RoR large scale? by Decaff · · Score: 1

      You're not misunderstanding. ActiveRecord will automatically add those columns. However, unless your application *uses* them, your Rails app will ignore their existence.

      Again, correct me if I am wrong, but I don't believe this is competely true. By default ActiveRecord uses a 'SELECT *' when fetching records. This will fetch ALL columns into memory. They may not be actually used by Ruby code, but they are still there. This can result in major memory issues, particularly in commonly used databases which don't page in groups of records but load them all at once. For example, if a BLOB or LONG field is added to a table and populated. Other ORM systems have a facility often called 'fetch groups', in which a mapping can express that only selected columns are loaded by default, and the others are loaded on demand.

      This is one of my dislikes of the RoR approach - minimal configuration may seem like a good idea, but most of the things that that RoR seems to consider tedious and fiddly (config files and detailed mappings) have been introduced into other ORMs because of many years of experience of what is necessary to give scalability, robustness and performance on anything but the smallest systems.

    30. Re:RoR large scale? by rycamor · · Score: 1

      There is absolutely no conflict between an application having an object model of the data and a relational database having good relational integrity, views etc.

      Non sequitur; I never said there was. What I said was that having an application layer that reacts to changes in the database doesn't *necessarily* mean that every change to a base table need be reflected in a change in the application layer.

      As for ORM, I am not a fan of it, but that is because of the coupling thing I mentioned. I prefer an orthogonal relationship between application and data model, rather than maintaining a congruity between classes and tables. Of course the tools you mention alleviate a lot of the drudgery of tracking changes, but the duplication of logic still occurs.

      The problem with RoR is that it can react very poorly to database changes. Because there is no column mapping column names are scattered throughout the code - even into web pages.

      That wouldn't surprise me at all. Note that I'm not defending RoR, and have no experience with it beyond just reading the presentation on the website.

      However, again with the database design issue: why is it a bad idea for column names to be visible? If they are named meaningfully, and reflect the business logic, then what's the problem? Also, again I prefer a logical separation of base tables from the application via views and procedures, so that I can rename the "visible" columns at will. To me, the ultimate in application flexibility and robustness is to be able to refine or change business logic simply by changing the database design. Now it's true that there are very few (if any) application frameworks sophisticated enough to really do this, but isn't that something worth working toward?

      Not all business logic needs to be, or should be, in the database. This is a very old-fashioned view. Increasingly data (or subsets of it) are being decentralised and distributed - sometimes into smaller databases, sometimes as files which are snapshots of data, sometimes as web services. The relational database has a key role, but it is not where everything is done.

      My view being old-fashioned does not discredit it. Logic and mathematics themselves are old-fashioned, having very few real advances in the past millenium. Simply describing current practice is not an argument. I am having this discussion because I disagree with current practice.

      Of course, I know that an application's *data* can be maintained in multiple places, but I argue that the core logic should be in one place (federated database systems are a good example). Yes, it is possible for the application layer or even multiple application layers to maintain the logic, and just use the database as a mere repository. Fine, do that, but in the end any truly sophisticated system of that nature will end up re-implementing many (or even most) of the things already being done by a proper DBMS. Where's the gain? Especially when these reimplementations are usually "ad hoc informally-specified bug-ridden" ones.

    31. Re:RoR large scale? by Decaff · · Score: 1

      My view being old-fashioned does not discredit it.

      True. I regret this comment, and apologise.

      Of course, I know that an application's *data* can be maintained in multiple places, but I argue that the core logic should be in one place (federated database systems are a good example). Yes, it is possible for the application layer or even multiple application layers to maintain the logic, and just use the database as a mere repository. Fine, do that, but in the end any truly sophisticated system of that nature will end up re-implementing many (or even most) of the things already being done by a proper DBMS. Where's the gain?

      Performance.

      Having logic in the database does not seem to be practical for high-load systems. High-volume websites almost always move this logic close to the user interface and work with cached data where possible, only passing things through to the database where required (such as at the end of transactions).

      There is little duplication or re-implementation - logic is simply placed at the appropriate point in the various layers of processing to optimise scalability and performance. Where some things are indeed re-implemented (such as transaction handling) this is usually done by widely-used and robust products (a good Java example is Tangosol Coherence clustered cache), which are neither informal or bug-ridden. Java standards like J2EE describe how such products can cleanly integrate with the application stack. APIs such as JTA provide a unified mechanism for handling transactions that goes all the way from the website code to the database.

    32. Re:RoR large scale? by rycamor · · Score: 1

      Having logic in the database does not seem to be practical for high-load systems.

      First of all, based on what research? There are incredibly large systems based on keeping business logic in the database. Just last week at OSCON I met several people who are running primary systems on PostgreSQL, some inserting several GB a day of new data. That seems pretty high-load to me.

      What magic is there that means re-implementing constraints in Java would be somehow faster than the implementation of most serious DBMSs, which are written in C and usually have many more years of research and stability behind them? Remember the TANSTAAFL factor. Yes, you can create huge server farms in Java, but you can create server farms with databases. Replication, clustering, tablespaces, physical partitioning all allow for this sort of thing.

      Cached data is another red herring:

      1. Caching is not business logic. It is merely a common-sense application-level thing to do.

      2. Who says you can't cache data with a DBMS? Most busy read-intensive databases automatically cache the frequently-hit data, so the reads rarely hit the disk. Writes should never be buffer-cached in a mission-critical system if you really want data integrity.

      3. On the DBMS side, there are all sorts of performance tweaks you can do in addition to automated caching, such as temporary tables, cursors, prepared queries, etc...

      There is little duplication or re-implementation - logic is simply placed at the appropriate point in the various layers of processing to optimise scalability and performance.

      Thus the greatly increased possibility that the system will be compromised, because a change in logic here might not be dealt with over there.

      Anyway, if performance is your only reason for not keeping logic centralized then wouldn't you agree that that is either a result of bad implementation on the database side (I mean in the storage implementation of the DBMS itself), or a sacrifice of integrity on the application side? Of course, all of this is a judgement call, and people make compromises all the time in these areas, but at least understand the chances you are taking.

    33. Re:RoR large scale? by Decaff · · Score: 1

      "Having logic in the database does not seem to be practical for high-load systems."

      First of all, based on what research?


      Real websites.

      There are incredibly large systems based on keeping business logic in the database. Just last week at OSCON I met several people who are running primary systems on PostgreSQL, some inserting several GB a day of new data. That seems pretty high-load to me.

      That is not high load! I am talking about sites that have have thousands or tens of thousands of concurrent users, all requiring access to data which can be altered. Sites like E-Bay, or stock markets use Java, cacheing and ORM to minimise contacts with the database wherever possible.

      What magic is there that means re-implementing constraints in Java would be somehow faster than the implementation of most serious DBMSs, which are written in C and usually have many more years of research and stability behind them?

      The magic is transparency. It allows business logic and data structures to be set up and used without having to embed the logic of caching, constraints and transactions.

      Considering the very widespread use of Java and J2EE for this purpose in almost all aspects of finance and commerce, there are no doubts as to its stability.

      Thus the greatly increased possibility that the system will be compromised, because a change in logic here might not be dealt with over there.

      Not at all. There are very well-established and widely uses systems like JTA (Java Transaction API) that work with J2EE application servers like WebSphere. These co-ordinate transactions transparently all the way from the web page code down to database access. There is no risk of compromise.

      Anyway, if performance is your only reason for not keeping logic centralized then wouldn't you agree that that is either a result of bad implementation on the database side (I mean in the storage implementation of the DBMS itself), or a sacrifice of integrity on the application side?

      No. Databases have their function, which is to maintain relational data. They are not suited to general OOP coding which is now the norm for most commercial development. Also, relational systems were never designed for performance! Some of the very highest performance data stores (such the data collection systems at CERN, which deal with Petabytes of information) use Object Databases, as relation systems could not hope with the data rates. APIs like J2EE integrate the OOP work with the database, and guarantee integrity.

      3. On the DBMS side, there are all sorts of performance tweaks you can do in addition to automated caching, such as temporary tables, cursors, prepared queries, etc...

      Yes, but there are easier and more elegant ways that fit more naturally and transparently with modern OOP development techniques. Java systems handle much of the transactions and caching with little or no additional effort or coding from the developer. There is simply no need for the database-level tuning in many cases.

  3. Desktop didn't impress cynical observer by jurt1235 · · Score: 3, Interesting

    I think that is good. Desktops are supposed to be boring (at least for business). To much eyecandy or things to be impressed about (3D flipping transparent rotating windows, everything animated, multimedia under every mouseclick) has nothing to do with productivity or doing business anymore. I think that Novell realises this much that they now that they can run their business on desktop linux (and they do), and that is does not really has to impress anybody. If somebody wants to save on licences and maintenance the next migration, just look over here is the message from Novell.

    --

    My wife's sketchblog Blob[p]: Gastrono-me
    1. Re:Desktop didn't impress cynical observer by Otter · · Score: 1
      I think that Novell realises this much that they now that they can run their business on desktop linux (and they do), and that is does not really has to impress anybody.

      I'm probably missing something, but how does that follow from Novell's demo of flashy new desktop technology that doesn't impress cynics?

    2. Re:Desktop didn't impress cynical observer by jurt1235 · · Score: 1

      The "I think" is the clue (-|, as in speculating.

      --

      My wife's sketchblog Blob[p]: Gastrono-me
  4. MySQL w/ XA by coflow · · Score: 3, Informative

    MySql getting XA is huge. In the retail world, a lot of companies are switching to J2EE-based POS applications. This requires a database in each store. The problem is that the J2EE servers need an XA-enabled database so that the JMS reads/writes can occur within the same transaction as the data being generated. This has historically ruled MySQL out, which would otherwise be the natural choice. I'm glad to hear XA will be supported in the next release as this opens up MySQL to a whole new audience.

    1. Re:MySQL w/ XA by Tony+Hoyle · · Score: 2, Insightful

      MySQL is more expensive than SQL Server or Oracle once you start working on large systems though (MySql is $300 per client.. on a web farm you could easily be expecting 1000 clients simultaneously. SQLServer and Oracle are much cheaper at these volumes.).

      They had a nice niche with the small developer, where they worked out cheaper (maybe 1 or 2 clients in-house) plus they had the hobbyist/GPL market of course but going for the bigger market is going to backfire on them unless they change their pricing structure.

    2. Re:MySQL w/ XA by coflow · · Score: 1

      I'm not sure I understand what you mean by client. The client in the case I'm discussing is a JDBC driver, which is available for free. Are you referring to a GUI client?

    3. Re:MySQL w/ XA by JohanV · · Score: 3, Insightful

      I have to disagree with MySQL being the natural choice. With both MySQL and the drivers being GPL a vendor of POS applications would either have to GPL his POS application, or pay for a commercial license for each sold unit. Neither appear to be particularly attractive.

      XA support has been committed into the upcomming PostgreSQL release and is already supported by Firebird. Considering their licensing, both are better choices.

    4. Re:MySQL w/ XA by jamie · · Score: 1

      I think the comment from the MySQL rep was something like "we're working on it, those of you who know what it is will be very excited, the rest of you won't care..."

    5. Re:MySQL w/ XA by krow · · Score: 2, Informative

      The code is committed and has been for several months :)

      We provide XA both via SQL and the JDBC driver currently.

      --
      You can't grep a dead tree.
    6. Re:MySQL w/ XA by krow · · Score: 3, Informative

      We, MySQL AB, license by host, not client. I am not sure where you got your information but it is incorrect. Can you tell me where you got your information? I would like to make sure we correct whatever the source of it was.

      Thanks!

      --
      You can't grep a dead tree.
    7. Re:MySQL w/ XA by pixel-fodder · · Score: 1

      On the subject of using MySQL with J2EE, Sun recently submitted some SPECjAppServer2004 benchmarks using MySQL and Sun Java system App Server 8.1. http://www.theserverside.com/news/thread.tss?threa d_id=35375 Before anyone starts criticizing benchmarks - the submissions demonstrate a couple of things : 1. You can get some great performance with FREE 2. MySQL has past the strict J2EE Compatability Test Suite - demonstrating that it is more than capable of supporting J2EE (wrt. portability) 3. That MySQL has it's place, as does Oracle - in terms of price / performance / features - though I think the feature argument gets less important with every release. Rich Sharples Sun Microsystems http://blogs.sun.com/roller/page/sharps/

  5. Ruby On Rails by rsturbonutter · · Score: 3, Informative

    Been playing around with it for a while now, there's a fair few sites using it

    • Strongspace a secure online file storage/sharing area
    • BackpackIT a personal and small business information manager
    • Basecamp a project and task management site

    Plus the (small) site I'm working on for a friend Slap My Belly

    1. Re:Ruby on Rails by thatedeguy · · Score: 1

      and isn't there supposed to be a PHP framenet coming out soon? Seems easier to use existing technology than new stuff, unless I misunderstand the RoR tech.

    2. Re:Ruby on Rails by Anonymous Coward · · Score: 3, Informative

      I recently switched a project from J2EE to RoR (with a Postgres 8 back end). Rails lives up to a lot of the hype!

      It takes a little work to get from some of the simplistic tutorials on the web to larger-scale apps, especially if you are working with an existing database schema as I was. However, I've found that RoR really offers huge productivity gains.

      Compared to the J2EE project I was working on, where I was evaluating persistence frameworks, J2EE vs. Spring IoC for the business logic, presentation/templating frameworks, etc., RoR is a one-stop framework. For the most part, everything you need is just there, and it already works together beautifully.

      IMHO, one of the real strengths of Rails is Ruby itself. Compared to Java, the syntax is simple, clean, more pure OO, and a heck of a lot of fun to write. It embodies some ofthe best parts of a lot of languages I've used in the past such as Smalltalk , LISP, etc.

      Here are some links to help get you started:

      Curt Hibbs "Rolling with Ruby on Rails":
      http://www.onlamp.com/pub/a/onlamp/2005/01/20/rail s.html

      Four Days on Rails:
      http://rails.homelinux.org/

      why's (poignant) guide to Ruby (this one is reason enough to learn ruby...Chunky Bacon - need I say more?)
      http://www.poignantguide.net/ruby/

    3. Re:Ruby on Rails by RegularFry · · Score: 1

      It takes less time to learn the new way, then do it the new way, than to just do it the old way. I know, I've just done both...

      --
      Reality is the ultimate Rorschach.
    4. Re:Ruby on Rails by thatedeguy · · Score: 1

      How is RoR then?
      I've heard that Ruby is a bit of a complicated language to learn, but have thought about looking into it a little.

    5. Re:Ruby on Rails by leoboiko · · Score: 1

      First, Rails is in Ruby. If you never used Ruby, you may think it's not a big deal. If you did, you're probably interested in Rails now, because you love Ruby.

      But even if you don't care about Ruby, Rails is amazing because... well, instead of bogging you down with boring hype, I'll point to the videos on the official page (they're much cooler hype). Seriously, watch them.

      --
      Prescriptive grammar:linguistics :: alchemy:chemistry. Stop being a nazi and learn some science.
    6. Re:Ruby On Rails by brickballs · · Score: 1


      I'v seen that layout before, oswd.org if I remember right.

      Thought about using it for something of my own, but I never got around to it

      --
      "What does slashdotting mean?"
      "You've never heard of slashdot?"
      "I know it makes websites not work."
    7. Re:Ruby on Rails by ramannoodle · · Score: 1

      There is a PHP Framework out called Fusebox. It's based on the ColdFusion MVC-based framework.

    8. Re:Ruby on Rails by Anonymous Coward · · Score: 1, Informative

      Most of my undergraduate training was in Java, with a smattering of C++, and marginal exposure to C, Fortran, Lisp, and PHP. I had to pick up Ruby for my new job ... it has been by far the easiest language to learn out of any of them (of course, it wouldn't have been so easy without that training). Very pure OO. Full closures. Ruby feels very natural ... I can program like I think. It is also very easy to read. I highly recommend checking it out.

    9. Re:Ruby on Rails by JLyle · · Score: 2, Insightful
      I've heard that Ruby is a bit of a complicated language to learn, but have thought about looking into it a little.
      People will say a lot about Ruby's strengths and weaknesses, but I don't think I've ever heard someone claim that it's a complicated language to learn. On the contrary, most experienced programmers seem to pick up the basics of Ruby in a matter of hours.
  6. my brother attended and blogged it by John+Harrison · · Score: 3, Informative

    His blog is at http://panela.blog-city.com/. He thought it was a great conference.

  7. Ruby on Rails by mauriatm · · Score: 2, Interesting

    From the main site: "Rails is a full-stack, open-source web framework in Ruby for writing real-world applications with joy and less code than most frameworks spend doing XML sit-ups". ... Curious: so how does this compete with other web frameworks in use (LAMP, J2EE, .Net, etc)? Pros, Cons? Any users/developers here?

  8. Oh! by Lord+Marlborough · · Score: 1, Offtopic

    "...maybe do a followup story later. " Ahh! So when things are reposted several times, they're actually followup stories. Sorry to be so critical, Taco.

  9. I was there... by aallan · · Score: 4, Informative

    ...and blogged the conference, some of the more interesting bits below,

    Amazing conference, if you weren't there, you should have been...

    Al.
    --
    The Daily ACK - Eclectic posts by yet another hacker
  10. What Everyone Missed by Anonymous Coward · · Score: 0, Interesting

    1. Drunken Geeks
    2. Hookers
    3. Drunken Hookers
    4. Someone puked on a Trane AC unit
    5. Volleyball with a Rubber-banded Jewelbox of Windows NT CDs.
    6. Soy-based Donuts (an abomination)
    7. "Schwag" T-Shirts
    8. Someone brought a PINK alienware laptop and was parading it around (what's up with that?)
    9. Endless 'Sith' debates, sometimes ending via Trial by Combat.
    10. Old School Flower hippies don't intermingle well with Newage Code hippies.

    Code? What code?

  11. Oh great, Micro$oft with a dollar sign by Anonymous Coward · · Score: 1, Funny

    I'm clearly up against an opponent of superior wit, and therefore I submit to you.

    1. Re:Oh great, Micro$oft with a dollar sign by Anonymous Coward · · Score: 0

      Normally I would assume that phrase is meant sarcastically , though after reading your original comment I would take it as a statement of fact.

    2. Re:Oh great, Micro$oft with a dollar sign by Anonymous Coward · · Score: 0

      I'm clearly up against an opponent of superior wit, and therefore I submit to you.

      So says the VB "programmer".

  12. CA doesn't get it re: GPL and "viral" by FunWithHeadlines · · Score: 2, Interesting
    "Computer Associates was invited by O'Reilly to talk about its recently open-sourcing Ingres. Its representative, while confessing that introducing a new license was "probably the wrong thing to do," said that other licenses wouldn't have worked for them (the GPL "was seen as viral")."

    What a disappointing response by the CA representative. Can CA really be that clueless, since a simple Google search on "GPL viral" will find plenty of information (including past articles on /.) that show the GPL is NOT viral? Or is CA just pushing that FUD for some other reason? I don't know, but it's disappointing to see them resort to that tired excuse for their actions.

    If you use a GPL'ed database tool, the GPL does not come into play with regard to your software, any more than using the GIMP to create a picture doesn't GPL your software in the process. The GPL comes into play if you were to grab some GPL code and put it into your software product, and then you release the result as your own product under a different licensing scheme. You are then given a choice: Release it under the GPL or not release that code. There is always a third option: Don't take someone else's code without honoring its license terms in the first place. Write it yourself, if you want to release under a different license.

    But none of this applies to using a DB program. The GPL isn't viral in the first place, and it certainly doesn't apply to the end-user use of a software package.

    1. Re:CA doesn't get it re: GPL and "viral" by docflan · · Score: 1

      Release it under the GPL or not release that code.

      I'm seriously not trolling here: how is that not viral? If you release the code you are forced to use the GPL ... so ... viral, right?

    2. Re:CA doesn't get it re: GPL and "viral" by jurt1235 · · Score: 1

      I think CA didn't want to make their product GPLed to keep control over it. Once it is GPLed, there is no way back, and in that way for them it is viral. In the case of licenses some licenses are viral in their demands (like the license for the use of MySQL in a commercial product when you do not want to buy a MySQL license), but always provide a choice to the user (in case of MySQL: Just take care that your product is also capable of using other databases, do not distribute MySQL with your product etc).

      More companies nowadays opensource their products. To me it seems as a way to save money on development, like the community will just develop their product too. I think just opensourcing a product is not going to do a company any good at all. Supporting a community which supports and develops an opensource product might help them a lot more, since then they can use this product in their onw products. So if they would have replaced Ingres with postgresql, I would have been more impressed, then in this case where they "dumped" their product in the opensource community to get good publicity, or other benefits from it.

      --

      My wife's sketchblog Blob[p]: Gastrono-me
    3. Re:CA doesn't get it re: GPL and "viral" by Anonymous Coward · · Score: 0

      If your databases client library is GPLed, it can be pretty annoying, perhaps even "viral"?

      /Just playing devils advocate
      //Devoted BSD user

    4. Re:CA doesn't get it re: GPL and "viral" by Anonymous Coward · · Score: 0

      Er, you started the post by saying it wasn't viral, then went on to describe how it is viral!

    5. Re:CA doesn't get it re: GPL and "viral" by FunWithHeadlines · · Score: 2, Informative
      "I'm seriously not trolling here: how is that not viral? If you release the code you are forced to use the GPL ... so ... viral, right?"

      Viral means you get infected whether you take action or not. Someone coughs and next thing you know you get sick. But the only way you get to the stage where you face the choice I describe is if you take deliberate steps to appropriate some GPL code into your own product, combined with the next deliberate step to release the new product, combined with the next deliberate step to change the license terms of this product. That's hardly viral. That's called deliberately violating the terms of the license.

      It's easy to avoid GPL problems with code. Just don't take someone else's code and refuse to honor their license terms. Or take the GPL code and use it in-house all you want. No one makes you release the new product. You can grab as much GPL code as you can stuff into your greedy little company. It's only when you want to release the new product, and decide to violate the terms of the license, that you have a problem. As it should be.

    6. Re:CA doesn't get it re: GPL and "viral" by FunWithHeadlines · · Score: 0
      *sigh*

      See my reply to docflan in this thread.

    7. Re:CA doesn't get it re: GPL and "viral" by FunWithHeadlines · · Score: 1

      Yeah, that makes sense. That's probably what they meant, and why they did it.

    8. Re:CA doesn't get it re: GPL and "viral" by Milo77 · · Score: 1

      How does the GPL come into play with application specific extensions? For example, DLL-based stored procedures (not uncommon in database systems, but I know nothing about Ingres). I know you have legal problems if you try to link to a GPL'd library (thus, viral), but what if a GPL'd application links (or dynamically loads) to your proprietary, application-specific library?

    9. Re:CA doesn't get it re: GPL and "viral" by Tony+Hoyle · · Score: 1

      (in case of MySQL: Just take care that your product is also capable of using other databases, do not distribute MySQL with your product etc

      MySql makes no such exception.. in fact it extends the GPL:

      "If you develop and distribute a commercial application and as part of utilizing your application, the end-user must download a copy of MySQL; for each derivative work, you (or, in some cases, your end-user) need a commercial license for the MySQL server and/or MySQL client libraries."

      ie. If I even provide MySql support in my application and a user downloads it I am liable for the mysql fee, even though I have nothing to do with it.

      Worse, that's *per user* which could bankcrupt me in less than 5 users.

    10. Re:CA doesn't get it re: GPL and "viral" by Tony+Hoyle · · Score: 1

      The FSF would contend that this makes your library a derived work and thus under GPL (which *is* truly viral).

      Since that won't fly legally (since it's not you doing the linking, and a 3rd party can't force you to change your license) it means that no GPL app can link to your application.

    11. Re:CA doesn't get it re: GPL and "viral" by jurt1235 · · Score: 1

      It used to be in their explanation about what they mean with the license extention. So as long as your product is not just MySQL centric, you can distribute it without getting the per user licence fee. So if you support multiple databases, then you are off the hook (or if your own product is GPL, you are off the hook too, pretty viral there (-: ).

      --

      My wife's sketchblog Blob[p]: Gastrono-me
    12. Re:CA doesn't get it re: GPL and "viral" by Phroggy · · Score: 2, Insightful

      There is always a third option: Don't take someone else's code without honoring its license terms in the first place. Write it yourself, if you want to release under a different license.

      Um, correct me if I'm wrong, but isn't this exactly what CA has done?

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    13. Re:CA doesn't get it re: GPL and "viral" by aallan · · Score: 2, Interesting

      No, I think the CA stand in the exhibit hall made it very clear that CA just "doesn't get it", they were treating OSCON like a normal industry trade show rather than trying to sell themselves technically, which is pretty much the only way to do it at OSCON.

      Of course, if their exhibit hall stand didn't show it, their awful keynote talk surely did...

      Al.
      --
      The Daily ACK - Eclectic posts by yet another hacker
    14. Re:CA doesn't get it re: GPL and "viral" by FunWithHeadlines · · Score: 1

      I wasn't complaining about what CA did, for they have the right to use whatever license they want for their code. What I was complaining about was their representative's tired use of the old "viral" FUD that has been debunked all over the Net, including right here on /.

    15. Re:CA doesn't get it re: GPL and "viral" by FredFnord · · Score: 1
      What I was complaining about was their representative's tired use of the old "viral" FUD that has been debunked all over the Net, including right here on /.


      Translation: I read an argument here (and perhaps somewhere else) that said that the GPL wasn't viral, and I agree with it. Therefore, this tired old myth has been debunked and everyone who claims otherwise is wrong.

      Refutation: You (presumably) understand the GPL, and don't think it's viral. Other people, who also understand it, do. Since 'viral' as it applies to the GPL is a not-well-defined term (as you have so amply demonstrated with your attempts to define it yourself), there is no 'correct' answer to the question 'Is the GPL viral?' It is an opinion question, and you just make yourself sound like an asshole (which I presume, for the sake of charity, that you're actually not) when you try to dress it up like an argument of fact.

      I see the GPL as viral because if I had ever released any of my software (or some part thereof) as GPL source and as commercial software as well, and anyone had contributed to my GPL source, I wouldn't have been able to use their contribution without negotiating a separate license (which is certainly not a guaranteed outcome). His code has 'infected' my source tree, and now I have to either cut it out (and then, when I fix the same bug he just did, be accused of stealing his code) or maintain two different versions of my software, one for commercial sales and one for GPL.

      The GPL counter-argument is, 'well, yeah, he's letting you use HIS code, so you should do it under HIS rules. He doesn't have to let you use his code, after all, and why should YOU make money off of HIS code when he doesn't?' And, of course, one counter-argument is, 'I'm letting him use my code for free, so why SHOULDN'T I make money off of his code in return?' But of course my real counter-argument is, 'okay, I won't release my source code at all because this is all too much of a pain in the butt, and GPL zealots make my head hurt.'

      -fred
      --
      Sign #11 of Slashdot overdose: You see the phrase 'moderate Republican' and you wonder if that would be a +1 or a -1.
  13. DTrace and PHP at OSCON by Anonymous Coward · · Score: 0

    Presentation and blog posting from Bryan Cantrill - here

  14. DHH by Tobias+Luetke · · Score: 1

    The programmer of Ruby on Rails also got the 2005 "Best Hacker" award by O'Railly and Google.

    This years OSCON was all about ruby.. amazing stuff.

  15. Your brother should stop using computers by Anonymous Coward · · Score: 0

    I thought he was quite knowledgable right until I got to that last blog entry where he "couldn't figure out how to network two windows computers". Are you kidding me?

    1. turn on dhcp (if you couldn't figure out to go into control panel: network settings, you shouldn't be using a computer, given linux follows almost the exact same syntax)

    2. plug network cable into computer

    3. plug other end of network cable into router

    4. ...

    5. profit

    1. Re:Your brother should stop using computers by Anonymous Coward · · Score: 0

      I wouldn't ever claim to be "knowledgeable" about windows and I don't claim to be a sysadmin guru, but I have connected disparate computers before (OSX, Windows, Linux) and in fact followed the steps you mentioned.

      Which was why I was confused that it didn't work...

      Any other suggestions?

      matt

  16. No State of the Onion? by Black+Perl · · Score: 1

    Did Larry Wall give a State of the Onion this year? I can't find any reference to it.

    --
    bp
    1. Re:No State of the Onion? by Anonymous Coward · · Score: 0

      He gave a State of Loserdom this year... and it was quite strong.

    2. Re:No State of the Onion? by aallan · · Score: 1

      Did Larry Wall give a State of the Onion this year? I can't find any reference to it.

      Yes, Larry gave a State of the Onion talk during the Tuesday Night Extravaganza.

      Al.
      --
      The Daily ACK - Eclectic posts by yet another hacker
    3. Re:No State of the Onion? by Anonymous Coward · · Score: 0

      Glad to hear you're doing well.

  17. I question Novell's 100% switch away from Office by the+big+v · · Score: 3, Interesting

    I have a buddy who works in the Novell legal department. I asked him if he was being forced to switch from MSOffice to OpenOffice, and he said no. There is no way he could prepare his necessary documents with OO because of some features it lacked. Specifically he said they had problems with generating the kinds of tables they needed.

    Further, he indicated that they were not going to be forced to switch. I wonder if that 100% change that Miguel indicated was for the technical and support staff only.

    Anyhow, I decided to download and try out NLD when I got back from the conference. It failed to recognize my monitor (19" Dell flat panel with DVI interface) and sound didn't work even though it recognized the card. On recommendation from a friend, I tried Ubuntu the other night and it worked with everything (except the printer needs some driver change to work which I haven't done yet).

    --
    The only ``intuitive'' interface is the nipple. After that, it's all learned.
  18. Ingres by ChrisA90278 · · Score: 4, Informative

    "Ingres was just open-sourced by Computer Associates this summer". Wel yes and no.... Ingres was the very first ever relational database. It pre-dated the wide spread use of SQL. It was released under a BSD style license and was Open Source before the term "open Source" was in wide use. Later Ingres was further developed comercially and sold as a product and the old Open Source version becames known as "University Ingres". It is the later comercial version that is now open sourceed. PostgreSQL (aka Postgres) comes from the same university develoers as Ingres. It was hier next DBMS hencethe name post-gress for after-ingres Postgres has linage dating back to the first first RDBMS. Postgres too was started before SQL wa universal but was converted over to accept SQL in 1995 and then later renamed "PostgreSQL" (with the "QL" being silent) Bottom line, Ingres was the grandfather of open source DMBSes and has severa importent children.

  19. Drupal by metaclous · · Score: 2, Informative

    One of the highlights for me was the talk by Dries Buytaert, founder of Drupal, on Thursday.

    Drupal is way ahead of Ruby on Rails in terms of flexibility, scalability and implementation, IMO. They work in different spaces (Ruby hosting is scarce, though there are a few) but the clean architecture and extensibility of Drupal while remaining fast and small is exciting.

    The Drupal BOF was well-attended (they even had a full buffet!). Both http://www.bryght.com/ and http://civicspacelabs.org/home/ were represented.

    1. Re:Drupal by lukelele · · Score: 1
      "...hosting is scarce."

      Though the first actual printed manual for Rails is, I think, only just entering shops now so it's all very developmental with no pun intended.

      Though probably not complete see this list on the Rails wiki for a list of webhosts. Dreamhost.com is the first, as far as i know, major webhost to bring out full Rails support.

  20. DrupalCon/BOF at OSCON? by Anonymous Coward · · Score: 0

    How about some reporting on DrupalCon / Drupal BOF that was held around OSCON Portland?

  21. What's all the hype? by ramannoodle · · Score: 2, Interesting

    Although I applaud Ruby at finally getting an MVC-based framework together, I don't see what all the hype is lately. MVC-based frameworks have been around for a long time, and MVC-based frameworks in other OSS languages have been around since RoR came to be as well.

    Java has Struts and others, Perl has an excellent Framework called Catalyst based on another MVC framework by Simon Cozens called Maypole - see Jesse Sheidlower's article on O'Reilly for building an AJAX-based framework in 30-lines of code or less in Catalyst. PHP even has one that's been out for awhile called Fusebox that is based off of another for Cold Fusion. What is it that is so special about Ruby on Rails?

    1. Re:What's all the hype? by SewersOfRivendell · · Score: 1

      Rails isn't an MVC framework. Go watch the intro video and you'll understand -- http://www.rubyonrails.com/.

    2. Re:What's all the hype? by Anonymous Coward · · Score: 0

      The hype is that in rails you can write your application faster and with way less configuration(almost none). You also write your code in ruby which is a very beautiful language. There is no compile step so changes are instant while developing. I can mess around with some logic or a view, hit refresh, and see the results right away. I don't have to wait two minutes to compile and restart the server.
      The community is really great with a helpful mailing list and irc channel full of smart people.

    3. Re:What's all the hype? by ramannoodle · · Score: 1

      Rails is too MVC - it is *strongly* MVC-based according to their Website. That is what the RoR hype is all about.

    4. Re:What's all the hype? by ramannoodle · · Score: 1

      All of the languages listed above have no compile step in one form or another with their MVC frameworks. Most of them have very helpful mailing lists and friendly communities. Many of them have very small configurations - see the 30-line Wiki example above using Catalyst. I still don't get the hype, other than it's just bringing out people that have discovered the MVC model, which has been around for way longer than Rails.

    5. Re:What's all the hype? by Anonymous Coward · · Score: 0

      I think the parent was saying that Rails isn't *just* an MVC framework, and to say simply that "Rails is an MVC Framework" is an over simplification.

    6. Re:What's all the hype? by Decaff · · Score: 1

      The hype is that in rails you can write your application faster and with way less configuration(almost none).

      And you have been able to do this for years with other languages.

      Also I just don't see the beauty in Ruby. For example, having prefixes to variable names to indicate scope ($ for globals, @ for instance vars) is (in my view) ugly and can prevent code re-use in different contexts. Other dynamic languages manage fine without this kind of thing.

  22. Re:I question Novell's 100% switch away from Offic by Anonymous Coward · · Score: 1, Informative

    This is a known issue for Novell (and other shops) doing the switch. Initially I read that Novell was going to swith "task" workers over to NLD (which is way behind SuSE in features/ability, BTW) while leaving the knowledge workers with WinXP.

    The reasoning was that certian workers - accounting staff, for example - need to run specific Macros in Excel or Word which won't convert without a lot of time/effort to OOo. I remember reading that they don't expect 100% conversion for a long time.

    As for NLD not recognizing your monitor, remember that it is older software and lacks some of the hardware recognition that I have in SuSE 9.3, for example.

  23. Computational Origami by the+stapler · · Score: 1

    So, I'll prefface this by saying that "cost saving" measures at my day job kept me from registering for the full conference. However, I did get in to the keynotes on Thursday. I went then specifically so I could hear Robert Lang talk abou Computational Origami. Really cool topic. I just wish I could have had him sign one of his books for me :P. 3 favorite schwag items: black rubber duckies from BlackDuck, 64 MB usb thumb drive from intel, and stuffed Dicey

  24. New definition of viral? by argent · · Score: 1

    Viral means you get infected whether you take action or not.

    Where does this definition come from?

    This isn't part of the biological definition of viruses, or else viruses that are hard enough to transmit that they require fluid exchange (such as STDs) wouldn't be considered "viral".

    This isn't part of the computer definition of viruses, or else only things like email worms would be considered "viral". In fact, computer malware that transmits whether you take action or not are generally referred to as "worms".

    The GPL is quite analogous to traditional computer viruses. You can make a good case that it's a good use of viral technology, like gene therapy, but arguing that it's not viral because of some made-up qualification that you claim is a requirement for it being "viral" is just plain silly.

    1. Re:New definition of viral? by FunWithHeadlines · · Score: 1
      The definition comes from the way biological viruses work. You do not have to take any steps to become infected. You can sit there quite passively and have someone else walk by you and you become infected.

      This is absolutely not possible with GPL code. The only way the so-called "viral" behavior can occur with GPL code is if you take several deliberate steps that are expressly forbidden in the GPL. Guess what? You get a fishing license and you violate the terms of the license, that license gets taken away from you. Same with the GPL. If you deliberately violate the terms of the license you agree to when you get the code in the first place, on what basis can you complain?

      It shouldn't be called "viral" because of the connotation we have in our minds about the word based on the biological effects of a virus. It gives the wrong impression, which is why FUDsters use that word.

    2. Re:New definition of viral? by argent · · Score: 1

      The definition comes from the way biological viruses work. You do not have to take any steps to become infected. You can sit there quite passively and have someone else walk by you and you become infected.

      Viruses in general are quite fragile, and most need a liquid medium to propogate. Even highly contagious viruses usually require physical contact of contaminated liquids with an open wound or mucous membranes, which is why face masks are used... they prevent droplets of infected fluids from coming into contact with the mouth and lungs.

      Many viruses require more intimate contact than that.

      The idea that you "don't have to do anything" to be infected by viral diseases is pernicious and dangerous. It encourages prejudice, AND discourages people from taking effective steps to avoid infection.

      Propogating that meme because you consider "viral" to have poor connotations is vile.

      If you want to counter the negative connotations of "viral", then either co-opt the term or come up with a better response. Because the one you're using now is simply stupid.

    3. Re:New definition of viral? by Fahrenheit+450 · · Score: 1

      The definition comes from the way biological viruses work. You do not have to take any steps to become infected. You can sit there quite passively and have someone else walk by you and you become infected.

      Well, I think we can safely say that you are not a virologist, nor do you play one on TV. For something to be considered viral, it should display the properties of a virus -- among which we would not include the ability to invade a passive host (using your connotation of passive). While this is true for some viruses, other viruses don't work like that -- they aren't air borne, and so they won't infect you if a carrier just happens to saunter by. Instead, we would like something that is true of all viruses, and not just a select few, and what we generally go by is the idea that viruses "have no proper cell membrane, and thus cannot by themselves perform metabolic processes, requiring entry into a host cell in order to multiply."

      This sounds an awful lot like your earlier assertion that "The GPL comes into play if you were to grab some GPL code and put it into your software product, and then you release the result as your own product under a different licensing scheme." That is, the GPLed code requires entry into someone else's released code for that code to become infected, but at that point the GPL is able to "reproduce", forcing the new code to be GPLed as well. This is the viral aspect of the GPL... it's not necessarily good nor bad, but it is viral.

      Oh, yeah... IANAV.

      --
      -30-
    4. Re:New definition of viral? by FunWithHeadlines · · Score: 1
      Hmmm...I meant to write, "have someone else walk by you, cough, and you become infected" but I see I clearly did not do so. Based on what I wrote, not what I thought I had written, you are right. No, I don't think you can get infected just by having an infected person walk past you.

      My point was, and is, that you do not have to take any deliberate steps to become infected. Just standing near someone else who is coughing can conceivably be enough. It's the person-to-person contact that doesn't translate to the GPL "virual" FUD. You can use GPL code all you want without becoming "infected." The only way to become "infected" is to take several deliberate and illegal (according to the license terms you agreed to) steps first.

      This only comes up among those who want to a) discredit the GPL and encourage other licenses that absolutely allow someone to grab another person's code and lock it up as they wish; or b) those who want to discredit Free or Open Source software period, because as proprietary code companies they would love to grab all these free code without having to do the work, and then lock people into their solution; or c) those who read the GPL = viral meme and believe it.

      Once again, for anyone who happens to read this thread, just Google "GPL viral" and have that argument debunked.

    5. Re:New definition of viral? by argent · · Score: 0, Offtopic

      I meant to write, "have someone else walk by you, cough, and you become infected"

      That's still not true for most viruses.

      It doesn't matter why you don't like the term, or whether the term is derogatory, or whatever. If you want to counter the term, find an argument that isn't stupid and prejudicial.

      All you're worried about is someone getting the benefit of your software without paying you.

      The people who are hurt by the meme you're propogating have to worry about losing their jobs, public ostracism, alienation, physical assault. Put your little problem into that context, damnit.

    6. Re:New definition of viral? by FunWithHeadlines · · Score: 0, Offtopic
      I'm not an open source programmer, so apply your anger elsewhere. I'm merely in favor of shared knowledge, whether in science, programming or whatever. If someone wishes to write a book or a program and charge for it, I fully support that. If someone wishes to write a book or a program and give it away, I fully support that right too.

      The GPL is a license that empowers programmers with the full power of copyright law. I get tired of the FUD against it designed to discredit it with FUD. "Physical assault"???

    7. Re:New definition of viral? by dgatwood · · Score: 1
      Umm... no. I regularly write software under the GPL and even I disagree. Your argument misunderstands both the problem and the terminology. In the context of computers, "viruses" do NOT spread witihout the user taking action, although that action doesn't necessarily involve doing something that you know will cause infection. Something that infects you passively without you taking any action is called a "worm".

      For example, opening an macro-virus-infected Word file will spread a virus. You're taking action that you thought was safe, but without opening that file, you don't get infected. It isn't passive. In much the same way, the GPL behaves virally. You're writing a piece of commercial software. You make the natural assumption that anything installed in a default installation of an OS can safely be linked against, particularly since you have the same libraries available under FreeBSD.

      Five years later, the author sues, claiming that by linking against... say GNU readline, you are in violation of the GPL. This despite the fact that a BSD equivalent exists (and might even be installed by default under FreeBSD), the very act of you making your software available for Linux puts your right to distribute your code in jeopardy. Yes, you could have statically linked against the FreeBSD version and distributed that freely, but because you instead linked your software against something that CAME WITH THE OS, you are at risk of lawsuit.

      The GPL is fine when writing software that is intended for end-user use---tools, applications, whatever. It's appropriate for libraries ONLY if those libraries are designed solely for the use of a single GPLed application, and ONLY if those libraries are not included as stand-alone, linkable library files in the distribution. For all other libraries, the LGPL is the only appropriate GPL variant license. Restricting linking against a library is fascist and wrong, particularly when the end user of a system may not even be aware of which license a particular library is licensed under.

      The folks that are caught in the middle are commercial OS vendors. The lack of a linking exception makes it very difficult to get commercial OS distributions to include ANY GPLed libraries even if the OS vendor only intends to link it against other GPLed software.... In other words, the end user is the one who ends up getting hurt because of overzealous licensing.

      The bottom line is that---at least for libraries---the GPL is viral, and IMHO, releasing a library under the GPL (and expecting people to read through a stack of licenses after installing your favorite Linux distro) makes us no better than companies that write a 50-page EULA about what you can do with the software that you purchased.

      Join the fight against GPLed libraries. Tell your favorite Linux vendor that you won't buy a distribution that includes GPLed libraries without a linking exception.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    8. Re:New definition of viral? by FunWithHeadlines · · Score: 1

      Yes, I know, as you can see in my post I left out the words "cough on you," as I explained to the other responder. The way I wrote it, which makes no sense with those words missing, is not what I meant to say.

    9. Re:New definition of viral? by argent · · Score: 0, Offtopic

      I'm not an open source programmer, so apply your anger elsewhere.

      I am an open source programmer, actually.

      I just happen to be one who's aware that there's more problems in the world than whether Linux or Windows wins the battle of the server room. One of those problems is people with HIV and AIDS being treated as pariahs, ostracised, and even attacked because they carry a virus... one that is extremely hard to transmit. Claiming that the GPL isn't viral because "you can get a virus just by someone walking by" is, well, it's like using depleted uranium ammo to spread democracy. It's like killing people in the name of Christ. You really hit a sore spot with that line.

      YOU did.

      Not some nebulous open-source programmer out there somewhere. Not the FSF. Not Linus Torvals or Richard Stallman or Eric raymond. You, personally, posted that message. If you got it from something someone else wrote, then they should be just as ashamed of it. If you just thought it up, unthink it. But please quit using it, OK?

      And even in the original context it's a silly argument: every use of the word "virus" in the computer realm refers to software that propogates passively. You have to do something to catch a virus, it doesn't just attack your computer... the whole distinction between viruses and worms is based on that point.

      So... I'm sure you can come up with a better argument than "you have to do something to be 'infected' by the GPL". Please do that in the future, instead of using this silly and poisonous argument. It doesn't do anything but make people think you're clutching at straws because, well, everyone who's actually aware of the etymology of the term knows it's nosense.

    10. Re:New definition of viral? by FunWithHeadlines · · Score: 1
      I already explained to you that I misttyped my original post, and yet you continue to repeat the idea that I have this mistaken belief. Please stop.

      I agree with you on AIDS and discrimination. That happens to be one of the harder viruses to transmit, so for you to read what I originally wrote (mistakenly) would indeed be offensive, for much prejudice has developed from those misconceptions. I hear you loud and clear.

      That isn't what I meant, and isn't what I believe. As I already corrected to you. We're on the same page. I'm sorry to have inadvertantly offended you, for it was truly inadvertant.

    11. Re:New definition of viral? by argent · · Score: 1

      I already explained to you that I misttyped my original post, and yet you continue to repeat the idea that I have this mistaken belief.

      And I have already pointed out that your followup didn't significantly change what you wrote. Some viruses can be easily spread through droplet infection, which is what you described, but most (including AIDS) aren't among them.

      I don't know what you believe. I only know what you wrote.

      If people are arguing that the GPL is not a virus because it's "too hard to contract" (which is what "you have to do something to be infected" comes down to), that's a problem. Really.

    12. Re:New definition of viral? by FunWithHeadlines · · Score: 1
      Fair enough. What I mean is the word "viral" is too easy to misunderstand (for a lot of reasons) to be used in the programming context and have it contain accurate, meaningful information. People have all sorts of images in their minds when they hear "the GPL is viral," and because so many enemies of open software have tried to argue against the GPL using inaccurate, emotional arguments, I get tired of that meme.

      I did not, and do no, intend to minimize the very real sociological issues involve biological viruses. I am truly sorry if I muddied the waters by my sloppiness.

    13. Re:New definition of viral? by argent · · Score: 1

      Can you find a better counterargument than "you have to do something to get 'infected' by the GPL", then?

    14. Re:New definition of viral? by FunWithHeadlines · · Score: 1
      I would prefer to take the whole argument out of the realm of infections or viruses. This is a license issue, and the person who grabs the code will know (or should know) what can or cannot be done with that code legally. There should never be a case where the license terms sneak up on a person. It's hard for me to come up with a counterargument when I don't see the validity of the original argument.

      If you want to use GPL code in your own product, you follow the license terms. If you don't want to follow the license terms, you don't use the GPL code in your own product. Unless you want to use it in-house only, in which case help yourself and don't worry about it.

    15. Re:New definition of viral? by argent · · Score: 1

      I would prefer to take the whole argument out of the realm of infections or viruses.

      Great, wonderful. So instead of keeping it in teh real m of viruses by talking about viruses and how the GPL isn't like them, you'll take some other tack?

      PS: you know, I don't think I've said one word through this entire exchange about whether people should know about the GPL or whether people are doing something illegal or whether the GPL is good or bad. You don't have to bring that up in every message, it's not relevant to the conversation you and I are having.

  25. Novell IS 100% switching away from Office by Anonymous Coward · · Score: 0

    It is just going to take some time. Redmond does everything they can to make it hard to switch, for the obvious reasons.

    I wasn't at OSCON, but I did attend a meeting with Dan Morrison, director of Novell's GNOC, prior to BrainShare this year, and he discussed this very topic.

    Novell is doing this in stages, starting with the easy cases, many of whom are migrated 100% already. When it comes to documents/spreadsheets/etc, they're going triage, classifying each as Easy, Moderately Hard or Difficult to convert. Obviously, they are tackling the first two categories first.

    People who still need Windoze apps are being moved to a dual-boot configuration, so they can boot to Windoze if they need it.

    I wouldn't be surprised if the staff in Legal are some of the last ones migrated, as I imagine most of their documents fall in the Difficult conversion category. I'd also be surprised is the parent post's author's friend had not been at least moved to a dual-boot configuration.

    Dan stated their goal for 2005 was to move 80% of their employees to a 100% Linux environment - no dual-boot, no M$ apps (except, perhaps, under WINE or something similar).

  26. Videos? by zdzichu · · Score: 1

    Do anyone have a link to OSCON videos? I'm specially interested in Miguel de Icaza's keynote.

    --
    :wq
    1. Re:Videos? by Anonymous Coward · · Score: 1, Insightful

      Here's a description - no video yet...

      http://www.oreillynet.com/pub/wlg/7558

      Miguel's talk was definitely a good choice for the closing timeslot. He talked about numerous happenings at Novell, from their efforts to move all employees off Windows / MS Office onto Linux / OpenOffice.org, to several new X technologies that impressed the heck out of me.

      Novell currently has some 5500 employees, and has already managed to move all of them over to OO.o. They are also 50% finished with moving every PC to single-boot linux, and expect to reach 80% by November. In the mean time, it sounds like many employees still multi-boot.

      Eating their own dog food is one thing, but Novell still needs to work on the Linux desktop to increase its mass appeal. To this end, they have considerably hardened the Mono VM (a clone of Microsoft's .NET VM), to the point that it can now withstand weeks of continuous heavy load without erroring or crashing. From this point, they are working in two directions: making all user hardware Just Work, and implementing all missing desktop applications in Mono languages, such as C# and Python (via IronPython). It sounded like they are also putting some effort into convincing Windows ISVs to migrate to Mono.

      They've been working on useability issues in Gnome as well; Novell likes to video users with three simultaneous camera angles (face, hands, and monitor), show the videos to the developers, and watch their mental models get massively readjusted to match reality (well, more closely, at least).

      Miguel also showed off some individual technologies, like two-way iPod sync, multi-hop directory sync, and so on; some of these were actually ports of old-world Novell technologies to pure Mono code. He bragged that with Beagle they managed to be the first out the door with desktop search, though only by a mere 6 hours.

      Nearing the end of his talk, Miguel showed off some of the amazing changes happening to X these days. The Cairo compositing / rendering model (similar to the PDF rendering model) is now available for X, and can be accelerated in OpenGL using Glitz and XRENDER. Ugly hacks for window transparency and other such effects are no more.

      X itself can run on top of OpenGL using the Xgl server, which is nearly complete. Xgl comes with a Composition Manager, which allows all sorts of composeable eye candy and special effects; Miguel showed off some silly-but-cool wobbling window effects based on this.

      Finally, since Xgl has the full power of OpenGL behind it, all of the virtual desktops are wrapped around a cube that is just dragged to show the desired desktop. It's even possible to start a movie playing, drag the window halfway across the boundary between desktops, rotate the desktop cube through 45 degrees, and then watch the movie, now split across the border and in correct perspective across each face -- without any visible rendering issues.

      All in all, a very cool talk, and a great way to close out this year's OSCON.

  27. OSCON Aggregator by Noksagt · · Score: 2, Informative

    The OSCON Aggregator has had a bunch of good blog posts before, during, and after the conference.

  28. Paris Hilton proclaims: Ruby on Rails is hot by CryBaby · · Score: 0, Troll
    That's right, Paris Hilton has now officially joined the long and distinguished list of RoR advocates. Typical of these young yet jaded programmers, she also notes that:
    I've never felt the need for Postgres
    And she probably never will. During a heated exchange regarding the merits of MySQL vs. more complex databases such as PostgreSQL, Ms. Hilton was reportedly heard to state that:
    If you think about it, who really needs referential integrity, stored procedures, triggers, rules, constraints, user-defined data types, schemas, clustered indexes, point in time recovery, physical table partitioning or any of that other complicated stuff? I mean, come on, just learning what those words even mean will, like, totally blow my 10 minute development timeline. All of that stuff is for losers anyway and I heard it fully bloats your LoC - ewww!
  29. Ruby on Rails is good for prototyping, but... by James+A.+D.+Joyce · · Score: 1

    "Anyone have a real-world example of Rails scaling to a large project and lots of traffic?"

    No, because it can't be done. Ruby prioritises ease of initial setup over execution speed or a sturdy interface.

    --

    Ron dies in chapter 9 of book 7.
    1. Re:Ruby on Rails is good for prototyping, but... by aziegler · · Score: 1

      Your statement is completely false and therefore FUD.

      Ruby does prize programmer productivity, but nothing says that it doesn't prize a sturdy interface or prize execution speed. I challenge you to actually prove your FUD as fact.

      --
      Ni bhionn an rath achx mar a mbionn an smacht (There is no Luck without Discipline)
  30. But... by James+A.+D.+Joyce · · Score: 1

    ...Ruby is slower than many comparable scripting languages like Python and Perl. Just because you don't like that fact doesn't make anyone who says it a "troll".

    --

    Ron dies in chapter 9 of book 7.
    1. Re:But... by aziegler · · Score: 1

      As with everything, that depends on what you're doing.

      There are things that one can do where Ruby outperforms both Python and Perl.

      This isn't saying that Ruby can't be faster, but making it clear that simply saying "Ruby is slow" or "Ruby is slower..." isn't necessarily true.

      One also has to compare development costs (high) with deployment costs (variable). If I can develop several times faster with Ruby, the cost difference may be significant.

      --
      Ni bhionn an rath achx mar a mbionn an smacht (There is no Luck without Discipline)
    2. Re:But... by Decaff · · Score: 1

      One also has to compare development costs (high) with deployment costs (variable). If I can develop several times faster with Ruby, the cost difference may be significant.

      My experience is that the time spend trying to get the required performance for the 10% of code where this matters can outweigh the time saved in using a concise language.

    3. Re:But... by aziegler · · Score: 1

      ...

      If you're arguing about 10% of total coding effort, then why are you arguing this point at all?

      As yet, I have not needed to drop down to Ruby's C-level API to implement any of my basic logic. I *have* used interfaces to libraries that others have written (mostly interfaces that have been written for the core, e.g., zlib and syck/YAML), but I have yet to need to write a C-level implementation of code, especially because of speed concerns.

      For that 10% of code, you may be right. But that 10% of code doesn't generally involve web applications. At least in my experience.

      --
      Ni bhionn an rath achx mar a mbionn an smacht (There is no Luck without Discipline)
    4. Re:But... by Decaff · · Score: 1

      If you're arguing about 10% of total coding effort, then why are you arguing this point at all?

      I am not arguing that. I am saying that 10% of the code (or even less) may require a considerable amount of the development time (far more than 10%) if things like performance become an issue.

      And, from personal experience, telling a client that 'performance will get better when the language gets faster, and I'm doing this in a really neat new language' is not going to impress :)

      As yet, I have not needed to drop down to Ruby's C-level API to implement any of my basic logic. I *have* used interfaces to libraries that others have written (mostly interfaces that have been written for the core, e.g., zlib and syck/YAML), but I have yet to need to write a C-level implementation of code, especially because of speed concerns.

      I have. I have had websites written in scripting languages that have collapsed because of computational load when a considerable amount of data structure manipulation and numerical calculation was required.

      I just can't see the point of using a language where this sort of thing can become an issue. Initial coding speed (one of the benefits of Ruby) can be a negligible part of the overall development and support effort for a large and complex website or application.

  31. Re:Open source is of a poor quality by Anonymous Coward · · Score: 0

    How did it feel when you discovered that VB was not discontinued at all, but actually reborn as VB.NET

    I'm not the original troll (hats off to him btw. I can't believe you can still get people to bite at VB bait.).I would never use VB unless required to by my employer, but the language is not dead. You are wrong. You Have Been Trolled. Have A Nice Day.

  32. Actually... by MAdMaxOr · · Score: 1

    Ruby on Rails has a mapping layer. It's just not used by default ("convention over configuration").
    You can specify that an ActiveRecord is made up of all sorts of different non-default things. It's just rare at this point, because people are mostly using it for "green field," from-scratch, new project development.

    Now you can argue that since the mapping layer is in the code (with statements like "set_table_name :some_table"), that you lose the flexibility of having everything abstracted out in an XML file.

    I prefer to look at it as:
    1. I don't have to edit a bunch of XML files.
    2. It's not like i have to recompile after editing a source file, so who cares?

    1. Re:Actually... by Decaff · · Score: 1

      Ruby on Rails has a mapping layer. It's just not used by default ("convention over configuration").
      You can specify that an ActiveRecord is made up of all sorts of different non-default things. It's just rare at this point, because people are mostly using it for "green field," from-scratch, new project development.


      A good point; I realise this. My problem is that the default 'out of the box' way that ActiveRecord works encourages things that, in my opinion, are bad practice - such as generation of classes only at run time, and dependence on specific schema in specific databases.

      Now you can argue that since the mapping layer is in the code (with statements like "set_table_name :some_table"), that you lose the flexibility of having everything abstracted out in an XML file.

      I have no objection at all to having a mapping layer in code! I don't care where it is - all I am after is something that can be edited that allows me to specify precisely which columns in a table are used in my classes. I would also like to have the source code for the mapped classes available to edit and possibly examine and refactor in an IDE for Ruby. Having these things generated at run-time makes many things (such as testing code away from the deployment database) more difficult that I think they could be.

  33. NOT TRUE AT ALL. by hummassa · · Score: 1

    1. There is NOT ONE provision in the text of the GPL that says you can't link a proprietary program with a GPL'd library.
    2. There IS a provision in the text of the GPL that says you can aggregate a GPL'd library with other, proprietary code.
    3. There is NOT ONE caselaw -- neither in the US nor elsewhere -- that ruled otherwise, AFAIK.
    Feel free to contradict me.
    The whole whining "cannot write proprietary programs for KDE" is FUD.
    HTH

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    1. Re:NOT TRUE AT ALL. by dgatwood · · Score: 1
      See http://en.wikipedia.org/wiki/GPL_linking_exception . If linking did not create a derivative work in the minds of the authors of most GPLed libraries, there would be no reason for a number of authors of such libraries to create such a clause.

      You're right that there is no case law. Last I checked, there was no case law relating to the GPL whatsoever. Everything seems to get settled out of court. However, there is plenty of case law about whether one piece of code using parts of another as occurs in a library situation constitutes a derivative work (and whether that derivative work is protected under fair use). Case law in that area is wildly contradictory between circuits, and the SCOTUS has not reconciled those in a satisfactory way.

      Also, aggregation means exactly that---shipping two things on the same medium. It is quite clear from the wording that this was NOT intended to allow a piece of closed source software to call any functions in a GPLed library. The question then becomes whether reverse-engineering that GPLed library for compatibility constitutes fair use. It probably does, but if you were a corporate lawyer, would you risk it?

      Remember that even if someone can't win a case, that doesn't mean they can't sue. All it takes is one idiot lawyer working on a contingency fee to cause significant financial damage, particularly to smaller software firms. And since there is no legal precedent, there is also no guarantee that the person suing couldn't win.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  34. Never felt the need for Postgres? by Anonymous Coward · · Score: 0

    That just makes it obvious that you're a naive, ignorant, newbie idiot. Mysql sucks ass.

  35. Yourself? by Anonymous Coward · · Score: 0

    "OSCON was ... too big ... for myself to cover..."

    Me too enjoy expressing I with freedom from the constraints of grammar and logic. Myself only wish that even more people will express they in this new style. Me thank yourself for throwing off the shackles of convention so boldly and publicly.

  36. O/T Sig Fun by FredFnord · · Score: 1

    The only ``intuitive'' interface is the nipple. After that, it's all learned.

    Is THAT why IBM puts a little red nipple in the middle of their keyboards?

    -fred
    --
    Sign #11 of Slashdot overdose: You see the phrase 'moderate Republican' and you wonder if that would be a +1 or a -1.
  37. PostgreSQL is not slowing down. by rycamor · · Score: 3, Interesting

    While PostgreSQL usually doesn't seem to get decent press from O'Reilly, it practially dominated the database talks at OSCON. Just about every database event either included or featured PostgreSQL.

    The things in the works for 8.1 and 8.2 are looking very interesting indeed. Besides 2-phase commit and bitmap indexes:

    - Full multi-master replication with Slony 2 (Slony 1 is single-master)
    - IN/OUT paramater declaration for more flexibility in functions (making PL/PgSQL even more like PL/SQL)
    - Much more useable and flexible custom datatype creation. "Complex" dataypes may not seem too useful for standard business databases, but they have all sorts of applications in areas like mapping, engineering, scientific analysis, etc... (Not to mention which, you might even want to think in terms of mapping custom datatypes to classes in your applications.)
    - Horizontal partitioning: this is a concept used in very large tables, where you might want different groups of rows from one table stored in different locations, such as different physical disks, SANs, etc... This sort of thing is actually already being done informally by leveraging PostgreSQL's table inheritance features and tablespaces, but in the future (8.2 or 8.3?) it should become a standard feature.

    Speaking of which, how many people caught Josh Berkus and Joe Conway's talk on "Terabytes of Business Intelligence"? Very interesting insights on how to handle very large databases in PostgreSQL. For example, Joe Conway's project gathers statistics from industrial equipment around the world, receiving several GB a day of data on the central server, an 8-CPU XEON, storing the data on a SAN array via NFS mount configured for jumbo frames. To handle the super-large main table, he created a partitioning schema where there are 12 sub-tables, each holding the data for one month of the year, and then creating a main table via inheritance from these tables to present a unified relation of all this data. In some ways this may sound like a view from a UNION query, but the implementation has much better performance and maintenance implications.

    All this means PostgreSQL is steadily gaining ground on the Big 3 database vendors, and in some ways surpassing them, as far as the quality of the implementation. Many of the distinctions now are in external areas, such as application servers and federated systems. (You can do either of these things in PostgreSQL, but there is no official standardized method)

    We all know that the main DB vendors don't allow anyone to publish benchmarks without permission, so of course there are no easily accessible benchmarks between PostgreSQL and Oracle, for instance. But, in informal talks at OSCON, I found at least a couple companies who had done their own internal benchmarks and PostgreSQL came out ahead surprisingly often.

  38. chunky bacon by rheotaxis · · Score: 1

    Wasn't Why, the lucky stiff, there. Can anyone share that experience?

    --
    Software freedom...I love it!
  39. Re:I question Novell's 100% switch away from Offic by Anonymous Coward · · Score: 0
    I decided to download and try out NLD when I got back from the conference. It failed to recognize my monitor (19" Dell flat panel with DVI interface) and sound didn't work even though it recognized the card.

    Strange thing, Linux distros backed by big companies aren't that good, for example my friend , who works as Linux admin, switched from Red Hat to Debian because of problems with Red Hat.
  40. There is a lot of GPL case law by hummassa · · Score: 1

    including MySQL vs Progress IIRC.
    "there is plenty of case law about whether one piece of code using parts of another as occurs in a library situation constitutes a derivative work". You have cited none. In a library situation, dynamic-linking, code does NOT include parts of other code; they interact as separate, independent, entities (just as I can, in my book, say "oh, god, this is just like the third chapter from Harry Potter and the half-blooded-prince" and I would not be infringing on J.K.Rowlings -- even if you happen to have a copy of the book in your shelf.)
    "It is quite clear from the wording that this was NOT intended to allow a piece of closed source software to call any functions in a GPLed library." No, it's not clear at all. In fact, if you take the definition of "a work based on the Program" (a contradictory one, up there in section #0 -- hint: a "derivative work" as defined by copyright law (both 17USC and other countries' Berne-based copyright law), is "the result of an intellectualy-novel transformation over the original law." (like a non-automated language translation from English to French)

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    1. Re:There is a lot of GPL case law by dgatwood · · Score: 1
      Clearly the intent of the GPL was to prevent linking a GPL library into a proprietary work. This has been stated numerous times by the FSF. Whether the wording does so with sufficient precision to hold up in a court of law is another issue, and one that is irrelevant. As I said, you don't have to win to hurt someone. You just have to sue. An individual with a lawyer working on commission can do a lot of financial damage to a company who then must bring in lawyers to defend themselves even if the company ends up winning.

      Further, a portion of the code form the library -does- get included during the compilation process: the header file. Now if someone reverse-engineers the header file from looking at the binary entry points in the library, one could reasonably argue a much greater degree of protection. However as long as compilation causes that header file to get included, the executable that includes it becomes a derivative work of the library. This is doubly true in this era of inline functions being included in headers, etc.

      From the GPL:
      The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.

      It's hard to imagine how using a header containing even a single inline function declaration wouldn't qualify under that definition.

      Now you can argue until you're blue in the face that a library licensed under the GPL allows proprietary apps to link against it. You might be right from a strict legal interpretation. It isn't clear. What is clear, both from the FSF's FAQ and from the opinions of a -lot- of lawyers on this issue, is that the intent of someone licensing a library under the GPL is to prevent you from doing so, and thus they are much more likely to sue if you do. And again, they don't have to win to cause financial harm.

      Sadly, Progress Software v. MySQL AB was settled out of court. Here are a couple of cases that have some bearing:

      Galoob v. Nintendo ruled reverse engineering for compatibility okay as long as you start with an authorized copy of the binary. Atari Games Corp. v. Nintendo ruled that access to the source code, at least when obtained improperly, constitutes taint and would make such reverse engineering no longer protected.
      Right there, you see the problem. What about source code that is given away? It really isn't clear which way a case involving the GPL would go. Until a case actually goes to court over GPLed libraries or until the license is reworded to clarify things, no lawyer worth his/her weight in manure is going to recommend linking a proprietary app to a GPLed library.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.