MySQL

The world's most popular open source database

Contact a MySQL Representative


  • MySQL.com
  • Developer Zone
  • Partners & Solutions
  • Customer Login
  • DevZone
  • Downloads
  • Documentation
  • Articles
  • Forums
  • Bugs
  • Forge
  • Blogs
 
  • Pages

    • About me
    • Bio
    • Press Release: “Kaj Arnö Appointed MySQL VP of Community Relations”
  • Blogroll

    • Ein Finnlandschwede in Bayern
    • En finlandssvensk i Bayern
    • It’s some interesting topic
    • Kaj Arnö blog aggregation
    • No Software Patents!
    • Planet MySQL
  • Recent Posts

    • The Embedded Reporter in the Half-Marathon
    • Berlin Open 09: Social Networking
    • Search the planetary archives, and tag your blog entries
    • SELECTing SELECT statements for Wordpress MU blogging statistics
    • How do MySQL users keep track of digital pictures?
    • Presenting and blogging in Chinese
    • On the Merits of Voting
    • The Future of MySQL
    • The Great Open Cloud Shootout: Videos and other links
    • Karen’s Commitments to the MySQL Community
    • What hasn’t changed with MySQL
    • Andy Bechtolsheim to Keynote MySQL Conference on Thursday
    • The Great Open Cloud Shootout
    • MySQL Campus Tour 2009 — aka Dups on Rails
    • MySQL & Google Summer of Code 2009 — time to get going!
  • Tags

    Alexander Arnö Black Swan Blogging Blogs Brazil Business Model Call for Papers Call for Participation CfP Community Contributions David Axmark Event scheduler Football FOSDEM Growth Innovation Ivan Nikitin Language Launch Mårten Mickos Michael "Monty" Widenius Mountains Munich MySQL MySQL 5.1 MySQL AB MySQL Forge MySQL User Conference MySQL Users Conference Nassim Nicholas Taleb Open Source Oracle Paris Partitioning Photography Social Networking South Africa Sun Microsystems Sun Tech Days Thank you Travel Use case Web 2.0 Wordpress
  • Archives



  • Categories

    • Architecture of Participation
    • Connectors
    • Documentation
    • Events
    • Falcon
    • GPL
    • GUI
    • Licensing
    • MySQL
    • MySQL Cluster
    • MySQL Proxy
    • MySQL Server
    • MySQL Users Conferences
    • MySQL Workbench
    • Photography
    • PHP
    • Release Policy
    • Ruby on Rails
    • Running
    • Summer of Code
    • Sun
    • Sun visits
    • Travel
    • Use cases
    • Virtual company
  • Calendar

    July 2009
    M T W T F S S
    « Jun    
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
Observations by Kaj Arnö @Sun

Archive for the ‘Summer of Code’ Category

MySQL & Google Summer of Code 2009 — time to get going!

Monday, March 23rd, 2009

As Colin revealed last week, Google has accepted MySQL for the Google Summer of Code 2009.

We’ve already participated in GSoC 2007 and 2008, so this is our third year running. We know more than before about what’s waiting for us, and so does our mentors and perhaps even some of our students. And in particular, Colin Charles has been our GSoC program coordinator all of these years, so he is quite seasoned by now.

The basic idea for MySQL to participate in Google Summer of Code is to provide students with an opportunity to contribute to MySQL, in return for some attention by our mentors. Or highly qualified and committed mentors of others who develop software tightly coupled with MySQL, for that matter. Well-known community members such as Marc Delisle, Sheeri Kritzer Cabral and Paul McCullagh have been MySQL GSoC mentors and we’re hoping to be able to accept more non-Sun mentors this year. 

We’re now in the phase where mentors and students from inside and outside Sun Microsystems can enter their MySQL related project suggestions to our Google Summer of Code MySQL ideas page.

However, if you’re a potential mentor, you’re in a hurry. The student application opens still today! So while we’re still accepting mentor ideas, beware that the student application deadline is Friday next week (3 April 2009). Not much time for juggling ideas, entering them into the GSoC framework, and preliminiarily discussing with students.

The matching of mentors and students then goes on for a good week, until 15 April 2009. Decisions are announced 20 April 2009.

The coding itself begins 23 May 2009, or more precisely, that’s when Google begins issuing initial payments for students who are “in good standing”.

Mid-term evaluation is 13 July 2009, and work has to be done by 17 August 2009. Final evaluations happen, and final results are announced 25 August 2009.

If you’re a student, here’s what to do:

  1. Identify an interesting project in the MySQL GSoC Forge Wiki page http://forge.mysql.com/wiki/SummerOfCode2009Ideas
  2. If you have a great idea that you think Sun (or somebody else) is willing to sponsor, suggest it on that Wiki page
  3. Look at the Google SoC FAQ page at http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs

If in doubt, email Colin at MySQL.com. But do read his blog entry first!

Looking forwards to an interesting (Northern Hemisphere) Summer of Code 2009!

Posted in MySQL, Summer of Code, Sun | 3 Comments »

Google Summer of Code 2008 Update

Monday, November 24th, 2008

phpMyAdmin and MySQL Forge, along with the MySQL Build Farm initiative were the main MySQL related benefactors of Google Summer of Code 2008. phpMyAdmin got BLOB Streaming support and a simplified setup script, MySQL Forge got RSS and Atom feeds and the MySQL Build Farm got a test schedule.

Directly mentored by phpMyAdmin originator Marc Delisle, GSoC student Raj Kissu Rajandran completed the BLOB streaming support in phpMyAdmin. This is how he describes his project goals (which are now achieved):

It is often common to come across a website, especially a blog, that is built on a pairing of MySQL and PHP. Seeing as how most of those who run such websites on the Internet do not have access to a Shell account or have experience in managing applications from the command-line, applications like phpMyAdmin were built to allow the administration of MySQL databases through the convenience of a
web-base interface. Not to long ago, third-party support for streaming BLOB data was added to MySQL. This feature greatly simplifies the management of streaming content (audio, video) in and out of the database. Being both an avid programmer and frequent user of MySQL, I have decided to take upon the task of adding support for managing this feature in phpMyAdmin. The purpose of this document is to describe this feature and it’s implementation and propose that Google fund its
implementation in phpMyAdmin through the Summer of Code 2008 program.

Raj’s code is now integrated into phpMyAdmin, and he has gained phpMyAdmin committer status. More info:

  • http://code.kissu.org/
  • http://google-summer-of-code-2008-mysql.googlecode.com/files/RajKissu_Rajandran.tar.gz

Mentored by Michal Čihař, GSoC student Piotr Przybylski set out to rewrite the phpMyAdmin setup script. Piotr set out (and achieved) these goals:

Current phpMyAdmin setup script does its job but it isn’t easy to use by inexperienced users. Rewriting it would give them a simple setup wizard which would lead them though the entire configuration, showing only the most important options. On top of that, it would offer an automatic creation of control user and required databases, as well as automated update of existing tables in case these already exist. Advanced users would be able to switch to full configuration wizard and would also benefit from automated control user creation and database setup.

Piotr’s code is integrated into mainline (but he still has some cleanup of the security checks to do). More info:

  • http://lists.mysql.com/soc/283
  • http://google-summer-of-code-2008-mysql.googlecode.com/files/PiotrPawel_Przybylski.tar.gz

Mentored by MySQL Forge’s originator Jay Pipes, GSoC student Robert van der Mast developed an RSS and Atom feed for MySQL Forge. His now completed goals were set out as follows:

I will develop a RSS and Atom feeds system for MySQL Forge (http://forge.mysql.com), so that MySQL Forge users can easily track new items on Forge by just using their RSS/Atom reader. The feeds will be cached to save unnecessary server load.

Robert’s code is integrated into mainline Forge 2.0 code. More info:

  • http://google-summer-of-code-2008-mysql.googlecode.com/files/RobertJonathan_vanderMast.tar.gz

Mentored by Adam Porter, GSoC student Charles Song implemented a Test Scheduler for the MySQL Build Farm Initiative. This is part of the Skoll project at the University of Maryland, “A Process and Infrastructure for Distributed Continuous Quality Assurance“. His now-achieved goal:

The MySQL Build Farm Initiative seeks to create an automated environment that tests MySQL in multiple configurations over a powerful, virtual computing grid provided by community member’s local machines.

Links:

  • http://www.cs.umd.edu/projects/skoll/contribute/mysql.html
  • http://google-summer-of-code-2008-mysql.googlecode.com/files/Charles_Song.tar.gz

Other MySQL related GSoC2008 projects are listed on http://code.google.com/p/google-summer-of-code-2008-mysql/downloads/list where this is the list of all eleven projects:

  • A front end to the mysqlslap program
  • Mysql query analyzing tool
  • Adding parallelism to mysqldump
  • MyBS extension for PHP
  • A Test Scheduler for the MySQL Build Farm Initiative
  • Memcached for MySQL Query Cache
  • RBAC system system for MySQL server
  • phpMyAdmin setup script rewrite
  • BLOBStreaming Support for phpMyAdmin
  • MySQL Forge GSoC project code by Robert van der Ma

Other references:

  • http://code.google.com/soc/2008/mysql/about.html
  • http://googlesummerofcode.blogspot.com/2007/04/so-what-is-this-community-bonding-all.html
  • http://forge.mysql.com/wiki/SummerOfCode
  • http://forge.mysql.com/wiki/Community_Bonding

Posted in Architecture of Participation, MySQL, Summer of Code | No Comments »

Fourteen Summer of Code projects accepted 2008

Wednesday, April 23rd, 2008

This year, we got fourteen Google Summer of Code projects accepted. Colin Charles has informed the students, and things can now get started!

The first step is what’s called the Community Bonding Period. That’s happening right now, and also being facilitated by Colin. Colin has written a summary of the Community Bonding period on the Forge Wiki, and there’s also a general description by Google.

We expect great things from the students. We want them to produce code that our userbase can use as features in MySQL.

Given our high expectations for what the students produce, we don’t expect all fourteen projects to succeed. And we do want our students to be an integral part of the MySQL community even after they’re done with the Summer of Code 2008.

I’d also like to add that we’re grateful for the mentoring participation from the MySQL community, where PBXT and phpMyAdmin are worthy of mentioning.

Looking forward to the code produced, and to Colin’s upcoming blogs on SoC progress reports!

References:

  • http://code.google.com/soc/2008/mysql/about.html
  • http://googlesummerofcode.blogspot.com/2007/04/so-what-is-this-community-bonding-all.html
  • http://forge.mysql.com/wiki/SummerOfCode
  • http://forge.mysql.com/wiki/Community_Bonding

Posted in Architecture of Participation, MySQL, Summer of Code | 2 Comments »

MySQL Summer of Code 2008 opens today

Monday, March 24th, 2008

Today, 24 March 2008, the student application period opens. And it remains open for a week, until 31 March 2008, presumably at one minute before midnight UTC.

If you haven’t already discussed the MySQL related ideas published on forge.mysql.com/wiki/SummerOfCode2008Ideas, do so now.

A good place to first silently lurk in and then actively participate in is lists.mysql.com/soc.

As opposed to last year, you can now also apply for MySQL Worklog Items Open for Community Development listed on forge.mysql.com/wiki/ComContribution_Worklog. Worklog items are internal “todo items” or coding tasks identified (but not yet necessarily being actively worked upon) by MySQL AB, ehh, now Sun Microsystems.

Posted in Architecture of Participation, MySQL, Summer of Code | No Comments »

Navigating categories within my blog

Saturday, December 15th, 2007

With 130 entries in the “MySQL” category and no MySQL-related subcategories, my blog had become impossible to search and navigate easily.

And thus I created a number of new categories for the MySQL entries within my blog. They’re listed in the left navigation bar, below the months, as well as below:

  • MySQL Server, MySQL Cluster, Falcon
  • Connectors: PHP, Ruby on Rails
  • Tools: GUI, MySQL Workbench, MySQL Proxy
  • Events: MySQL Users Conferences
  • Licensing: GPL
  • Architecture of Participation, Summer of Code, Virtual company
  • Other: Release Policy, Documentation, Use cases

I hope this will make my blog more (re)usable.

(The picture is from this summer, when navigating the way up the Großvenediger, a 3662 m high mountain in the Hohe Tauern region of Austria.)

Posted in Architecture of Participation, Connectors, Documentation, Events, Falcon, GPL, GUI, Licensing, MySQL, MySQL Cluster, MySQL Proxy, MySQL Server, MySQL Users Conferences, MySQL Workbench, PHP, Release Policy, Ruby on Rails, Summer of Code, Use cases, Virtual company | No Comments »

Ten accepted projects in MySQL Summer of Code

Thursday, April 12th, 2007

Google just released the list of accepted Summer of Code projects. Overall, Google accepted over 900 student applicants from a pool of nearly 6,200 applications. Out of those, Google accepted 10 MySQL related applications from nearly 40 applications.

I am happy to see the following successful applicants from the US, the EU, Europe outside the EU, and China:

  • Charles Cahoon
  • Jin Chen
  • Umair Mehmood Imam
  • Vangelis Katsikaros
  • Warren Kenny
  • Senlin Liang
  • Mikkel Bach Mortensen
  • Milos Prodanovic
  • Mayssam Sayyadian
  • Andrew Uvarov

and the following mentors (all of whom you can meet in less than two weeks at the MySQL Conference & Expo 23-26 April 2007 in Santa Clara, most of them as speakers) from various groups in MySQL Engineering, and from outside MySQL AB:

  • Brian Aker
  • Colin Charles
  • Timour Katchaounov
  • Sheeri Kritzer
  • Giuseppe Maxia
  • Paul McCullagh
  • Stewart Smith
  • Jim Starkey

The projects include all the ones I mentioned two weeks ago, and a few more:

  1. A performance analysis and anomaly detection tool for database engine, by Jin Chen, mentored by Paul McCullagh
  2. MySQL Load Testing, aka. How hard can I really push this? by Charles Cahoon, mentored by Giuseppe Maxia
  3. MySQLXplorer: Enabling Keyword Search in MySQL Applications by Mayssam Sayyadian, mentored by James A. Starkey
  4. Exploring MySQL’s SQL optimizer by Vangelis Katsikaros, mentored by Timour Katchaounov
  5. MySQL Auditing Software by Warren Kenny, mentored by Sheeri Kritzer
  6. MySQL Based Atom Store by Mikkel Bach Mortensen, mentored by Brian Aker
  7. MySQL Auditing Software by Umair Mehmood Imam, mentored by Sheeri Kritzer
  8. MyWebER by Andrew Uvarov, mentored by Colin Charles
  9. IPv6 network support by Milos Prodanovic, mentored by Brian Aker
  10. MySQL Test Suite Development by Senlin Liang, mentored by Stewart E Smith

Participating in the Google Summer of Code is a crucial step for MySQL in extending the ways in which we are working together with our community. We’ve always been privileged to have an engaged community when it comes to contributing bug reports and helping other users, but this is our first significant step towards systematically working with the community when it comes to code contributions. Some of our best developers are allocated as mentors, and the projects include exciting new tasks that, if successfully implemented, directly extend the very core of the MySQL server code base.

Already at this point, when the Summer of Code is just starting, a number of persons deserve a special thank you note:

  • Thank you, Jin, Umair, Vangelis, Warren, Senlin, Mikkel, Milos, Mayssam, and Andrew, for your great applications — and congratulations on being accepted! Thanks also to the other applicants, whose applications weren’t accepted. Better luck next time!
  • Thank you, Sheeri and Paul, for mentoring projects, even though you are not employed by MySQL! It’s a true privilege that in our first Summer of Code, our community is strong enough to even provide mentors, helping others.
  • Thank you, Brian, Colin, Timour, Giuseppe, Stewart, and Jim, for taking the time to be mentors, on top of your “normal” duties for MySQL!
  • Thank you, Sheeri and Brian, for mentoring two projects each!
  • Thank you, Jeffrey Pugh, VP Engineering of MySQL, for allowing and encouraging the MySQL engineers to be mentors!
  • Thank you, Colin, for coordinating and arranging MySQL’s participation in the Google Summer of Code!

And above all, thank you, Google, for setting up the Google Summer of Code!

Posted in Architecture of Participation, MySQL, Summer of Code | 2 Comments »

Evaluating the MySQL Summer of Code Applications

Wednesday, March 28th, 2007

Having taken a look at the 35 MySQL Summer of Code applications, I can now say that we have several very strong applications, such as:

  • IPv6: Enabling MySQL to connect over IPv6 internet
  • MySQL Based Atom Store (storing Google GDATA in MySQL)
  • Test case development / Load testing
  • Test suite development
  • MySQL Auditing Software
  • The “anti-profiler” - a performance analysis tool for database engines

For several of the above, we have multiple good applications. The applicants come from recognised universities across the world, not just the US and Europe. Some have extensive experience from professional software development. Sadly, we will end up having to reject several good proposals.

In addition to the challenging task of picking the best applications, we also have to prepare them for Google’s final approval. We expect to get it done by Friday, and Google to have approved (a subset of) our recommendations by the end of next week.

Posted in Architecture of Participation, MySQL, Summer of Code | No Comments »

35 Applications for MySQL Summer of Code Grants

Tuesday, March 27th, 2007

Today, the time closed to apply for student positions at MySQL Summer of Code. We are very fortunate and thankful to have got 35 applicants fulfilling the formal requirements of an application fully entered and coupled with a task announced on http://forge.mysql.com/wiki/SummerOfCode — thank you!

Our next task is to narrow this group down to the number of projects which can actually start. This will be a much smaller number. Even in the theoretical case that Google would allow us to have 35 projects (and they won’t), we don’t have the internal mentoring resources to guide that many Summer of Code projects.

Colin Charles has already been quite busy replying to the incoming flood of applications, insisting on them being more specific than “I’m in, just give me any task!”. Still, some applications are a bit too general for us to be able to pick them. For the others, we will group them into projects that

  1. affect the MySQL Server code base
  2. affect the code base of a MySQL Connector
  3. affect the code base of a MySQL GUI tool
  4. expand or improve the test suites of MySQL Server
  5. introduce new code bases for MySQL AB itself
  6. involve the code bases of entities in MySQL’s ecosystem

where the last category is quite an interesting one, where both Sheeri Kritzer and Paul McCullagh have signed on as mentors and have cool projects described on the Forge Summer of Code page.

Expect us to be done next week, in time for the Google Summer of Code deadline for picking projects. In the meantime, we will be quite busy internally pairing up the tasks with the most suitable mentors.

Posted in Architecture of Participation, MySQL, Summer of Code | No Comments »

MySQL Summer of Code: Apply now, window closes 24 March 2007!

Thursday, March 15th, 2007

As I wrote a few days ago in my blog, MySQL is participating in the Google Summer of Code 2007.

The application process for students has now been opened! You have just one good week of time to apply, as the window closes 24 March 2007.

To participate in MySQL Summer of Code,

  1. Read my blog announcement on http://www.planetmysql.org/kaj/?p=89
  2. Read Google’s Guide to the GSoC Web App for Student Applicants at http://groups.google.com/group/ google-summer-of-code-announce/ web/guide-to-the-gsoc-web-app-for-student-applicants
  3. Go to the http://forge.mysql.com/wiki/SummerOfCode page to pick one or several MySQL related projects that interest you
  4. Load the http://forge.mysql.com/wiki/SummerOfCode/ApplicationTemplate page for the MySQL related application template, to use as a reference for when you fill in the application itself in the next step
  5. Go to the Google Summer of Code Student Signup page at http://code.google.com/soc/student_step1.html and start the signup process itself. Be prepared that it can take a while to fill in.

When filling in the GSoC application, remember that we expect you to follow our Application Template mentioned above. I.e.

  • Your application needs to be concise.
  • Your application needs to follow our format.
  • First you give us your personal details,
  • then what you plan on doing,
  • then all your actual experience (broken down, for easy reading),
  • then what exactly you intend on delivering (the most important part), and
  • finally, a simple Yes, I’m willing to sign the MySQL CLA at http://forge.mysql.com/wiki/MySQL_Contributor_License_Agreement

If at any point you need assistance, please don’t hesitate to contact MySQL’s Summer of Code Project Administrator Colin Charles (colin@mysql.com).

Posted in Architecture of Participation, MySQL, Summer of Code | No Comments »

Global Warming & Google Summer of Code

Monday, March 12th, 2007

What happened with the MySQL Winter of Code? It was hit by Global Warming. Specifically, the Community Team got heated up working on the MySQL Conference & Expo 23-26 April 2007, left with little bandwidth to pursue the ideas and action items for Winter of Code.

When winter warms up, it slowly turns into summer. But the coding work remains. Colin Charles was smart enough to combine these two facts with Sheeri Kritzer’s blog entry and hints about the Australian Winter, and took action related to the Google Summer of Code. Colin spoke to Chris DiBona and Leslie Hawthorn of Google and has now signed us up for Google Summer of Code.

In short: We are transitioning the Winter of Code to the Google Summer of Code, and we today sent in our application to Google.

While I am not happy about our not having been able to devote the necessary resources to our WoC, I am happy that the Quality Contribution Program has been launched and had some early successes — like when Martin Friebe submitted a bug report including a test case and a bug fix code patch, which enabled usto verify the bug and apply the fix within two hours of the bug report. Thanks Martin Friebe, Giuseppe Maxia and Chad Miller!

In an attack of misguided pride, we at MySQL AB could choose to feel bad about not having found or fixed that bug ourselves. I don’t. Bugs are a fact of life, and it’s our task to architect our model so that they’re fixed fast. We hate bugs! And we love those who help us kill them!

The Quality Contribution Program has oiled our internal processes for being able to receive, process, review and accept external patches — something which we traditionally haven’t been good at.

In fact, we haven’t been creating as much of an Architecture of Participation at MySQL, as we should expect. What’s an Architecture of Participation? Let me quote the two first sentences from Wikipedia:

The phrase architecture of participation describes the nature of systems that are designed for user contribution, such as open source and Wikipedia. It was coined by Tim O’Reilly, who described it at length in a 2003 speech and later in several of his online writings.

The phrase has come to define one of the key elements of what’s been called Web 2.0, which describes the collection of companies, technologies and projects that are designed around the culture and economics of openness.

Now starts the next step in opening up the MySQL Development Model. The two things that SoC require of us are the same as what an Architecture of Participation requires of any organisation:

(i) identifying mentors
(ii) identifying features to implement

Identifying mentors: Experienced developers need to “Adopt A Programmer” and guide these contributors on the MySQL source code, and how to implement the features they (or we) want them to develop. This takes several hours a week, but if well done, it’s as rewarding for the mentor as it is for the students being guided.

While folks running MySQL University are ideal mentor candidates, I would argue that students at MySQL University also qualify. We absolutely want more than the topmost ten hotshot developers at MySQL as mentors.

Identifying features: In the tentative Winter of Code plans, we proposed large, ambitious tasks

  • Improvements to (pure drivers for) Perl, Apache APR, Python, Ruby or new connectors for emerging environments
  • New Storage Engines: The Mail Inbox Format Storage Engine, the File System Storage Engine for Windows, for Mac, for Linux, or the Digital Picture (JPG / EXIF) Storage Engine

However, for SoC, we have tasks of all ambition levels — and have not limited ourselves to entirely new features. Jeffrey Pugh, our VP Engineering, and his Dev Leads have provided Colin with a digested list, that Colin is managing at http://forge.mysql.com/wiki/SummerOfCode and that currently has the following item headers

  • Test Suite Development (Stewart Smith)
    mysql-test-run.pl and mysqltest
  • Test case development (Giuseppe Maxia)
    Code coverage improvement
    System Tests - Load Tests and Long-Running Tests
    Test creation tools
  • Benchmarking the MySQL Server
  • Instance Manager fixes
  • Integrate MySQL Cluster with Instance Manager
  • INFORMATION_SCHEMA tables for MySQL Cluster status
  • MySQL Based Atom Store
  • Simple P4 bugs/features involving options/flags on bugs.mysql.com
  • Simple features from Worklog, our detailed todo list

At last query, the MySQL bugs system had over 1,499 bugs filed in a Priority 4 state, which means they’re Feature Requests (Severity 4). While all of these are “up for grabs”, we don’t expect our Summer of Code students to pick their favourites from such a long list. Soon, we’ll rank the top ones based on our judgement of how interesting the features are to use, and how easy they are to develop.

So, if you’re interested in participating in our Summer of Code, what should you do?

  1. Look for interesting projects in our project list on MySQL Forge.
  2. Fill in an application according to our application template, also on MySQL Forge. Do this on the Google Summer of Code web app that will be live from 14 to 24 March 2007.

And if you have questions, feel free to contact Colin Charles and/or myself over email, firstname@mysql.com.

Posted in Architecture of Participation, MySQL, Summer of Code | No Comments »

Observations by Kaj Arnö @Sun is proudly powered by WordPress MU running on Blogs.mysql.com.
Entries (RSS) and Comments (RSS).