Thursday, July 31, 2008

Manish Bharani: NetBeans Database Explorer gets a facelift

Manish provides a nice summary of what's new in the Database Explorer for 6.5. Manish and his team did a great job providing us with a lot of this functionality - the power of open source, even within Sun!

MySQL Workbench 5.1: Mac/Linux support, and a new Query Editor

Mike Zinner, team lead for the MySQL Workbench team, just posted some screen shots for their up-and-coming new version of MySQL Workbench for the Mac.

Note the screen shot above for the new SQL editor, which will replace the old MySQL Query Browser.

Now, some of you may notice, that looks awfully like the query editor in NetBeans.

Yes, there is some crossover, and we've been talking with each other. It would be nice if we could just wave a magic wand and all this database tooling from Sun were in a single tool. But it's not that easy, particularly if one is written in C and one is written in Java. And it's not clear that's actually what we want.

Sometimes one size doesn't fit all. We need to think carefully about two different types of users: those who want an IDE that works with multiple databases and is focused on serious application development productivity, and those who don't necessarily want an IDE or don't want NetBeans, or Java, but do want a top-notch tool for working with MySQL.

Anyway, we're still discussing, and I hope to pass on what our final decisions are once we have them. Regardless of where we end up, you as the user are going to win with both an excellent IDE and a most excellent database tool.

JavaFX Preview available today

A little bird told me the JavaFX preview is available for download today.

So I got the NetBeans 6.1 with Java FX download from their main page and gave it a spin.  It is a preview, and it still has some rough edges, but with absolutely no knowledge of Java FX I was able to work through the tutorial and get something up and running pretty quickly, all within the NetBeans environment I know so well.

If you're interested in building rich client apps and want to see what Java FX is about, I recommend trying this preview edition, and get your feedback to the team.

Piracy is alive and well

Pirated DVDs and MP3s for sale in Cuernavaca

The picture above is from a shopping area in downtown Cuernavaca. There was a whole building with stall after stall covered from floor to ceiling with pirated DVDs and CDs and MP3s. It was a wild thing to walk through, with music blaring from either side.

As I walked out of the building, there was a policeman standing on the sidewalk just next door minding his own business. Obviously this was no concern of his.

I remember when DVDs came out, one of their big things was copy protection. Shyeah, that worked!

Wednesday, July 30, 2008

Leal’s Blog » moves from Oracle to MySQL

" is the biggest portal here in Latin America (newspapers, magazine, Television, and radio), and when the speaker said the line: 'We are moving from Oracle to MySQL', everyone was with the same face as you. :)"

NetBeans has compile on save - Roumen's Weblog

Very cool.

I got apps!

Well, I haven't splunked down the money and extra data usage fees for the iPhone 3G, but that doesn't mean I can't get my apps.

I just upgraded to the iPhone OS 2.0, and thus got the app store. An evening of browing and I got some fun stuff. I'd give you links but everything is available only through the iTunes store, so you'll have to go find it yourself. These are all free, I'm not ready to pony up for anything yet...
  • Labyrinth LE - remember that old marble game where you tilt the board to move the marble along without falling into a hole. Imagine doing that with your phone, and getting multiple boards to boot. Cool!
  • Phone Saber - different colors and special effects - you are an iJedi knight!
  • Apple Remote - use your iPhone as a remote for iTunes. Very nice.
  • Pandora and AOL radio - streaming Internet radio on my phone - say no more. Just give me Rhapsody and I'm a happy camper
  • Location-sensitive Yelp - cool!
  • midomi - Can't remember that song but it's stuck in your head? Hum it to midomi and it will identify it.
  • Location-sensitive pictures - there are a whole bunch of these to choose from
  • NearPics - show me pictures near where I am.
  • Google search - searches both the Internet and my phone (e.g. contacts). Nice.
Well, now we're talking. It's like a whole new phone. Although, as we all know, "phone" is not necessarily the right name for this, this, ... thing...

New NetBeans Tutorial: Creating a Simple Web Application Using a MySQL Database

Nice tutorial to get you started building a database app. I love the name of the application: IFPWAFCAD or the International Former Professional Wrestlers' Association for Counesling and Development. Snork!

Tuesday, July 29, 2008

Beyond Server Farms In The Sky - InformationWeek

Interesting analysis of what your choices are when you want to scale. I like the phrase "could computing" :)

Sun may or may not be about to obliterate Oracle and Microsoft | The Register

Warning: colorful language in link. But very funny description of transactional memory (TM), to be supported on Sun's new Rock chip. I have heard about TM for a while within Sun, and yes, there is a very good fit here for databases. 'Nuff said.

Monday, July 28, 2008

Kudos for NetBeans exception reporting

I've personally been impressed by the way NetBeans handles reporting an exception for you (and I personally have had a number of bug reports come to me this way, which I don't think I would have otherwise been informed of). It really does help improve the quality of the product.

But here is one user who I think describes the quality of this feature quite well:

So I used the Mercurial support in NetBeans 6.1 (as I have been for some
time), and something went wrong. NetBeans 6.1 did not crash, but recovered and saved the java exception for me, I viewed the exception stacktrace and it was obvious it was a crash inside the NetBeans 6.1 Mercurial support code. There was an option of reporting the crash so I hit the "Report" button to report the problem, then continued on with my work.

Then a few minutes later, I noticed that I had a Firefox tab open to a netbeans site... It said:

Upload of NetBeans Error Report Complete
Thank you very much for sending error information to our server.

After cross-checking your report against others recently received,
your report has been classified as a duplicate of report #64798.
Your comment and logging information were added to this one.

If you believe this issue is severe and you are registered with, you can use the above link to check all the generated
information in our web application, and you can enter this issue
directly into Issuezilla. To see all reported issues, visit the
Exceptions page.

Thanks again for your help.

The NetBeans development team!

It automatically detected a matching java exception in a previously filed bug report, detecting the duplicate bug report.

So NetBeans 6 did everything right as far as I'm concerned:

1. The tool did not crash or stop or even have to restart due to the error
2. It allowed me the option of reporting the problem
3. It made it trivial to report the problem
4. It automatically submitted the report and data seemlessly and easily
5. It detected it was a duplicate and let me know it was.

Good work guys.

Kaj Arnö - Speaking in Tongues

I was having lunch with Kaj in Prague when he was practicing his speech from his notes, and the locals really were quite impressed. I have never given a talk in a foreign country, but I'm inspired to follow Kaj's example should the opportunity arise.

Gmail and Google Calendar making the leap offline? » VentureBeat

Looks like Google Gears and SQLite are one of the definite winners in the offline RIA technology wars. Pretty cool that Wordpress is providing offline blogging, and I look forward to offline Gmail.

Back in the saddle, ruminating on the economics of "free"

I'm back from a nice long vacation, and as usual it was a time of reflection.

I would say that the most interesting and valuable ideas I gained were from reading an excellent book I found on the bookshelf of the home we were doing an exchange at, called The Undercover Economist by Tim Harford.

Mr. Harford layed out in plain and fun English some economic principles I hadn't heard of before that I am still chewing on, including the power of the free market to reveal the truth about what people really value - they put their money where their mouth is - and thus allowing the market to respond in the most efficient way.

But I also liked his descriptions of thing that regularly get in the way of a true free market.  Corruption and influence peddling is one for sure.  Not taking into account external costs, such as the consumption of resources and the dumping of waste, is another important factor.   He argues that when you charge, or "tax", for external costs, it brings more truth into the market, and the market responds.  An example that he cites and which I saw directly was the fees charged to cars entering into the center of London, and how that impacted pollution, noise, and transit services.  It really is quite amazing.

After reading his book, I realized that in technology we often think something is or should be "free" when it's really not.  For example, email has the appearance of being "free", but it actually has a big external cost, particularly managing spam.  Companies spend millions of dollars trying to manage spam; spam management itself consumes large amounts of power and CPU.

If there were nominal charge for sending an email, say 1 cent per email, we would immediately throttle back the insane amount of spam being distributed throughout the system.

The problem is, not only is there no centralized point of control on the Internet, there is also no real identity.  Would it be possible to set up a system where you are required to provide strong identity before you can access a service like email?  You would think this would have been done already if it were possible...

I do think ultimately this problem will need to be solved, and I like the ideas of applying charges for external costs as a way to solve it.

Wednesday, July 16, 2008

Now this is a vacation

The beautiful river at Las Estancas

Well, it's wonderful here.  We are thoroughly enjoying our visit.  We are in a huge beautiful house, we are with a friend and her son as well as my wife's aunt, we are visiting places, hanging out, cooking delicious meals, going out for food, and just soaking in the sunshine and the fact that we left all of our many-layered obligations behind us for three weeks.

It was a lot of work getting our house ready, but it was worth it.

The picture above, by the way, is from Las Estacas water park.  This is a park surrounding a river that bubbles up from the ground, and then you can ride down in an inner tube or a life jacket and look up at the incredible lush greenery or look down into the crystal clear water.   Or you can swing from a rope and jump straight into the water, or wander through the lotus garden.

Ariel and the lotus garden at Las Estancas

To add to the romance and drama, every night there is thick moist stillness and crickets, then a rumble of far off thunder, then wind and lightning and BOOM a huge thunderstorm, power sometimes goes out, rain pours down in sheets, and the next morning all is clear again.

Did I mention the mangoes, the bunches of tiny bananas, delicious Mexican food, a massive kitchen, an inner courtyard, and the fact that our friend sharing this home with us is a chef?

What can I say?  This really is the life...

Tuesday, July 01, 2008

Someone is having fun with me

We are getting ready for a wonderful three week vacation to Cuernavaca, Mexico.  We are doing a home exchange with a family of four who have a home there.  Their place is huge, has a swimming pool and a trampoline, and we are going to have loads of fun.

But then there is getting ready.  We really want the place to work well for our guests, and in the past things have happened that were no fun, like the sink clogging up.  And I guess Someone Out There is having a little fun, because in the weeks before leaving, we've had one thing come up after another, and for each one, I am so glad that it didn't happen to our guests:

  • Our sprinkler system got cracked and required a complete overhaul (yes, I did this myself, many trips to the hardware store for pipes and valves and glue and mud and getting sprayed in the face and...) 
  • Our car battery ran out of steam and we kept having to get jumped (we're doing a car exchange too), so the car is at the shop today getting its battery replaced
  • The day before we were going to get its wings clipped,one of our cockatiels escaped and flew up into a neighbor's tree and wouldn't come down.  We drove out there with the bird cage and the other bird, treats and a pillowcase.  No luck, and this morning we had to try again. This time it was in another tree, and we finally coaxed it down with a millet stick (his favorite treat).  We were very lucky.  We lost our first cockatiel for good this way (these two are from an animal shelter). 
  • We had mice and rats in our garage and our food was being raided.  Took two weeks to get rid of them, I'll spare you the details 
  • At 4:30 am two nights ago I awoke to a roaring sound.  I stumbled downstairs to the kitchen and walked into a pool of water that spread from under the kitchen sink and all the way into the living room.  The ominous roar came from under the sink, and taking a deep breath I opened it and water was spraying everywhere.  Of course, the shutoff valve was at the back of the opening, so I dove in and spluttering and being smacked by water I got it shut off.  Nice way to start your day... Linda and I spent the rest of the morning into lunchtime cleaning up and replacing the water filter, which at that moment had decided to give up the ghost in a dramatic way.
Can you imagine any of that happening to our guests while we were away?  Or worse yet (with the water thing) happening when we had no guests?  So as crazy as it's been, I actually feel blessed that all these things happened now, instead of later.