Naoko Hamamoto's Weblog

« Previous page | Main

20080514 Wednesday May 14, 2008

Proctoring JavaOne Hands-on Labs

This year, I decided to do something different for JavaOne. Instead of being an attendee, I decided to be on the other side - be the one to help attendees. I volunteered my time to proctor four hands-on labs.

It was truly an amazing and exciting experience for me. It was a great opportunity to work closely with engineers/evangelists/technical writers who work on key Sun technologies. I also got to play around with the latest and the coolest technologies that Sun has to offer. It was fun! I also met with many Sun employees from all over the world and had a great time chatting with them. And of course, last but not least, chatting with the lab attendees was a lot of fun too. I love helping others and hearing what they had to say about our labs, our technologies and our company. Many stopped by on the way out to thank me for all the help that I have extended to them and told me that the labs were good and they learned a lot. I felt great!

The labs that I have proctored are the following:

1. JavaFX
2. Ruby on Rails
3. jMaki
4. Woodstock

Since I was not very familiar with most of these technologies, I spent a significant chunk of my time studying and learning to make sure that I have enough knowledge to help our attendees should they encounter any issues during the lab. Yes it took a lot of my time, but I really think it was time well spent.

If you did not get a chance to attend the labs, here is good news. All of them are now available for you to download and work on at your own pace. Check out JavaOne Hands-on Labs 2008.

It was interesting to see that there were all kinds of lab attendees. Some were really interested in doing the labs fast (I mean really fast) to get the prizes. Others were taking their time to really learn the technology, sometimes what's behind it. Others were familiar with similar technologies and wanted to compare. I also met one attendee from the JavaFX lab, who was a graphics designer. She told me that she saw the demo and she wanted to see if this can be used in her work. I was excited, as they (content developers) are one of the targeted users of JavaFX!

Despite the long commute (it took me 2.5 hours one way door-to-door) I enjoyed the event very much and I am looking forward to being a part of the team again next year.

Posted by naoko ( May 14 2008, 12:11:09 PM PDT ) Permalink

20080418 Friday April 18, 2008

MySQL Conference

I have had an opportunity to attend MySQL Conference at the Santa Clara Convention Center from April 15-17. Why did I attend it? I am neither a DBA nor a hard core database engineer/developer (though we do use MySQL for our internal tools, so it is definitely helpful for me to attend). I attended the conference, because our team (Globalization) will eventually get engaged to work with them on the MySQL's globalization needs, and I will be one of the point of contacts for this project.

In any case, attending this conference was very interesting and somewhat eye opening experience for me.

I have been working with Java and its extended family technologies for years. Not that I was not aware of other technologies out there, but I did underestimate the power and/or popularity of other technologies, especially on the client side. It seems like PHP and Ruby are very dominant when combined with MySQL. Even our old friend perl is doing very well. It's time for me to pick up some books!

There were a lot of tools / technologies that were showcased at the conference. Here are a few of them that got my attention, because they related to what I am doing with our internal tools development. I am sure others have different lists, based on their needs.

1. MySQL Workbench

The very first session that I attended and it was a good start. This tool just has reached GA (General Availability) status and it is ready for us to try out. In short, this tool helps us to visually design database schemas. But that's not it. It's packed with a lot of useful features and functionality, and the demo was quite fascinating. I know there are other tools in the same domain (mostly not free) but this one does look very promising. And it's free to use!

2. MySQL Sandbox

This is not part of the MySQL family, but the tool is available under GPL. This tool allows users to easily create a sandbox environment for MySQL. It runs fast and will save tons of time for DBA/engineers if they need to do a lot of testing on different versions of MySQL and/or use clustering. The selling point of this tool is that it is easy to use with hardly any configurations required. I completely agree with this philosophy, and quite frankly, I was wowed by the demo.

3. Sphinx

This is a full-text search engine, distributed under GPL. It works very well with MySQL and its performance seems to be blazing fast. It can be embedded into any client application. I am very interested in testing it out in our internal tools.

4. Zmanda

This is an open source backup software for MySQL. I used to test a backup software when I was in college, so I am somewhat familiar with the complexity and criticality of software backups. Obviously, the amount of data that needs to be backed up has increased exponentially since my days; however, the concept still remains the same. It was interesting to note that one of the keynotes was presented by the CEO of this company on their product line - perhaps an indication of the importance of having proper backups.

I found sessions on different tools for benchmarking and monitoring as well as best practices for DBA and schema designers to be interesting. The funny (and ironic) thing is, much of the best practices were somewhat common sense (like doing your backups on a regular basis and making sure that you test your backups) but we often neglect to do it.

Keynotes were interesting also. Many big guys were there to entertain the audience. Big data and how to handle them efficiently seemed like the key topic that challenges MySQL and the like, going forward.

On the exhibition side, I saw a range of sponsors - big names like Sun & MySQL (of course!), HP, Jasper Software, Google, Facebook, as well as startups. I also saw an OpenOffice.org booth, and I had to stop by and ask for the reason for their booth (it seemed somewhat odd to see them at MySQL Conference). The lady manning the booth told me that they have a plugin now to read MySQL database and convert the data to OpenOffice format and display them. Interesting. There were companies like Red Hat Linux - to support MySQL as a partner.

Particularly, I was excited to see Jasper Software there. I am currently evaluating Jasper Software's JasperReports technology for our internal tools' reporting engine, so having an opportunity to chat with them was very worthwhile for me.

One disappointment for me was that the globalization needs were not very strongly addressed. I attended one session on character sets, and it appeared that MySQL still has ways to go when it comes to multi-byte character support. Good thing is that the next release (6.0) seems to be much more promising in this regard.

Overall, I had fun and learned a lot. Food was better than what I had expected (hot food, with different cultural flavors). But by the end of the third day, I was quite exhausted and I was ready to hit the road and go home.

Posted by naoko ( Apr 18 2008, 03:35:31 PM PDT ) Permalink

20070807 Tuesday August 07, 2007

Localizing Jonathan's Blog

I have had a chance to be a part of the "Localizing Jonathan's Blog into Japanese" team recently. My good friend, who used to do this work, has left the company, and she has given me this volunteering opportunity. The way it works is quite simple. Once the English content becomes available, we send it off to the translation company. Once the localized content (in my case, it is Japanese) becomes available, a group of volunteers proofreads the content and makes any modifications if necessary. Then I post the content on the website. This is an exciting task for me, because

1. I am forced to read Jonathan's blog. Sometimes I get busy with my daily job and I don't get to his blogs. Now that I am responsible for localizing it, I am always up to his latest news and comments.

2. It teaches me how to translate. I am a Japanese native but I have been in the U.S. most of my life, so it's a great opportunity to learn how words get translated.

And last but definitely not the least,

3. I am making a difference! I was informed that Jonathan's blog is very popular among the Japanese community. It is very rewarding to feel that I am contributing to the community - something that Sun truly believes in.

Posted by naoko ( Aug 07 2007, 11:53:32 AM PDT ) Permalink Comments [2]

20070726 Thursday July 26, 2007

Mac JDK Issues? Playing with JavaFX

After I came back from maternity leave, I realized that the world around me has changed quite a bit. To me, this is one scary thing about the technology world. If you were away for several months, you feel like you were gone for decades! New technologies and acronyms pop up everywhere and what used to be hot and cool seems to be already obsolete. Anyway, so one thing that seems to be in now is JavaFX. I see news about it, read about it, hear people talking about it - so what really is JavaFX? I got curious and thus I decided to play with this technology on my cool MacBook Pro :)

I used NetBeans to run sample applications. Here is a very well written tutorial on Getting Started with the JavaFX Script Language. Following the steps, it was very simple to create my very first "Hello World" JavaFX script. However, when I ran it, I got the following error message in the output window.

The complete error messages are shown below.

=============================================================================
2007-07-26 13:37:19.565 java[354] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0x10903, name = 'java.ServiceProvider'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2007-07-26 13:37:19.565 java[354] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (java.ServiceProvider)
=============================================================================

This does not happen on Windows XP, so it seems to be a Mac specific issue. I investigated a bit and then I was informed (thanks Karthink) that this is indeed a Mac JDK issue.

http://developer.apple.com/releasenotes/Java/Java50Release4RN/OutstandingIssues/chapter_4_section_3.html

OK, at least it is harmless, which is good.

I then ran the temperature application which exercises the Spinners and Sliders classes, and there seems to be some painting problems.

Yikes, this does not look good at all. I then did some research and again, it seems to be a Mac JDK issue. I see people posting issues around Mac JDK's repaint functionality in different forums. Again, there is no problem on XP.

Sun does not provide JDK implementations on Mac - they are provided by Apple. Hence, I am not able to use my internal connections. I hope these issues get resolved soon!

Posted by naoko ( Jul 26 2007, 04:12:08 PM PDT ) Permalink Comments [1]

20070719 Thursday July 19, 2007

New to Mac

I have started to use Mac for my day to day work. It felt VERY strange at the beginning, as I have been a Windows/UNIX user my entire career as a software engineer. Mac? What? That used to be my response to Mac, until... hmmm... recently.

So why did I choose to use Mac?

Well, I have quite a few Mac fanatics around me. They used to always show me how cool Mac is and how easy it is to use. I guess I have seen enough of them that I felt that I should at least give it a try before I say no to it. So I did. Hmm... it was kind of hard. How do I do this? How do I do that? I know how to do them all in Windows but on Mac, I don't know! It was frustrating at the beginning, but after spending some time with it, I started to get a hang of it, and yeah, it's actually kind of neat. I like the Spotlight feature a lot, and the Expose feature is awesome! Now I have started to enjoy Mac more, and started to appreciate all other features, like cool silver body, the magnetic power cord, etc., etc. Am I getting brainwashed???

Getting to know Mac is also good for my work, as most of the products are now supported on Mac as well. I have Parallels running as well, so I can do both Mac and Windows work at the same time. This is really cool.

There are still a lot of things that I don't know how to do. I hope to resolve them little by little and share my discoveries here, or ask for help!

Posted by naoko ( Jul 19 2007, 11:56:46 AM PDT ) Permalink Comments [2]

20061218 Monday December 18, 2006

Hibernate with Creator

It has been a long while since I posted something on my blog. And it will be a while again since I am taking a personal leave in January for a while, so I decided to capture my work here, before I forget what I was working on :)

I have been working on a test case management tool for internal use using Creator 2 Update 1. Yes I am aware of the Visual Web Pack, and we may switch over some day - but for now, we are sticking with Creator 2.

We are using Hibernate for database object/relational persistence - and it's cool! There is a very nice tutorial available for Creator, which made our lives so much easier. Thanks to the doc team for creating such a great tutorial.

Using Hibernate With the Sun Java Studio Creator IDE

Due to various reasons, we ended up writing most of the xml files by hand, but I have learned that there are a few plugins that are available for both NetBeans and Eclipse that will generate the configuration files automatically. We have not had a chance to spend a lot of time investigating them yet, but if you have, I would appreciate it if you can let us know what you think of the following plugins.

For NetBeans -

1. Hibernate plugin for NetBeans 5.0
2. Plug-in Hibernate Support

and for Eclipse -

1. Hibernate Synchronizer

Posted by naoko ( Dec 18 2006, 04:58:13 PM PST ) Permalink Comments [0]

20060327 Monday March 27, 2006

Creator demo on how to create a multi-language application

I created a flash demo a while ago on how to create a multi-language application using Creator. It is based on Creator 2 EA2, but most of the steps should be the same/very similar to the FCS version.

Click on this link to start the demo. Enjoy!

I used Wink to create this demo. Check it out, it is a very neat program. I can even localize my demo. If there are some interests, I may localize into Japanese :)

Any comments, suggestions, ideas for demos are very welcome!

Posted by naoko ( Mar 27 2006, 05:34:31 PM PST ) Permalink Comments [6]

20060217 Friday February 17, 2006

Changing system locale on the fly

I am new to globalization. Our organization (Globalization) is responsible for product localization and internationalization. Prior to joining this group, I was in development and backline support for various software product lines within Sun.

I have faced internationalization/localization issues throughout my career, but I did not really have a deep understanding of them. Now that I have joined this organization, I have to come to realize that there are a lot of cool stuff to learn! Some of these topics may be trivial to globalization gurus, but they may be of some interest to others. If you want to learn more about globalization, read on!

In globalization, we need to always switch back and forth between different locales, especially when we test products.

On Solaris, the common way is to relogin and select a different locale, assuming that the necessary font packages are already installed on the system. What about if you want to change the locale on a terminal window on the fly? You can use a command called locale to check the current setting.

Examples:

Using C (Posix)
% locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=

Using ja (EUC)
% locale
LANG=ja
LC_CTYPE="ja"
LC_NUMERIC="ja"
LC_TIME="ja"
LC_COLLATE="ja"
LC_MONETARY="ja"
LC_MESSAGES="ja"
LC_ALL=

You can change these environment variables to change the locale setting for that window.

On Windows, there is a command called chcp. When you type chcp, it tells you what the active console code page is. If you want to change it, simply add the code page for that locale.

Examples:

This is the active console code for U.S. English.

This is the active console code for Japanese.

I also learned from my colleague, Yuko, who is the Creator localization lead as well as my valuable resource on localization and Creator, that there are a couple of batch files on Japanese Windows. If you type us, it executes chcp 437 and if you type jp, it executes chcp 932. Pretty handy! Thanks Yuko!

Posted by naoko ( Feb 17 2006, 03:33:41 PM PST ) Permalink Comments [3]

20060202 Thursday February 02, 2006

Creator runs out of disk space with 40GB???

The other day, I was using the newly released Java Studio Creator 2 to create a web application for my team on Sun Blade Workstation. I was simply creating a prototype, so that my team can see how the GUI will look and feel and navigate.

After creating five simple pages, I was running into problems with Mozilla not starting when I tried to deploy the application. It was exhibiting some odd behavior; sometimes Mozilla came up, other times it did not. I then used a browser on my PC to access the application - it failed. Looking through server.log, I found out that I was running into

java.io.IOException: Not enough space
       at java.lang.UNIXProcess.forkAndExec(Native Method)
       at java.lang.UNIXProcess.(UNIXProcess.java:53)

What do you mean that I don't have enough space? I have more than 40GB of space available...! Memory was not an issue either, so I was stuck.

Then a help from heaven (thanks Steve!) came. He told me to check my free swap space on the system. Sure enough, when I added 1 GB of additional swap space, the problem went away!

To temporarily add a swap space to your system, you do:

% su
Password:
# swap -l
swapfile             dev  swaplo blocks   free
/dev/dsk/c0t0d0s1   136,9      16 1052624 149504
# mkfile 250m /var/moreswap
# swap -a /var/moreswap
# swap -l
swapfile             dev  swaplo blocks   free
/dev/dsk/c0t0d0s1   136,9      16 1052624 137680
/var/moreswap         -       16 511984 511984

If you see a problem similar to this, it is worth trying this to see if it helps.

Posted by naoko ( Feb 02 2006, 04:02:00 PM PST ) Permalink Comments [3]

20060131 Tuesday January 31, 2006

First blog

I have always been thinking about starting my own blog, but I have not had a chance to sit down and work on it. Well, that changes today! I am starting one, after being inspired by many bloggers! It was actually very simple to create an account and get going. I hope I can share some useful information via this blog. Stay tuned :)

Posted by naoko ( Jan 31 2006, 04:47:00 PM PST ) Permalink Comments [5]


Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.