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.

15 of 153 comments (clear)

  1. 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. 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 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.
    2. 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.
  3. 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 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/

    2. 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.

  4. 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.

  5. 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
  6. 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.

  7. 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.

  8. 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.

  9. 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.

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

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