Archive for the ‘Conferences’ category

Generational developers

April 16th, 2008

I’m seeing a large cross section of age groups represented at the MySQL conference.  The typical late teens through mid twenties are here, as expected, but I’m seeing a high number of people who are clearly older than that – many likely mid 40s or higher.  It could just be that database work is typically suited for older workers looking for more stability (‘keep the systems running day in day out’), but it might also represent an uptake of MySQL at more established companies as well.

Anyway, that’s not quite what I was writing about.  What crossed my mind was the children of many of these older people.  Will they grow up in to software people as well?  Will we perhaps see consultancies handed down from generation to generation over the next several decades?  Software as an industry has barely been around 30 years, so I’m not sure it’s been on too many peoples’ minds, but I still wonder.  My dad is an accountant, but didn’t bring me up to be one, and I had little interest.  Some of that may have been because I had no way of having visibility in to his profession.  Beyond ‘take you child to work’ days, there’s not too many professions where children can get hands-on experience of what their parents do.  With many types of software, that’s not the case.  Anyone can get started with most tools, especially with Open Source.  Put another way, will Linus’ kids take over the kernel in another 20 years?  :)

Watching OBM presentation

April 16th, 2008

The KickFire people stayed too long in the room before OBM, so I think they’re having to cut short the presentation – there were some display problems too which took some time.  Given that, the presentation has been good, if a bit rushed so far.  OBM has been developed in France for the past 10 years, and it looks like they’d like to get in to the US market.

The product itself is a GPL2 messaging and groupware system, with sync capabilities for Outlook, various PDAs, Thunderbird and Sunbird(!).  It also has a fairly advanced project management tool, which I got a demo of.  It’s rather complex looking, but no more so than just about any other tools.  It looks like they’d be competing against both Zimbra and Salesforce and SugarCRM.

The speed has been something Pierre (the presenter) said was has been a focus, and I think he’s on to something here.  He described some techniques they take to precomputing things like group hierarchy membership data.  He acknowledged that the data tables are much larger than they might otherwise be, but the benefit is data can be retrieved in one query, and indexed properly is lightning fast.  He laid down a friendly challenge to test out responsiveness against other messaging solutions.  I saw Zimbra last year, but it was not overly fast.  Some of the speed was achieved by a browser plugin which sped things up.  I see no browser plugin here.

OBM has numerous plugins – the CRM functionality is a plugin, and there’s a org chart tool.  Lots of nice stuff in there.  I have to say I was a little shocked at some of the requirements – I need magic_quotes_gpc to be ‘on’, for example.  For a php5 app, this seems a bit aniquated, and I hope it’s something they’ll rectify in a future version.  :)

MySQL day 2

April 16th, 2008

Met with some interesting people last night, and I’ll be posting the contents on webdevradio.com later.  Met with JasperReports people today and obm.org people.  OBM looks pretty powerful.  Currently sitting in the ‘MySQL sandbox’ presentation.

Joe Stump @ MySQL

April 15th, 2008

Listening to Joe Stump from Digg.com talk about SOA and MySQL and some PHP.  One key thing he’s repeating is using a service layer to access data asynchronously.  His advice right now is to group data requests at the top of a user request, do them asynchronously, and then use the data in the rendering when it comes back.  Services_Digg_Request is some code he’s written and published as a PEAR package to demonstrate a technique to help bundle your data requests asynchronously.  The package does a lot of low level socket management to various data endpoints that you want to requests data from (HTTP-only services I believe).

Haven’t ‘dugg’ in to the code too much but the approach seems reasonable.  He’s using the lovely __get() magic methods, which I’m really not a fan of, but perhaps that’s nitpicking a bit.  :)

In discussing HTTP layer requests, he suggests not using Apache, but lighthttpd or nginx instead.

DBSlayer and Gearman were discussed in a bit of detail.  DBSlayer is too tightly coupled to MySQL for Joe’s taste.  Gearman looks cool, but no documentation right now.  Joe and someone from Yahoo are working on a PHP client package for Gearman.  Big issue right now: queue isn’t persistent.  Restarting gearman means that you’ll lose work.  There’s an undocumented workaround – contact Joe for more info.

Other suggestions:

  • run SOA requests in parallel
  • bundle your logic in endpoints to have an endpoint do multiple things
  • keep junior guys away from low-level service writing
  • build in intelligent caching strategies in to your services layer

MySQL conference – xaware session

April 15th, 2008

Xaware.org looks prett slick.  I’m in a session with one of the xaware guys going through the process of using xaware.

OK – we had a long intro, but are finally seeing some screenshots, which look useful.  Xaware will bring value to scenarios with many complex XML documents.  The fewer or less complex your XML files are, the less useful Xaware will be (from the presenter).

I’m not 100% sure why this is necessarily more useful than accessing data directly via XML in Groovy, for example (println results.users.user.name.first for example).  Certainly having a graphic tool to manage the mappings would be useful, but I’m not sure this is a requirement.  Well, nothing is a requirement, I guess.  I think 3-4 years ago I’d have jumped all over this, but I’m not sure it’s targetted at me now.  However, I’m not working on projects with numerous disparate XML data sources.  If I was, perhaps I might see more use.

I wonder if this is 2 way?  Can I publish data to a java data source (exposed via xaware) that would WRITE or MODIFY XML for me?  Don’t know yet.

The demo has been interesting, but the session as a whole didn’t quite match up to the session name = “taming your messy mashups”.  I was expecting more code, not a tool.  It’s not bad, but not what I was expecting.   Watching a visual mapping between COBOL file data and XML structure was interesting.

Still, xaware.org might be a tool you’d be interested in using for XML mapping and reading.

MySQL conference first session

April 15th, 2008

I just got here a few minutes ago and am sitting in in the ‘Future of MySQL’ with Robin Schumacher and Rob Young. Interesting – 5.1.24 RC announced at the conference yesterday. GA scheduled for end of Q2 – 2008. It’s close.

Some nice new things – job scheduling, row-based/hybrid replication, faster full-text search, better “problem SQL” identification, better table/index partitioning. However, as with everything with MySQL, there’s always some catches. With the partitioning, for example, it’s not parallel, nor does it support indexes yet. I hope I heard that wrong, but I don’t think I did (I’m recording it as well).

The Falcon engine is available in MySQL 6.0 alpha, scheduled for the end of 2008. What I’m hearing is that the first Falcon engine betas are now being tuned for performance. The chart I’m seeing is that for many tasks Falcon is 30-50% faster than InnoDB at higher concurrency. Low concurrency (8-16 connections) InnoDB is a bit better. Higher concurrency Falcon is much better.

MySQL 6.0 will have a better backup solution, except there will be no support for clustering. Clustering support has its own backup tool, so there wasn’t a major issue to roll out day one. Apparently the MySQL 6.0 backup will be SQL driven, and was inspired somewhat by MSSQL. “Logical based” backup – it’s writing the insert commands directly, but will be faster than mysqldump. Restore is reportedly much better too.

Power just fluttered and we lost the mic and projector for a bit. Having this happen right during a backup/restore section was priceless.

Restore is a ‘blocking’ restore, so it’ll stop whatever you’re doing. Backup commands will be non-blocking on transactional engines (innodb, falcon) – backup on myisam will still block. :( Plugins coming for non-blocking myisam native backup. Other features (or plugins?) will be encryption and compression for backups ‘on the fly’. Idea is that it’ll use much less disk space.

Massive improvement in optimizations in 6.0. A MySQL 5.0 query that took 12 minutes now is 1.8 seconds. No word on whether that was Falcon engine or not.

Replication for clusters? Interesting in 5.1.

There was some mention of bundling memcached in to MySQL, but I may have misheard that. Woud be cool if so. Looks like a q2 thing.

MySQL workbench – I missed the demo of this, but it’s being reported here as massively upgraded. I hope so – it’s basically been broken for a long time (at least, my experiences under Linux were). Hopefully that’s better now.

Talking about zmanda.com backup tool now.

New engine type – Maria – MyISAM with crash recovery. Slated for 6.0.

This seems to jive up somewhat with Jay Pipes mentioned to me in January at Codemash. Some “optimizer enhancements” are slated in the next year or so, but Jay had said it’d likely be 2010 before there’s massive attention paid to it. Bit of a shame, but it looks like some optimizer changes are hitting some relatively low hanging fruit already.

“Citadel” – dynamic encryption without functions, better security, data auditing (who changed what, etc?). I’ve been wondering for years why SQL databases don’t have an option to log all database changes in to shadow tables. Many people end up writing trigger for that functionality anyway. Doesn’t sound like this Citadel release (next version after 6.0) will have that level of logging, but it’d be cool if it did. :)

InfoBright Data Warehouse Engine – automatic indexing and partitioning – looks like they’re going after the data warehouse market big time.

Rob Young is talking now… I may do more updates on his section too…

Submitted three OSCON papers

February 3rd, 2008

I got a taste for speaking last year, and submitted three more proposals this year for OSCON.  I submitted:

  • Groovy/Grails for PHP developers
  • Open Source Search overview
  • Open Source Risks

We’ll see how these are received.  I hear of people submitting 5-10 proposals and not getting any accepted, yet I submitted only one last year and was accepted.  I guess it has something to do with niche coverage and potential appeal as well as popularity of the topic.  These three above are, hopefully, appealing enough to a variety of people that at least one of them will get accepted.  The “open source risks” one might get turned down just because it sounds like it paints Open Source in a bad light, but perhaps not.  

I didn’t get too much feedback one way or another on my presentation last year, so I don’t know if it went down good or not.  I assume that feedback to the organizers will have a bearing on whether or not I’m permitted back (did I put people to sleep?  did I offend people? etc).

Either way, it’s done now and off my to do list, and it’s not even 9 am yet!

Powered by ScribeFire.

Latest podcast up

January 27th, 2008

I had a good conversation with Joe Fiorini about balancing his daily work in .NET with a passion and enthusiasm for Ruby on Rails.  Have a listen.

Latest podcast up – Codemash Open Spaces – Open Source in .NET

January 20th, 2008

I had a fun time recording this ‘open spaces’ meeting at Codemash last week.  This was led by Joe Brinkman from the DotNetNuke project, and joining us was Kevin Devine from the Euclid Public Library, Sara Ford from Codeplex @ Microsoft, Steven Harman from the Subtext project and – shoot – I do not have the contact info for the other gentleman who is on the talk. Oh wait – yes I do – Jay Wren!   The sound was *decent*, although there was a shortage of mics.  I also accidentally dropped Joe’s volume on a few occasions, but overall it felt like a great chat, so here it is.

Topics include the pros and cons of getting Contributor License Agreements in place on an open source project, building community, a bit of good natured back and forth on Microsoft’s role in all this, interesting comparisons to the Java community, and more.

BTW, this is just a sample of many of the informal chats that happen for 2 days @ codemash.  If you like these types of discussions, join us next year!

The podcast is up at http://www.webdevradio.com

Coulda woulda shoulda – Grails for PHP developers

January 11th, 2008

I had considered submitting a codemash proposal about “Grails for PHP developers”.  I was counseled out of this by a certain someone as it was considered “too niche”.  I probably could have renamed it “Grails for non-Java developers”, and submitted it.  I think I will do that next year (or keep the PHP tag in there), because I think it’s needed.  I think this is a talk I will work on and prepare for OSCON and anyone else who will have me.

I went to two sessions – one Groovy and one Grails – and while both were good, neither, in my view, did a very good job of explaining some of the Java concepts at play to non-Java people.  Also, issues of app hosting for public projects would be huge, especially for PHP devs who are used to every host in the world supporting PHP left, front and center.  For some examples:

It was mentioned that “Grails uses Spring by default”.  What “Spring” is was not discussed at all – what does it provide, what are its parallels in other platforms, etc.

The relationship between the language and the server is pretty well understood to PHP developers in a standard LAMP stack.  Trying to understand the differences between Jetty, Tomcat, Glassfish, etc. is more than a bit daunting (at least it was to me).

Called out comparisons to other Java projects (comparisons to Struts, for example), really don’t do anything for non-Java devs.  Being able to demonstrate ideas and relate them to PHP concepts would be a big help to getting people to appreciate what’s there in Grails more readily.

I’m *not* a full-time Java dev, but I’ve been able to put together ‘real’ Java projects – entire WAR files that can be deployed to Glassfish or Jboss (did both) – because of Grails.  And I was *probably* able to do it faster than an experienced Java developer doing things ‘from scratch’ (just a hunch – I can’t say for certain).  So PHP people looking to expand their skills in the Java world would do quite well to investigate Grails more, but most presentations and material I see gear things towards convincing current Java devs to give Grails and Groovy a spin.  There’s a larger world out there of potential converts.

What do you think?  Would this sort of a talk/presentation interest you?  What other platforms besides PHP might make for useful comparisons?  Perl?  Ruby?