Monday Aug 10, 2009

ADO.Net Entity Framework on MySQL

Reggie Burnett, the lead behind MySQL Connector/NET, will be presenting a MySQL webinar, "For ISVs: ADO.NET Entity Framework for MySQL", tomorrow at 10 Pacific Time!

Among other topics, Reggie will discuss how to

  • Develop your application against SQL Server and then switch it to MySQL with zero code changes

  • Optimize your database schema without requiring any code changes in your application

  • Use LinQ syntax for type safety in your applications

(Interest in using MySQL on Windows is growing. The 2008 MySQL OEM Annual Survey, which closed in March 2009, shows that some 73% of MySQL OEM customers develop applications on Windows, and some 59% deploy these applications on Windows.)

If you're interested in Windows programming with MyQL, do not miss Reggie's other upcoming webinar for Sept. 15: "For ISVs: What's New in MySQL Connector/NET 6.1".

Thursday Jun 04, 2009

Brief on MSA 2

Elsewhere, I wrote a brief on MSA 2 ("Mobile Service Architecture 2").

Raison d'être of JavaOne Conference

Elsewhere, I wrote about the Raison d'être of the JavaOne Conference.

Network Management Data Reduction and Smoothing -- A MySQL Webinar

ScienceLogic embeds MySQL in its EM7 network management appliances. An installation of EM7 can perform over half a billion database queries daily, storing massive amounts of data for both real-time and trended performance reporting.

Michael McFadden, senior software architect with ScienceLogic, will discuss all this in an upcoming MySQL webinar.

Monday Jun 01, 2009

SunRay @ CommunityOne

This year, at CommunityOne and JavaOne, every user has access (through their registration smart cards) to arrays of SunRay  clients and a choice of Windows, OpenSolaris and Ubuntu desktops accessed through the SunRay clients. The system is powered by SunRay servers and VirtualBox virtualization environment. I'm using one of the SunRay 270's to write and post this blog. (I selected the Ubuntu desktop.)

Wednesday May 27, 2009

Haskell and Python

Luke Plant's short note ("Why learning Haskell/Python makes you a worse programmer") actually motivates the reader to learn more about Haskell and Python

Sunday May 10, 2009

Sun Contributor Agreement and MySQL

On my last count, there are now 20+ Sun Contributor Agreement (SCA) signatories whose names appear on the master list and who are interested in contributing to MySQL. Only this week, three new members signed the SCA.

These 22+ signatories have all been added since mid-February when we launched the new, Sun-compliant SCA signing process. Before the end of 2009, if we proceed at this same rate, MySQL SCA signatories list should grow to about 70 to 90 contributors.

In the meantime, contributions from many of these contributors have already been accepted and integrated. (I had earlier pointed to Armin Schöffmann's contribution as a simple example of how all this works.)

Some people continue to wonder why an SCA is required.

First of all, it is important to note that by signing the SCA the contributor retains copyrights while also granting those rights to Sun as the project sponsor. This granting is very specific to a particular code base and the community around it. (This is a code base that has been available under GPL.)

Second, as I have summarized, in a series of Golden Rules for Open Source Contribution-Based Communities, several important rules for such communities help it to operate well. As part of rule G, "Setting Expectations," I did mention how

2. Anticipating the future and related risk management helps all market participants to reduce transaction costs.

However, I failed to add that an important ingredient in that risk management is the management of ownership claims.

I believe this particular aspect of rule G, which is implicit there, and which perhaps needs to be made more explicit, explains clearly why something like an SCA is required in order to maintain a flow of contributions to MySQL in a form that allows clear code ownership. 

Note that other open-source communities, such as the Apache Software Foundation, also require their own contributor agreement. Often, these agreements are there to protect the maintainers of the project/product or the general integrity of the products' ownership.

BSD-based communities seem to avoid this need by posting various clear signs in various places -- in their member-initiation or commit e-mails -- that all contributions are made under BSD. However, these communities have remained somewhat fragmented due to the greater openness of BSD licenses. Don't get me wrong. I love BSD. Note that often, BSD contriutors would rather contribute to a BSD project. The whole objective of contributing to a BSD project is that you are building a based that can be used by anyone for open and closed business with that same base. This is very unique to BSD type or Apache type licenses and forms one of the main reasons contributors contribute to these projects.

So, let's now go beyond the question of SCA and see what else is going on.

The update and simplification of SCA submission process for MySQL, came along with equally important simplification of forge pages for contributors and with an effort to speed up the review of contributions and continuting with greater openness in MySQL development processes. [These apparently fragmented but hopefully useful (and ultimately coherent) steps have all been part of a larger initiative to facilitate openness, community participation and contributions. Again, please refer to the Golden Rules. Hopefully, you can faciliate and help the MySQL community to get more open and vibrant as an open-source community.]

It is important to note, here, that roots of this initiative go back to some years earlier. So, the initiative is related in part to a continuing series of efforts to make MySQL more open and more contributor friendly, including the famous "quality contribution program," which was originally launched by the MySQL community team. (In a sensem the "quality contribution program" has evolved into this simpler, more robust model and many of the lessons learned there have also been applied and used here.)

Under the SCA, contributors can contribute to all MySQL open-source products in open forums and issue tracking "systems"-- internals list, bug tracking system, worklog system. I put quotes around "systems" because there's more to be done to make these systmes work better together in a more open environment. Note that the MySQL team prefers to receive code contributions and bug fixes through the first two modes because those two modes (i.e., bugs db issue tracking and the internals mailing list) better afford two-way communications. Note, too, that contributions can be at the level of bug fixes or features.

Why would anyone contribute?

Well, there's a great deal of challenge to contribute anything to a software as sophisticated and complex as a database.

Besides the reputational effects, there's also this practical effect that once a contribution has been absorbed, the contributor will no longer have to worry about constant merges to get the effect he or she expects form MySQL.

Of course, there are many other reasons as well. For example, there are those who are just problem solvers, and find it exciting to contribute to MySQL. However, let me stop speculating on this any further. Instead, let me point you to an "internals" posting by Stefan Hinz, regarding a "MySQL University" session on replication features in 5.1 and 6.0.

Thursday Apr 30, 2009

Derby, the Cauldron and Java DB

Apache Derby project is the cauldron where Sun starts the forging of Java DB, Sun's distribution of Derby and the premier Java database in the world!

Most recently, Knut Anders Hatlen, Java DB engineering and committer to the Apache Derby project, has been writing about the new features being shipped in Java DB 10.5.

It is important to know that Java DB is a project 3 years in the making, and we're now witnessing people interested in installing this database in hundreds of instances, in the middle tier of their applications. Java DB is particularly unique because it can easily be embedded with a Java application in a JVM. (Anyone who has studied Java somewhat closely should already be completely familiar with this fact.) 

You can review the derby-users list on Apache to discover the level of sophistication in the user community, or go to the derby-dev list on Apache to discover and contribute to recent ideas and development with Derby replication.

In one of his many Derby 10.5 preview blog entries, Knut describes the use of generated columns, and follows up on their usability in a particular example involving case-insensitive search.


Thursday Apr 16, 2009

A Real Student Bargain for JavaONe


This year, JavaOne let's students get in free!

Plus, they can sign up for CommunityOne at the same time.

Both passes are full conference passes with access to everything!

Educators can also get in free when they bring 10 students with them to the conference. If they aren't able to do this, they still get a fantastic deal of $895 for a full conference pass.

This is an unprecedented bargain and discount!

What is a Full Pass?

All the benefits of a FULL conference attendee, which includes: JavaOne general and technical sessions, panel discussions, HOLs (Hands-on-labs), BOFs (Birds-of-a-feather), the Pavilion and the After Dark Bash / Networking Mixer! Not to mention a "hang space" (which includes video games, movies & more!), plus you will be able to check email any time at one of our many hacker stations.


Admission to the CommunityOne Deep-Dives. What does this mean? FREE training by our very own SLS on some really great topics, plus hugely discounted certification (vouchers will be handed out at the event)- certification can even be done on-site! There will also be numerous parties and chances for you to network with the best and brightest in the industry, from community leaders to "Rockstars" and everyone in between.

Tuesday Apr 07, 2009

Three Great Beta Deliveries in One Week

Three great beta deliveries in one week!

MySQL Connector/.Net 6.0.2 beta, a new version of the all-managed .NET driver for MySQL.

MySQL Connector/C++ 1.0.4 beta, a new release providing  C++ API for connecting client applications to the MySQL Server. If you know JDBC, this should be familiar to you.

MySQL Connector/C 6.0.0 beta, a new version of the C API for accessing MySQL database servers

Use them and let us know what you think.

Learn more about Connector/C++ here.

Learn more about Connector/C here.

For FAQ on MySQL Connector/C; MySQL Native C API; libmysql; libmysqld, see here.

Addendum (April 9, 2009):

Ulf Wendel has just announced the alpha version of the MySQL driver for Open Office. (Thanks go, also, to Andrey Hristov who did much of the work behind this! For a full list of credits, see Frank Schoenheit's note.)

Instead of calling the MySQL Client Library directly, as the earlier versions did, the new version relies completely on the MySQL Connector/C++. (See above.) As Ulf notes, "Connector/ is a thin wrapper around Connector/C++. and the MySQL Connector/C++ are written in C++. The database interface is derived from JDBC. Connector/C++ offers a JDBC like API."

Tuesday Mar 31, 2009

MySQL Community Contribution: One bug fix at a time ...

It is all about one bug fix, one little feature, one step at a time.

Armin Schöffmann fixed a bug (Deadlock in mysql_real_query with shared memory connections, is what Armin calls it), Armin signed the Sun Contributor Agreement (24 March 2009), Vladislav Vaintroub and Davi Arnaut reviewed, committed and queued the patch to MySQL 5.0 bug team (26 and 27th of March, 2009).

That's a great example of open, contribution-based MySQL development with real results.

Thank you Armin!

Thank you Vlad!

Thank you Chad!

Thank you Davi!

Thank you ... the one whose name I've left out! (Feel free to leave a comment below.)

MySQL Ideas for Google Summer of Code (GSoC)

Check out the ideas from MySQL for Google Summer of Code 2009!

These are specially-selected projects for students who are looking to do some coding in a real, open-source, highly-adopted software environment. 

The learning experience will be tremendous given that MySQL engineers will be mentoring them. 

Some student stipend is provided by the Google Summer of Code. It is intended for students to gain "exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits."

Monday Mar 30, 2009

A Toast to Marten Mickos

As Marten Mickos gets ready to move on, his executive buddies raise a toast in his honor.

Friday Mar 27, 2009

Microsoft Takes Note of MySQL

In a Financial Times report today about RedHat's quarterly earnings, Sam Ramji of Microsoft takes note of MySQL and its influence as a key component in the general move towards open-source software:

Larger deployments of open-source to firms that already run the technology in a small way might be the most that happens, due to the fact that recessions make IT managers worry about risk. For the same reasons, a recession is not the time to switch a workforce to a new technology.

Microsoft is counting on that, while accepting that every leading company will soon be running at least some open-source software.

“It’s a heterogeneous world,” said Microsoft’s Sam Ramji. While Microsoft continues to warn about the legal and economic perils of relying on Linux and similar systems, Mr Ramji’s role is to make sure that open-source programs already in use can work in conjunction with Microsoft software.

That way, just because a company is using the MySQL open-source database, it will not feel compelled to put it on top of the Linux operating system. By some measures, that defence is working well – Mr Ramji said 56 per cent of MySQL instances were running on Windows.

Then again, the easier Mr Ramji makes it for IT buyers to economise by putting open-source in more places, the more they will do just that and undermine his business in the longer-term.

Friday Feb 13, 2009

Contributing Code to MySQL -- Some Simple Guidelines

If you would like to contribute to MySQL development, you can read the relevant top-level page on the MySQL Forge.

This page has some useful links to various forms of contributing to MySQL, including contribution of code to MySQL. (The MySQL|Sun team have recently simplified some of these pages in order to make them more useful to community members and potential contributors.)

Note that after some simple paperwork submitted to Sun ("Sun Contributor Agreement" or "SCA"), any signatory can contribute to any Sun-sponsored open-source project, including to MySQL.

It is a common parctice to require initial paperwork to clarify rights to the contributed work. This practice is also used by other open-source communities such as the Apache Software Foundation.

It is worth quoting, from the the master document, that

As we gain more experience, absorb more contributions and receive feedback from the contributors, please expect some modifications to the contribution system described here.

Wednesday Feb 11, 2009

Vibration Effects on Discs

This video, which I originally found on Jonathan Schwartz's blog, demonstrates, in a laboratory "study," how vibration on discs can be detected by D-Trace instrumentation in FISHworks (FISH stands for Fully Integrated Software and Hardware). The lesson: Don't Shout at Your Discs!

Sunday Feb 08, 2009

Interoperability and Innovation

Most software professionals already know about the important role interoperability plays in fostering innovation. In a recent commentary in Financial Times ("Interoperability: the great enabler"), Michael Schrage, a researcher with the MIT's Sloan School of Management notes

Barriers to interdisciplinary innovation tumble. Favourable economics of interoperable innovation will tempt ambitious "inter-preneurs" to test their ideas.

How might interoperability between Siemens cochlear implants, Apple iPhones, Nike running shoes accelerometers, LG microwave ovens, Nintendo Wiis and BMW Series 3 Sedans create bold entrepreneurial, or diversification, opportunities? Who knows? But the fact that the question piques curiosity reveals fundamental changes in the global innovation climate.

A new innovator's dilemma begins to attend the extent of interoperability in products. 

Thursday Feb 05, 2009

Golden Rules for Contribution-based Communities

There are some basic, golden rules when it comes to having a vibrant community of contributors.

The following are rules I have extracted and learned based on my experience managing and working with engineers actively involved and participating in the Apache/Derby, PostgreSQL and MySQL open-source communities. These rules are also based on extensive discussions with many folks involved with the MySQL community, with the PostgreSQL community and with the Apache/Derby (Java DB) community, over many years.

Before I go through these rules, I would like to thank Marten Mickos for having suggested some of the headings for these rules. (I originally had much longer headings for all of them.) I would also like to thank many of MySQL, PostgreSQL and Java DB colleagues, as well as to many other colleagues involved in open-source development, for having contributed to the ideas and practices behind these rules.

A) Transparency.
1.Often, this openness can span all the way from development (architectural specification, implementation design and planning, implementation, code review and walk-through) to testing, qualification and release.
2.It may be possible to move towards greater transparency over time but openness in development is often the minimum starting point. 

B) Dialog.
1.It should be possible to conduct open dialog and conversation regarding any aspect of the development (and other aspects of) work.
2.When mailing lists and other archive-able communication channels (such as wikis) focused on development work are opened up, it becomes easier to conduct open dialog and conversation regarding the development work. 
3.Of course, when a corporation or business concern contributes (either as a major contributor or a minor contributor) to the development of an open-source product, it is to be expected that some aspects of the development work (e.g. those related to specific customer needs) may remain obscure through mechanisms such as withholding of a customer's name. 

C) Pace.
1.It should be possible to track the fate of any contribution and have a public archive of the conversation conducted regarding that contribution—recording decisions made and various feedback loops in time for the purposes of learning and further work.
2.For this purpose, it is often sufficient to have a time record of the conversation conducted with respect to the given contribution.
3.These records can be searched to determine the fate of the contribution.
4.These records help provide a learning platform for the future contributors.

D) Setting Expectations.
1.Using available and open information, the contributor community should be able to form and entertain valid expectations regarding milestones, releases, timelines, etc.
2.Anticipating the future and related risk management helps all market participants to reduce transaction costs.

E) Small is Beautiful.
1.While it should be possible to absorb contribution of any size, emphasis should be put on  absorbing smaller and incremental contributions.
2.To create mass and momentum and community and quality, it helps to encourage smaller contributions.

F) Differences.
1.Not all contributions are equal.
Contributions are judged by whether they are well designed, fit into business roadmaps, are well documented, comply with standards, do not produce regressions in the code and improve performance.
2.Not all contributors are equal.
Contributors vary in expertise, skill and experience.
These variations give meaning to the practices and procedures of the contributor community.

G) Places.
1.It is clear where one needs to work.
There are enough branches or trees to serve distinctly different target groups.
2.Trees and branches are well-groomed.
Active code branches or trees are kept at a minimum set in order to keep the product roadmap and expectations coherent.

H) Parallelism.
1.Contributions are added in parallel with frequent synchronization so that community participants can respond to each others' work.Parallel work leads—naturally and out of brute necessity—to modularization, better and faster integration.

I) Incrementalism.
1.Work is conducted in increments.
2.Each contribution does one thing.
3.Each contribution has a test case that exercises it.

J) Learning.
1.Contributor community assets (channels of communications, forums, bug databases, etc.) are developed to improve learning by all participants and contributors.


I'd like to thank Brian Aker, Knut Anders Hatlen, Davi Arnaut, Kaj Arnö, Jorgen Austvik, Igor Babaev, Mark Callaghan, Peter Eisentraut, Sergei Golubchik, Shawn Green, Lenz Grimmer, Rick Hillegas, Stefan Hinz, Geir Hoydalsvik, Henrik Ingo, Alexey Kopytov, Mark Leith, Dmitry Lenev, Manyi Lu, Giuseppe Maxia, Paul McCullagh, Mårten Mickos, Chad Miller, Francois Orsini, Konstantin Osipov, Trudy Pelzer, Sergey Petrunia, Jay Pipes, Jeffrey Pugh, Ole Solberg, Georg Richter, Mikael Ronström, Kristian Waagan, Dag Wanvik, Monty Widenius, Jeff Wiss, and more.

Monday Feb 02, 2009

MySQL Conference & Expo Coming Up

MySQL Conference and Expo is coming up to Santa Clara this April.

The program schedule is really easy to navigate and tells you about everything there's to partake of.  

A quick review will show you that the  quality of the no-nonsense presentations will be amazing, and it will be a true privilege to attend the conference. (We should thank the MySQL community team for helping ensure this high level of technical quality and relevance.)

Thursday Jan 29, 2009

Wikipedia on Sun | MySQL Servers

Wikimedia Foundation is expanding Wikipedia to multimedia with Sun Open Storage Solution and MySQL Database:

Wikipedia receives between 25,000 and 60,000 page requests per second, depending on the time of day. Wikimedia needed to update its infrastructure to handle this huge volume of traffic and ensure that its systems were reliable, highly available, and easily scalable. It also wanted to expand its upload file limit from 20 MB to 100 MB to accommodate rich media (audio and video) content, but before it could do that it needed to expand its storage capacity.

It is great to see that how the most important non-profit content provider on the web grows and it is great to be part of that growth.

Wikipedia should be the subject of extensive studies in various fields of sociology, economics and information systems: social knowledge, open-source, open-content, markets, information economics and open-scoeity.




« April 2014