Opinions, Expertise, Passion.

Information in black and white, and sometimes some color.

Mar
30

New addition to my blog

Link to this post


You may have noticed some icons besides any web links such as This. I have added Snap Shots to my site. I first noticed it on www.techcrunch.com and after some analysis saw the potential. They even provide a WordPress plugin making that part easy.

Posted under Application Software, Professional, Web, Web Sites on 30 Mar 2008
Comments (0)
Mar
30

A clarification of evil

Link to this post

Earlier I wrote in The Sun Download Manager is evil a subsequent generalization, and I wanted to make a clarification. I stand my by title, but not that the entire company is evil. Perhaps are 1am and being tired, and rather peeved I could not download the free software with any ease I needed to as they say “sleep on it”.

Let me further detail why the Sun download manager is simply to never to be used without due consideration. You first have no choice, if you use the Sun Download Manager to download software (I’ll have to review if you even have an option not to use it), you must accept the SSL trust requirement, to not accept is to not use the download manager, so straight away you have no option (this is the path to being evil). When you accept the trust of the download manager, you are signing over your entire computer to the software to which you don’t know what it’s really going to do. This is in essence how a Trojan horse works. This is how software from other sources can deceive people, even destroy all information on your computer. Combined with the fact that the download manager does a really stupid thing and places files in the ‘root’ directory of your machine is also something you should never allow and never do.

I really want to bring this to the attention of people, because I have plenty of friends and family which don’t understand computers as much, and what’s possible, and if say the trusted a Java Applet from Sun, they might just do this next time with a program who’s intent is to destroy, damage or transmit information on your computer.

This leads to the real justification of virtualization and always doing any web surfing or use in a dedicated virtual environment, however until this becomes simpler for the end user it’s not easy to configure and explain to a less experienced user.

Posted under Professional, Sun on 30 Mar 2008
Comments (0)
Mar
30

When technology just works

Link to this post

Today I needed to visit a medical specialist for collection of something. I had to pay $250 as my insurance did not cover. I sent a check as requested however today they had not record of receipt. Not wanting to write a second check and then find they cash both, I logged onto my online banking right there with my iPhone (miracle I could remember my login and password as all important logins like this are different and normally I need my notes) and I’m able to confirm deposit and even view a scanned copy of the check. Confirming the date they are still unable to find. I’m able to use an office computer and print out this confirmation to show them proof of payment.

The technology of the iPhone and the thoroughness of my bank online check verification solved the hassle, simplified the confirmation and greatly reduced the stress of the situation. At T-2 days the technology worked and I was most grateful.

Posted under Apple, Professional, Web Sites, iPhone on 30 Mar 2008
Comments (0)
Mar
28

A day with Paul McCullagh - Architect of PBXT and BlobStreaming

Link to this post

Continuing on from my lightning visits with Jan Kneschke and Michael Zinner, today I got to spend a day with Paul McCullagh at his home in Hamburg Germany.


Paul is the architect of the PBXT Pluggable Storage Engine for MySQL 5.1, and also the Blob Streaming Storage Engine. His work was acknowledged with the MySQL Community contributor for the year in 2007. The successful PrimeBase product for the publishing Industry in Europe and North America also now uses PBXT for underlying data storage which is great to see a company use it’s own products.

Like each friend and expert this week, Paul develops using Mac, but at least uses the US English version & keyboard layout, not the German layout. As Paul states, “the German version is not productive for coding”.

Paul uses NetNewsWire Lite as his RSS feeder, as I observe some PlanetMySQL links. I’m more old school, I just go to the site every few days. I really should move from the dark ages, one advantage is the RSS feeder shows you what you have read.

However, there is a particular reason why I visited Paul, other then to spend some time with a good friend. I’m doing more investigation regarding making coding changes to MySQL, and I’m very out of the development cycle. I’ve forgotten more then I remember with C++ and in particular the tools and techniques used to develop, debug and deploy. Of course I know what I need to do, I just need to know what now is the most efficient means of doing today.

Paul uses Xcode to view and edit his MySQL code. The development environment provided by Apple is good for Java and C++. As an Eclipse person from my Java days, I was using CDT for my C++ environment. XCode is used for project management (i.e. looking at files in project) and for file editing. A standard terminal is used to do make. Xcode can do a quick compile for syntax checking and you get a list of errors and hot links to lines of code.

The next key part is debugging, and you can very easily define executables and enable you to run in an integrated debugger. A good option testing is to run mysql test with is –manual-gdb. This gives you the command you can run. What Paul does it copy the parameters, and add to an executable defined within XCode, the arguments from the –manual-gdb output.

The MySQL source tree was added as a project but only partial source directories such as (storage,sql,include) are required. You do need to make sure it does compile (but necessary for a build via Xcode.)

Additional debugging help is In xcode you can do jump to variable definition. So you can add breakpoints, and then run the defined executable that was build via command line make, and copy mysqld binary to initially deployed directory.

Regarding testing, we got to talk again about the issues with the MySQL Test Suite including the issues I encountered while working with Nitro. Hard coded storage engine syntax such as such as engine type=Innodb make testing more complicated then necessary. MySQL test requires some modifications for pluggable storage engines. You need to add a row to the plugins table via mysql_system_tables_data.sql to enable –default-storage-engine=pbxt as a command line argument. Paul did state that on using the MySQL testing suite, the Perl version is a great improvement in performance.

So now I understand the environment, I get onto my problem, and we are specifically looking at the thread sort_buffer and sql/filesort.cc

So when I ask about a few lines of specific code, Paul shakes his head, and says “This looks crazy”. After we spend some time on it, his comment is upgraded, “this doesn’t look crazy, it is crazy. When you look at the effect of the code, it appears it can be done in 3 lines, and it would make sense what it is doing.” This is worth further discussion in a future post.

One last tip learned. You need to be careful with multiple versions and open projects of the same, not to make changes 1/2 in one version and 1/2 in another version.

Posted under Databases, MySQL, PBXT, PrimeBase Technologies, Professional on 28 Mar 2008
Comments (1)
Mar
27

Limiting your result set, but getting count of all rows

Link to this post

In reviewing some of my notes I thought it was relevant to ensure this small MySQL gem is documented for my history purposes.

Historically I’ve seen people do a complex SELECT statement twice, first to get a COUNT(*) and then to retrieve the data, perhaps in a paginated format. In MySQL you can combined both SELECT statements into 1 SQL. You still need a second SQL statement, but it is less impactful to your system.

Here is how?

mysql> select sql_calc_found_rows * from mysql.user limit 2;
...
2 rows in set (0.01 sec)

mysql> select found_rows();
+--------------+
| found_rows() |
+--------------+
|            5 |
+--------------+
1 row in set (0.00 sec)
Posted under Databases, MySQL, Professional on 27 Mar 2008
Comments (3)
Mar
27

The Sun Download Manager is evil

Link to this post

Well, following my rather unimpressed first attempt to download Open Solaris I registered a second account and this time it worked, go figure, there must be a “annoy MySQL ex employees feature there”.

The Sun Download manager kicks off with an Open .jnlp with Java Web Start (Screen 1), ok, whatever. You then get a SSL warning and well whatever as well (seems weird) (Screen 2), then the Download Manager kicks of downloads in this case 2.3GB (Screen 3).

So next day, I’m looking for the iso, can’t find in my ~/Downloads, and infact a search across my entire home directory does not find the .iso What the. You are telling me after all this I still don’t have the iso file.

Long story short, it’s been saved in the ‘root’ home directory i.e. ‘/’. Holy crap how can you do that, and any idiot knows you don’t put files there. The Options page, which you can get to after downloads (Screen 4) allows you to change the download directory, but the damage is already done. Scratching ones head to work out how without password access this was possible, you have to read the fine print as highlighted on screen 3. “Click Trust to use this application and allow it unrestricted access to your computer”. Well that’s just evil. Sun is now an evil company in my books.

Post note. So I move my files from ‘/’ obviously, and I don’t need ‘root’ permissions, just my normal user. This is really, really messed up.

macmarvin:~ rbradfor$ cd /
macmarvin:/ rbradfor$ ls -l
total 7616021
...
dr-xr-xr-x   2 root      wheel           1 Mar 13 10:27 net
drwxr-xr-x   6 rbradfor  staff         204 Nov 29 22:10 opt
drwxr-xr-x@  6 root      wheel         204 Oct 26 02:04 private
drwxr-xr-x@ 66 root      wheel        2244 Mar  5 19:38 sbin
-rw-r--r--   1 rbradfor  admin         341 Mar 26 02:55 sol-nv-b79b-md5sum-dvd-x86.txt
-rw-r--r--   1 rbradfor  admin  3878092800 Mar 26 13:12 sol-nv-b79b-x86-dvd.iso
-rw-r--r--   1 rbradfor  admin      205408 Mar 26 19:40 sol-nv-b79b-x86-dvd.iso.sdm




Posted under Professional, Sun on 27 Mar 2008
Comments (0)
Mar
27

Mac OS/X One Liner - Changing hostname

Link to this post

To change the Hostname under Mac OS/X 10.5

$ sudo scutil --set HostName servername.example.com
Posted under Apple, OS/X, One Liners, Professional on 27 Mar 2008
Comments (0)
Mar
27

Unix One Liner - List Open Files

Link to this post
$ lsof -p [pid]
Posted under Linux, One Liners, Professional on 27 Mar 2008
Comments (1)
Mar
27

Learning SEO the painful way

Link to this post

Indeed I have a goal of launching a consolidated site of my online presence at ronaldbradford.com at some time soon, and even now I have found I’ve made some SEO 101 mistakes, just in my testing site, and my temporary placeholder.

As a database expert I see plenty of database 101 mistakes with most clients, so part of why my site is going nowhere is I don’t want to make SEO 101 mistakes, especially as I’m not launching a new site, but a migration of existing content to one site.

I see nobody at O’Reilly has made improvements to the redirection mess of the MySQL Conference website as described by Farhan Mashraqi in Someone please change mysqlconf.com redirection, and so rather then linking to www.mysqlconf.com which I have done, I’ve linked to the direct page, which I’m sure will probably change after the conference making this a broken link.

I am concerned that a larger organization can’t get this right. Is SEO/SEM not important to them? It will also be of interest to see what happens here with Sun acquiring MySQL. Sun did a rather detailed job of MySQL content on www.sun.com. Time will tell I guess.

Posted under MySQL, Professional, Web, mysqluc08 on 27 Mar 2008
Comments (0)
Mar
27

Open Source Database Alternative - Ingres

Link to this post

On several occasions this year I’ve been prompted to mention in conversation Ingres as an alternative Open Source Database. Jonathan Levin in A list of Open-Source Alternatives to Business Applications was the latest example where Ingres was not mentioned and perhaps it should have been.

Want features like online backup, online alter, multi-master replication, parallel queries and partitioning. These are all long existing features in a more mature product then MySQL presently. Is this a sleeping giant that nobody remembers about? Ingres has been around a long time, in fact my experience extends back to 1988 (that’s 20 years).

From a product perspective they have created a number of pre-packaged product stacks, for example The Ingres Icebreaker BI Appliance Powered by JasperSoft, something MySQL has failed to capitalize on. Another stack appliance for example is with Alfresco.

However since the CA announcement to open source Ingres back in 2004 I’ve not seen a great deal of press, at least not in the Open Source or MySQL circles. Time permitting myself it’s time again to look at Ingres. It’s worth another look and hopefully I can provide some translation for MySQL DBA’s and Developers. Also part of Ingres is ABF Application By Forms, an entire development environment. My use was back in the terminal days so I can only assume they have fully embraced the Web now.

Posted under Databases, Ingres, MySQL, Professional on 27 Mar 2008
Comments (0)
Mar
26

Things that piss me off

Link to this post

So I decided to download Open Solaris tonight. Not only do you have to go through the pain of registering to download the free product, ok that’s understandable, you are forced to enter an Organization and a Phone Number, the first is impractical people, not everybody works or want’s to even tell you where they work, but phone number is completely unacceptable.

So, registered go to click on download and I get a most stupid error saying to enter a User Name and Password yet a few lines below it states I’m logged in, and there are no input boxes. So I entertain this annoyance, log out and log in again to get the same result (why did I expect a different result).

So Sun, if you don’t want me to download the software, just say so next time.

I should add it’s 1am, the end of my day so perhaps it’s time out.

Posted under Professional, Sun on 26 Mar 2008
Comments (0)
Mar
26

Just what are MySQL 9.x features?

Link to this post

Top marks to Jay Pipes for getting the Forge 2.0 finally out after quite some time, as well as in the midst of the MySQL Conference he is organizing.

I am worried however about some of the content, as shown in the screenshot below, the opening page lists Worklog tasks/features for versions 6.x or 7.x , that’s ok, but features in 9.x. Where is the practicality of thinking more then 2 releases ahead, and just having a future bucket. Indeed, we have 5.1 and 6.0 already frozen and not releases, so 6.x is already 3 releases out.

Tonight we were told at the NY PHP Meeting MySQL 5.1 is not due to late Q2, so that’s at least June 2008.
The MySQL 5.1 Release Notes reveals a history that I don’t find very flattering.

  • MySQL 5.1.3 (29 November 2005)
  • MySQL 5.1.9 (12 April 2006) *First reported beta via docs
  • MySQL 5.1.22 (24 September 2007: Release Candidate)

I hope that Sun will take on board this very slow release cycle of producing GA products, the last version MySQL 5.0.15 (19 October 2005: Production) 2 years and 6 months ago.

I’m even more interested then previously in the ultimate release and success of MySQL 5.1 as this is a pre-requisite of my new employer’s key product the PBXT Storage Engine for MySQL.

Posted under Databases, MySQL, PBXT, PrimeBase Technologies, Professional on 26 Mar 2008
Comments (2)
Mar
26

NY PHP - Sun & MySQL: A New Hope

Link to this post

Tonight’s New York PHP community meeting was a talk by Philip Antoniades the MySQL Systems Engineering Manager.

With an interesting topic opener “A New Hope” I could not resist to hear Philip’s official MySQL presentation.

Some small points I took away from the presentation.

  • Sun is committed to Postgres with Josh Berkus and a team of 20 people.
  • Solaris.next is the next version of Sun, I thought that was a cool internal name, be it obvious
  • A marketing slide of the highest traffic websites listed Meebo, yousendit, alexaholic, techcrunch, feedburneer, istockphoto and vimeo as reported by Pingdom. Not sure were they get their data, but Google, Yahoo, FaceBook, Wikipedia, MySpace, Fotolog are sites I think of as high traffic. Indeed 3 of these listed sites I’ve never heard of.
  • MySQL 5.1 is expected GA in late Q2 (no year was mentioned).
  • Falcon in 6.0 was listed as the “Next Generation” transaction Storage Engine, an interesting term I’d not heard of before.
  • Sun provides Hosted Database Services (i.e. the cloud) via network.com.
  • MySQL has had an influx of Sun Engineers (60-80).
  • MySQL is being benchmarked more on Sun H/W.

This talk did remind me it’s time to download Open Solaris. With the interesting comment that out of some 1,200 Sun Engineers over 1,000 were Macbook users gives me great confidence it will work just fine on my Macbook.

Out of other discussions there was talk of ZFS, so this will be interesting in what backup opportunities for MySQL without a true Online Backup solution may exist.
Also there was discussion with Sun’s GUI Tool NetBeans, and this casts light on how this will sit with the MySQL GUI team and MySQL Workbench.

Interesting times, this new hope.

Posted under Databases, MySQL, PHP, Professional, Sun on 26 Mar 2008
Comments (2)
Mar
25

What I love about the MySQL Community

Link to this post

The people, plain and simple.

I encourage you, if you are not part of the local MySQL community, then why not? Find a local MySQL Meetup group, attend the MySQL Conference, get online to IRC @ freenode#mysql, subscribe to some lists or read the forums. I didn’t meet these people being an observer, but part of the community.

As I wrote recently with some vacation time and the need to pick the brain of some experts I organized a quick trip to Germany to specifically visit Jan Kneschke and Paul McCullagh to improve my MySQL skills in certain areas on my own time (something I’d find harder to want to do at Sun when they owned all IP & copyright even during my personal time, so what incentive is there?)

As with the best laid plans of mice and men, the mention a few weeks earlier of skiing (my number one passion) and the chance to do this with Michael Zinner in Austria was too much a golden opportunity to miss, so this was added to my trip.

But it didn’t stop there. These were my plans yet news of my visit brought out others to want to see me during my visit. With Jan, additional events organized included my chance to see Kai Voigt, and then Jens Bollmann and Ulf Wendel. With Paul, lunch was organized with Lenz Grimmer. This is one beauty of a distributed company such as MySQL, people in lots of different places and something I am most glad that will not be lost just simply because I’m no longer an employee.

In the past year I’ve spent quality time with other MySQL Community people and also not just from MySQL. This past twelve months has included time with Sheeri Kritzer Cabral in Boston many times (including her wedding), Jay Pipes in Columbus (including also going there for Thanksgiving), Chad Miller in Orlando (even just to visit one day to see a shuttle launch), Gary Whizin in Santa Cruz, Baron Schwartz in Charlottesville and of course Farhan Mashraqi in New York. It’s great to get to know people better personally, to meet spouses and partners and to just consider life in general. People and their own goals and dreams are far more significant then just our own careers.

During my time at MySQL I’ve also made friends with several clients and have spent time with them in varying locations in the US including New York, Jacksonsville, Chicago and San Francisco.

In the past week following a request for any Linked In recommendations of my work, I’ve exceeded my goals of 25, and I’m now at 31 of 166 contacts, many from members of the MySQL community and clients.

I’m sure 2008 will be no different. Any offers for me to visit are always most welcome and to live by my motto “Life is Short. Live Life. Life is an Adventure”.

Posted under Databases, MySQL, Professional on 25 Mar 2008
Comments (0)
Mar
25

My Motivation for MySQL Camp III proposal

Link to this post

I wanted to follow up my earlier post My Ideas for MySQL Camp III with some of motivations. Luckily, good friend and colleague Jeremy literally took all of 15 mins to respond to my post with “So, I see your vision for the event itself. What’s your vision for the results of the event?” (Unfortunately with 150+ draft posts, it’s taken some time to complete my reply).

The present differentiation of MySQL Community and MySQL Enterprise in my eyes is a joke. Now before I start or re-start more then already one flame war let me first talk about MySQL Enterprise. MySQL Enterprise is a great and necessary product offering by MySQL Inc. It serves essential services to essential customers with features such as commercial 24×7 support, MySQL Enterprise Monitor which is an excellent start when clients have nothing (and boy I’ve seen more then my share of these), monthly updates and certified binaries.

My gripe is not with MySQL Enterprise, but with little to nothing that MySQL has done with MySQL Community. Take these simple facts.

MySQL Community and MySQL Enterprise were split at 5.0.27 in October 2006.
Only one contribution was added to the Community side, SHOW PROFILE in 5.0.37. What was to be a start of hopefully more creative contributions, suddenly stopped and has not changed since. My only thought could be, heaven forbid you now change the scope of functionality in 5.0 between Community and Enterprise, but wasn’t that the point?

Ok, new features change the scope of the base feature set. New features may make the product more unstable. Community people get this. The present release cycle process with the differentiation is a joke. You can’t add any features to 5.0, you can’t add any to 5.1 for like the past year. I’d go so far as to say, ZERO community contributions submitted even now would make 6.0. We don’t want to draw from sales and marketing features of Falcon and Online Backup.

MySQL Community is an essential product, it’s the only choice when MySQL Enterprise is not an option.

So to answer Jeremy’s question. What’s your vision for the results of the event?

  1. To personally gain a better in-depth process of understanding the MySQL code, debugging, enhancing and contributing to MySQL
  2. To see others gain the same skills, knowledge and appreciation.
  3. To see better documentation of the process (A goal of the MySQL Community team)
  4. To see the length and breath of creative input increase
  5. To ignite some urgency and pressure to actually see MySQL Community differentiate to the benefit of the community.
  6. To simply have fun, hack code and enjoy it with others

Since drafting this response some time ago, Sun has acquired MySQL, MySQL 5.1 still remains in RC, and we now have a beta of Falcon in an alpha of 6.0 (which I don’t get). With the MySQL Conference happening in a few weeks, I’ll be keen to know what’s going to happen with the MySQL Community differentiation and whether any information will indeed be forthcoming.

I plan to revisit this topic in the next 3 to 6 months to see if anything has actually changed as a result of Sun. We will just have to wait patiently.

Posted under Databases, MySQL, Professional on 25 Mar 2008
Comments (1)
Newer Posts »
Home
Professional Blog RSS Feed of Professional Blog
Consulting
Presentations
About Ronald
Related Links
Contact Ronald
  • « Feb spinner iCalendar Apr »
    March 2008
    M T W T F S S
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31EC
  • Categories:
    • Professional
      • 42SQL
      • Apple
        • iPhone
        • MacBook
        • OS/X
      • Clever Design
      • Cloud Computing
        • 10gen
        • AppNexus
        • Kaavo
        • Kloudshare
      • Databases
        • Drizzle
        • Ingres
        • MySQL
          • Compiling
          • GUI Products
          • MySQL Events
            • mysqlcamp01
            • mysqlcamp02
          • MySQL Proxy
          • MySQL User Conferences
            • mysqluc06
            • mysqluc07
            • mysqluc08
          • Storage Engines
            • Non Transactional
              • Infobright
              • KickFire
              • Maria
              • Nitro
            • Transactional
              • Blob Streaming
              • Falcon
              • InnoDB
              • PBXT
              • Solid
        • Oracle
      • Extreme Programming (XP)
      • General
      • Java
        • Tomcat
      • Linux
        • One Liners
      • Microsoft
      • Open Source
        • Buildbot
        • Ubuntu
        • UltimateLAMP
        • Virtual Box
      • OSCON 2008
      • PrimeBase Technologies
      • Solid State Drives
      • Sun
      • The Daily WTF
      • Windoze
      • Yahoo
    • Web
      • Google
        • App Engine
        • Summer of Code
      • Web Development
        • Amazon
          • EC2
          • S3
          • SimpleDB
        • CSS
        • HTML
        • PHP
        • Web 2.0
      • Web Sites
        • Application Software
        • Content
        • Cool Tools
        • Linux Stuff
        • MySQL Related
        • Show Your Stuff
        • Twitter
        • Unype
      • WordPress
  • Pages:
    • Best Of PlanetMySQL Articles
    • Interesting Articles
    • MediaWiki Restyling (1)

  • Archives:
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • November 2007
    • October 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
    • March 2007
    • February 2007
    • January 2007
    • December 2006
    • November 2006
    • October 2006
    • September 2006
    • August 2006
    • July 2006
    • June 2006
    • May 2006
    • April 2006
    • March 2006
    • February 2006
    • January 2006
    • December 2005
    • November 2005
    • October 2005
    • September 2005
    • July 2005
    • June 2005
    • February 2005
    • October 2004
    • September 2004
    • July 2004
    • June 2004