blogs.sun.com

Prenumerera på innehåll
Welcome to Blogs.sun.com! This space is accessible to any Sun employee to write about anything.
Webbadress: http://blogs.sun.com
Uppdaterad: 1 tim 31 min gammalt

Repriced: SPC-2 (RAID 5 & 6 Results) Sun Storage 6180 Array (8Gb) Outperforms IBM DS5020 by up to 64% in Price-Performance

mån, 2010-08-23 14:31
Results are presented on Oracle's Sun Storage 6180 array with 8 Gb connectivity for the SPC-2 benchmark using RAID 5 and RAID 6.
  • The Sun Storage 6180 array outperforms the IBM DS5020 system by 62% in price-performance for SPC-2 benchmark using RAID 5 data protection.

  • The Sun Storage 6180 array outperforms the IBM DS5020 system by 64% in price-performance for SPC-2 benchmark using RAID 6 data protection.

  • The Sun Storage 6180 array is over 50% faster than the previous generation systems, the Sun Storage 6140 array and IBM DS4700, on the SPC-2 benchmark using RAID 5 data protection.

Performance Landscape

Select results from Oracle and IBM competitive systems for the SPC-2 benchmark (in performance order), data as of August 7th, 2010 from the Storage Performance Council website.

Sponsor System SPC-2 MBPS $/SPC-2 MBPS ASU Capacity (GB) TSC Price Data
Protection
Level Results Identifier Oracle SS6180 1,286.74 $56.88 3,504.693 $73,190 RAID 6 B00044 IBM DS5020 1,286.74 $93.26 3,504.693 $120,002 RAID 6 B00042 Oracle SS6180 1,244.89 $50.40 3,504.693 $62,747 RAID 5 B00043 IBM DS5020 1,244.89 $81.73 3,504.693 $101,742 RAID 5 B00041 IBM DS4700 823.62 $106.73 1,748.874 $87,903 RAID 5 B00028 Oracle ST6140 790.67 $67.82 1,675.037 $53,622 RAID 5 B00017 Oracle ST2540 735.62 $37.32 2,177.548 $27,451 RAID 5 B00021 Oracle ST2530 672.05 $26.15 1,451.699 $17,572 RAID 5 B00026

SPC-2 MBPS = the Performance Metric
$/SPC-2 MBPS = the Price-Performance Metric
ASU Capacity = the Capacity Metric
Data Protection = Data Protection Metric
TSC Price = Total Cost of Ownership Metric
Results Identifier = A unique identification of the result Metric

Complete SPC-2 benchmark results may be found at http://www.storageperformance.org.

Results and Configuration Summary

Storage Configuration:

Sun Storage 6180 array with 4GB cache
30 x 146.8GB 15K RPM drives (for RAID 5)
36 x 146.8GB 15K RPM drives (for RAID 6)
4 x PCIe 8 Gb single port HBA

Server Configuration:

IBM system x3850 M2

Software Configuration:

Microsoft Windows 2003 Server SP2
SPC-2 benchmark kit Benchmark Description The SPC Benchmark-2™ (SPC-2) is a series of related benchmark performance tests that simulate the sequential component of demands placed upon on-line, non-volatile storage in server class computer systems. SPC-2 provides measurements in support of real world environments characterized by:
  • Large numbers of concurrent sequential transfers.
  • Demanding data rate requirements, including requirements for real time processing.
  • Diverse application techniques for sequential processing.
  • Substantial storage capacity requirements.
  • Data persistence requirements to ensure preservation of data without corruption or loss.
Key Points and Best Practices
  • This benchmark was performed using RAID 5 and RAID 6 protection.
  • The controller stripe size was set to 512k.
  • No volume manager was used.
See Also Disclosure Statement

SPC-2, SPC-2 MBPS, $/SPC-2 MBPS are regular trademarks of Storage Performance Council (SPC). More info www.storageperformance.org, results as of 8/9/2010. Sun Storage 6180 Array 1,286.74 SPC-2 MBPS, $/SPC-2 MBPS $56.88, ASU Capacity 3,504.693 GB, Protect RAID 6, Cost $73,190, Ident. B00044. Sun Storage 6180 Array 1,244.89 SPC-2 MBPS, $/SPC-2 MBPS $50.40, ASU Capacity 3,504.693 GB, Protect RAID 5, Cost $62,747, Ident. B00043.

New: OOo-DEV 3.3.x Developer Snapshot (build OOO330m5) available

mån, 2010-08-23 08:16

Developer Snapshot OOo-Dev OOO330m5 is available for download.

OOO330 is the development codeline for upcoming OOo 3.3.x releases.

If you find issues within this build please file them to OpenOffice.org's bug tracking system IssueTracker.

Download:
http://download.openoffice.org/next

Release Notes:
http://development.openoffice.org/releases/OOO330m5_snapshot.html

MD5 checksums:
http://download.openoffice.org/next/md5sums/OOO330m5_md5sums.txt

Create domains that use the default ports

mån, 2010-08-23 07:00

Some will call this a new feature. Some will call this a bug fix.

I call it a chance to slap my forehead, really hard, again.

A couple years ago, we made it really hardIMPOSSIBLE to use NetBeans to create a domain that uses the 'default ports'. The strategy we decided to employ was one that would let users create multiple domains that could run at the same time.

That has changed, today.

If you want to create a domain that can run while another domain is running, you will need to uncheck the 'Use default ports' control. If there is some process active on the default ports (like 4848 or 8080), the dialog opens with 'Use default ports' unselected AND disabled. If you hover over the disabled control, the tool tip will provide more details about the 'problem'.

Oracle Open Office 3

mån, 2010-08-23 04:32

Oracle Open Office 입니다.

- Oracle Open Office 3 실행 시 최초 스플래쉬 이미지 -

이전에 썬에서 배포하는 엔터프라이즈용 오픈 오피스 스위트는 지역에 따라 StarSuite 또는 StarOffice라는 이름으로 배포가 되었었는데요. StarSuite 또는 StarOffice라는 이름이 Oracle Open Office로 브랜드 이름이 바뀌었습니다.(Wikis:http://globaldc.oracle.com/perl/twiki/view/OracleOpenOffice)

- Oracle Open Office 3 정보 -

썬에서는 StarSuite으로 오피스 문서의 포맷 및 툴이 표준화되어 있었는데, 지난 주 부터는 썬 로고가 들어간 StarSuite이 기본이 아니고 Oracle Open Office가 실행이 되도록 표준이 바뀌었습니다. 아직 오라클 전체적으로는 MS Office가 표준입니다만, 이제 오픈 오피스도 오라클 제품이 된 이상 오라클도 OpenOffice를 표준으로 정하게 되겠지요? ㅎ.ㅎ

Too perfect

sön, 2010-08-22 20:37
Sometimes charts look to perfect to be measured. I had this feeling when i saw the rperf numbers of the 795 and put them into a chart. I'm a very visual person, so i put everything in a chart just to get a feeling for numbers.

At first i thought i was paranoid, but then my colleague Jan Brosowski mailed to me that he had thought the same, albeit he approached the problem from the mathematical point of view. Okay ... that left me with a lot of questions and so i did some quick bullshit-testing math on the datapoints.

Some mathAfter reading his mail i wanted to do some tests on my own. So i did a short test with the numbers. At first i've put the data of the 3,7 Ghz P7 into my favorite statistical programm R. > procs <- c(24,48,72,96,120,144,168,192) > rperf <- c(273.51,547.02,820.53,1094.04,1367.55,1641.06,1914.57,2188.08) > fm <- lm (rperf ~ procs) > fitted.values(fm) 1 2 3 4 5 6 7 8 273.51 547.02 820.53 1094.04 1367.55 1641.06 1914.57 2188.08 > residuals(fm) 1 2 3 4 5 -7.886829e-14 -1.045378e-14 6.540129e-14 6.414338e-14 3.446377e-14 6 7 8 -2.363755e-14 -2.489546e-14 -2.615336e-14 > coefficients(fm) (Intercept) procs 1.607775e-13 1.139625e+01 > summary(fm) Call: lm(formula = rperf ~ procs) Residuals: Min 1Q Median 3Q Max -7.887e-14 -2.521e-14 -1.705e-14 4.188e-14 6.540e-14 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.608e-13 4.241e-14 3.791e+00 0.00906 ** procs 1.140e+01 3.499e-16 3.257e+16 < 2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 5.442e-14 on 6 degrees of freedom Multiple R-squared: 1, Adjusted R-squared: 1 F-statistic: 1.061e+33 on 1 and 6 DF, p-value: < 2.2e-16 Strange ... the linear model leads to coeffcients able to predict the rperf value per core with minimal residuals. And i learned not to trust data with a R-squared of 1. Okay ... let's check for the 4.0 GHz P7 perf numbers:> procs <- c(32,64,96,128,160,192,224,256) > rperf <- c(372.27,744.54,1116.81,1489.08,1861.35,2233.62,2605.89,2978.16) > fm <- lm (rperf ~ procs) > residuals(fm) 1 2 3 4 5 1.627514e-13 -1.454981e-13 4.364426e-16 -4.677910e-15 -3.821397e-14 6 7 8 -1.490662e-14 -1.052861e-13 1.453949e-13 > fitted.values(fm) 1 2 3 4 5 6 7 8 372.27 744.54 1116.81 1489.08 1861.35 2233.62 2605.89 2978.16 > coefficients(fm) (Intercept) procs -3.215549e-13 1.163344e+01 Again ... minimal residuals. Okay ... last check ... for the 4.25 GHz procs.> procs <- c(24,32,48,64,80,96,112,128) > rperf <- c(347.36,463.14,694.71,926.28,1157.85,1389.42,1620.99,1852.56) > fm <- lm (rperf ~ procs) > residuals(fm) 1 2 3 4 5 3.163842e-03 -1.638418e-03 -1.242938e-03 -8.474576e-04 -4.519774e-04 6 7 8 -5.649718e-05 3.389831e-04 7.344633e-04 > fitted.values(fm) 1 2 3 4 5 6 7 347.3568 463.1416 694.7112 926.2808 1157.8505 1389.4201 1620.9897 8 1852.5593 > coefficients(fm) (Intercept) procs 0.002429379 14.473100282Sorry ... that's is looking to perfect to me.

When you put the 64-cores LPARs data into the same system, you will see for 4.0 GHz:> procs <- c(128,256) > rperf <- c(1406.36,2812.72) > fm <- lm (rperf ~ procs) > coefficients(fm) (Intercept) procs -3.215549e-13 1.098719e+01
And now for the 4.25 GHz P7:
> procs <- c(64,128) > rperf <- c(777.09,1554.18) > fm <- lm (rperf ~ procs) > coefficients(fm) (Intercept) procs -1.607775e-13 1.214203e+01Both times the intercept is 0 (i assume the small intercept is owed to rounding in data point by IBM or by the challenges of floating point arithmetic on computers.

That's totally unreasonable for measured data. When you just assume 99% of the performance for the 256 cores datapoint (thus an practically impossible scaling factor) you would have an intercept in the range of 28.13.> procs <- c(128,256) > rperf <- c(1406.36,2812.72*0.99) > fm <- lm (rperf ~ procs) > coefficients(fm) (Intercept) procs 28.12720 10.76744
ConclusionAt the moment i don't believe that IBM has really measured all the data it provides in the rperf list. The data fits to perfect in a linear model. The interesting question is: "Which data points were really measured?" All the data provided for the configurations look computed/guessed or something like that and not measured. Even when you want to assume that IBM found a way to the holy grail of linear scaleability, an R-squared of 1 and residuals at 0 are just ridiclious. I would really like to know what data points were really measured.

Moving on from Oracle

sön, 2010-08-22 19:41

This week will be my final week at Oracle.  I am very much going to miss the great team I work with but due to many other reasons I have decided to move on.

Where am I going?

I'm sure several people already know, if you don't, this will be revealed soon.  It will still be related to MySQL, but not so much MySQL Cluster.  I do fully intend to still write patches for MySQL and MySQL Cluster in my spare time and I'll still probably be lurking in the MySQL Cluster mailing list and forums.

What does this mean for this blog?

In all likelihood it will become stale very quickly (worst case it will be removed).  I will no longer be able to edit it.

Will there be a new blog?

Yes, at some point soon.  Watch out on Planet MySQL.

IndicThreads Cloud Computing 2010 Trip Report

sön, 2010-08-22 11:15

IndicThreads.com had their inaugural conference on Upcoming Technology on Aug 20/21 in the city of Pune, India. As the name says, the goal of this conference is to talk about upcoming technologies and Cloud Computing was the chosen topic this time. Harshad & Sangeeta Oak - the driving forces behind Rightrix and this conference made it clear that this conference is not intended to be a training and the aim is to present the latest happening in the cloud world and get the attendees thinking. BTW, Harshad is also an Oracle ACE Director and a Java Champion. The theme of the conference was easily summarized in "Learn, Discuss, Debate, Argue".

Please provide feedback for the sessions at http://u10.indicthreads.com/feedback.

I gave a session on "Running your Java EE 6 applications in the Cloud" and the slides are available below:

Running your Java EE 6 applications in the Cloud

I continue to stick to my philosophy of "Code is king" and showed several code samples & screen snapshots. Several attendees told me afterwards that they liked the session because it was well grounded.

The conference had a single track which gives you the ability to attend all the sessions, and there were several of them. Here are my brief notes from some of the sessions I attended. All the slides from different sessions are given below:


And now some notes ...

Cloud computing - making the right choice by Kalpak Shah

  • Why cloud ?
    • No capital expenditure, only operational expenses
    • Reduced IT administration
    • Elasticity - Fast & inherent scale up/down
    • Commoditization of IT - Only storage, only content delivery, only messaging
    • Automation using APIs
    • Pay-as-you-go for tools & ecosystem
    • Reduced time to market, focus on core competency
  • Explained the concept of Iaas, PaaS, SaaS, and then Storage-as-a-Service (yet another SaaS)
    • Consideration for IaaS
      • Combine Support & Infrastructure - Amazon is cheap for infrastructure, costly for support
      • Cores are much slower on Amazon, faster on Rackspace
      • Good matrix for comparing IaaS vendors
    • Comparing PaaS & SaaS vendors
      • Development language & available skill sets
      • Ease of deployment & maintenance
      • Size of vendor & ecosystem maturity
      • Tools, monitoring, connectors, adaptors
      • Maturity of API & bindings available
      • Does vendor allow private cloud integration ?
  • Ways to Cloudify
    • Public clouds - Large datacenters, provide many services (CPU, storage, CDN, databases, etc), can try it, but comes with security, latency & bandwidth issues
    • Private clouds Normal on-premise databcenters with cloud with all usual benefits of elasticity, self-service, pay-asyou-go, programmabilty, offerings from VMWare, IBM, Microsoft, Eucalyptus
    • Hybrid clouds SaaS Virtual desktops for training Cloud storage for backup etc
  • Interesting private cloud platforms
    • Eucalyptus - Open-source IaaS cloud computing platform, compatbile with AWS enabling almost seamless movement with AWS, Extremely flexible and easy to administer
    • VMWare vCloud - Take the private cloud image, drag/drop on the public cloud and it just works. Platform is consistent & mature and it just works
    • Appistry - Application platform for private, public, and hybrid clouds
    • Rackspace - OpenStack compute and OpenStack storage
    • VMOps
  • Azure
    • Cloud services operating system
    • Provide services across the entire cloud stack - IaaS, PaaS, SaaS
    • Development, service hosting & management
    • Integrated with exisitng on -premises environment
    • Private cloud integration
    • Reliance is using Azure for some of their projects

Architecture Challenges in Cloud Computing by Prabodh Navare

  • Design for auto-scaling, high performance, failover, data portability, pay-as-you-go
  • Vertical scalability - write algorithms that are efficient
  • Horizontal scalability - Have the applications as simple/replicable as possible
  • Options for private cloud in open Source - Eucalyptus, Ubuntu enterprise Cloud, Open nebula, Nimbus, redhat

Getting started with jClouds by Vikas Hazrati

  • Fog, Deltacloud - Ruby-based multicloud library
  • Libcloud - Python-based
  • Dasein uses jclouds as their base API
  • jClouds easy to start
    • Simple interface (Map object)
    • OSS
    • Runtime portability
    • Java & Clojure
    • Unit testability across clouds
    • High performance because of NIO
  • Blobstore (atmos, azure, rackspace, s3)
  • Compute (vcloud, ec2, gogrid, ibmdev, rackspace, rimu)
  • Not 100% but pragmatic portability, dig in with extensions
  • Integration with Apache VFS to see the listing of Blobstore

Preparing data for your cloud by Narinder Kumar

  • Advantages of Non-relational DBMS
    • Scalability
    • Replication / Availability (less feature set but more performant)
    • Performance
    • Deployment flexibility
    • Modeling flexibility
  • Disadvantages
    • Lack of transactional support
    • Data integrity is app's responsibility
    • Data duplication is app dependent
    • Eventual consistent
    • No standardization
    • New technology
  • RDBMS & Cloud
    • MySQL, Oracle, PostgreSQL, DB2, SQL Server are cloud-capable RBDMS
    • Microsoft SQL Services and AWS RDS are cloud native RDBMS
  • SQL Azure is built on SQL Server and so very intuitive.
  • Non-relational DBMS
    • Key value stores - Amazon Dynamo (not for public consumption), S3, Project Voldemort, Redis, Scalaris, MemCacheDB, Tokyo Tyrant
    • Document stores - CouchDB, mongoDB, riak, Amazon SimpleDB
    • Column stores - Google Column Store, Cassandra, HBase, Hypertable
    • Graph stores

Day 2 had interesting sessions on Azure by Janakiram M from Microsoft, EC2 by Simone Burnozzi from Amazon and multi-tenancy by Vikas from Inphina.

The Unconference at the end of Day 1 had some interesting topics like Cloud Standards, how Cloud can help fight massive scale diseases, and what a Java stack needs to provide in the cloud.

Over all, I had a great time, enjoyed some great conversations with Dhananjay Nene, Vikas Hazrati, Narinder Kumar, Rohit Naik, Navin Kabra, Manju, Amarpal Singh, and several others. I hope more attendees can join us for an impromptu social gathering in the evening. Anyway, looking forward to participate in the future Upcoming Technology conferences and others hosted by IndicThreads.

Here are some pics from the event:

And the complete album:

Technorati: conf indicthreads cloud india pune


IndicThreads Cloud Computing 2010 Trip Report

sön, 2010-08-22 11:15

IndicThreads.com had their inaugural conference on Upcoming Technology on Aug 20/21 in the city of Pune, India. As the name says, the goal of this conference is to talk about upcoming technologies and Cloud Computing was the chosen topic this time. Harshad & Sangeeta Oak - the driving forces behind Rightrix and this conference made it clear that this conference is not intended to be a training and the aim is to present the latest happening in the cloud world and get the attendees thinking. BTW, Harshad is also an Oracle ACE Director and a Java Champion. The theme of the conference was easily summarized in "Learn, Discuss, Debate, Argue".

Please provide feedback for the sessions at http://u10.indicthreads.com/feedback.

I gave a session on "Running your Java EE 6 applications in the Cloud" and the slides are available below:

Running your Java EE 6 applications in the Cloud

I continue to stick to my philosophy of "Code is king" and showed several code samples & screen snapshots. Several attendees told me afterwards that they liked the session because it was well grounded.

The conference had a single track which gives you the ability to attend all the sessions, and there were several of them. Here are my brief notes from some of the sessions I attended. All the slides from different sessions are given below:


And now some notes ...

Cloud computing - making the right choice by Kalpak Shah

  • Why cloud ?
    • No capital expenditure, only operational expenses
    • Reduced IT administration
    • Elasticity - Fast & inherent scale up/down
    • Commoditization of IT - Only storage, only content delivery, only messaging
    • Automation using APIs
    • Pay-as-you-go for tools & ecosystem
    • Reduced time to market, focus on core competency
  • Explained the concept of Iaas, PaaS, SaaS, and then Storage-as-a-Service (yet another SaaS)
    • Consideration for IaaS
      • Combine Support & Infrastructure - Amazon is cheap for infrastructure, costly for support
      • Cores are much slower on Amazon, faster on Rackspace
      • Good matrix for comparing IaaS vendors
    • Comparing PaaS & SaaS vendors
      • Development language & available skill sets
      • Ease of deployment & maintenance
      • Size of vendor & ecosystem maturity
      • Tools, monitoring, connectors, adaptors
      • Maturity of API & bindings available
      • Does vendor allow private cloud integration ?
  • Ways to Cloudify
    • Public clouds - Large datacenters, provide many services (CPU, storage, CDN, databases, etc), can try it, but comes with security, latency & bandwidth issues
    • Private clouds Normal on-premise databcenters with cloud with all usual benefits of elasticity, self-service, pay-asyou-go, programmabilty, offerings from VMWare, IBM, Microsoft, Eucalyptus
    • Hybrid clouds SaaS Virtual desktops for training Cloud storage for backup etc
  • Interesting private cloud platforms
    • Eucalyptus - Open-source IaaS cloud computing platform, compatbile with AWS enabling almost seamless movement with AWS, Extremely flexible and easy to administer
    • VMWare vCloud - Take the private cloud image, drag/drop on the public cloud and it just works. Platform is consistent & mature and it just works
    • Appistry - Application platform for private, public, and hybrid clouds
    • Rackspace - OpenStack compute and OpenStack storage
    • VMOps
  • Azure
    • Cloud services operating system
    • Provide services across the entire cloud stack - IaaS, PaaS, SaaS
    • Development, service hosting & management
    • Integrated with exisitng on -premises environment
    • Private cloud integration
    • Reliance is using Azure for some of their projects

Architecture Challenges in Cloud Computing by Prabodh Navare

  • Design for auto-scaling, high performance, failover, data portability, pay-as-you-go
  • Vertical scalability - write algorithms that are efficient
  • Horizontal scalability - Have the applications as simple/replicable as possible
  • Options for private cloud in open Source - Eucalyptus, Ubuntu enterprise Cloud, Open nebula, Nimbus, redhat

Getting started with jClouds by Vikas Hazrati

  • Fog, Deltacloud - Ruby-based multicloud library
  • Libcloud - Python-based
  • Dasein uses jclouds as their base API
  • jClouds easy to start
    • Simple interface (Map object)
    • OSS
    • Runtime portability
    • Java & Clojure
    • Unit testability across clouds
    • High performance because of NIO
  • Blobstore (atmos, azure, rackspace, s3)
  • Compute (vcloud, ec2, gogrid, ibmdev, rackspace, rimu)
  • Not 100% but pragmatic portability, dig in with extensions
  • Integration with Apache VFS to see the listing of Blobstore

Preparing data for your cloud by Narinder Kumar

  • Advantages of Non-relational DBMS
    • Scalability
    • Replication / Availability (less feature set but more performant)
    • Performance
    • Deployment flexibility
    • Modeling flexibility
  • Disadvantages
    • Lack of transactional support
    • Data integrity is app's responsibility
    • Data duplication is app dependent
    • Eventual consistent
    • No standardization
    • New technology
  • RDBMS & Cloud
    • MySQL, Oracle, PostgreSQL, DB2, SQL Server are cloud-capable RBDMS
    • Microsoft SQL Services and AWS RDS are cloud native RDBMS
  • SQL Azure is built on SQL Server and so very intuitive.
  • Non-relational DBMS
    • Key value stores - Amazon Dynamo (not for public consumption), S3, Project Voldemort, Redis, Scalaris, MemCacheDB, Tokyo Tyrant
    • Document stores - CouchDB, mongoDB, riak, Amazon SimpleDB
    • Column stores - Google Column Store, Cassandra, HBase, Hypertable
    • Graph stores

Day 2 had interesting sessions on Azure by Janakiram M from Microsoft, EC2 by Simone Burnozzi from Amazon and multi-tenancy by Vikas from Inphina.

The Unconference at the end of Day 1 had some interesting topics like Cloud Standards, how Cloud can help fight massive scale diseases, and what a Java stack needs to provide in the cloud.

Over all, I had a great time, enjoyed some great conversations with Dhananjay Nene, Vikas Hazrati, Narinder Kumar, Rohit Naik, Navin Kabra, Manju, Amarpal Singh, and several others. I hope more attendees can join us for an impromptu social gathering in the evening. Anyway, looking forward to participate in the future Upcoming Technology conferences and others hosted by IndicThreads.

Here are some pics from the event:

And the complete album:

Technorati: conf indicthreads cloud india pune

Tulsa Labs

sön, 2010-08-22 05:47

Tulsa Labs

Originally posted on Kool Aid Served Daily
Copyright (C) 2010, Kool Aid Served Daily

Integrating an OutlineView with the Save Action

lör, 2010-08-21 07:12
When the user clicks the Enter key in your OutlineView, you'd like the Save Action to become enabled, so that the Save button (and Save menu item) can be clicked. For example, while the user is changing something, as shown below, the Save button should not be enabled:

However, once the user is happy with the change and confirms it by pressing the Enter key, the Save button should be enabled, as shown below:

How to do this? The Outline component, which provides the table above, inherits from org.netbeans.swing.etable.ETable, which inherits from JTable. So, there's nothing new here: KeyStroke enterKey = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, true); outlineView1.getOutline().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(enterKey, "enter"); outlineView1.getOutline().getActionMap().put("enter", new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { fire(true); } });

When Enter is pressed, "true" is passed to "fire". And that's been discussed before, i.e., this is where you add the SaveCookie to the InstanceContent: public void fire(boolean modified) { if (modified) { //If the text is modified, //we add SaveCookie impl to Lookup: ic.add(impl); } else { //Otherwise, we remove the SaveCookie impl from the lookup: ic.remove(impl); } }

That's all. Now you've integrated your OutlineView with the NetBeans Platform's save functionality.

Project Coin: Try out try-with-resources

fre, 2010-08-20 23:59

As of build 105 of JDK 7, the compiler and libraries have support for Project Coin's try-with-resources statement (ARM blocks).

We're curious to get feedback on how try-with-resources works in practice, so please download the build, use the feature to on your favorite Closeable type, and report back on how it goes.

GlassFish Server 3.1 builds integrated into NetBeans dev builds

fre, 2010-08-20 22:13

Big 'Thank you' to Dmitry Lipin.

Tweaking the OutlineViews in the AMSWin Application

fre, 2010-08-20 21:37
Several tweaks later and the appearance of the OutlineViews is much improved, largely thanks to Toni Epple who came to visit in Amsterdam today:

The first column is removed, The small edit buttons are gone, except when you select a cell. Only the useful properties, instead of ALL the properties, are displayed in the Properties window. The tabs in the windows are removed. The selected row is highlighted. A combobox is displayed as the property editor for the city property. For the rest, everything else is the same. The appearance of the OutlineView has been normalized, however. In other words, the behavior is now similar to a standard JTable, even though a BeanNode is used to enrich the domain objects with new features, such as a hierarchical structure for the data provided by the model.

Related reading:

Line Wrapping in dev builds

fre, 2010-08-20 18:04
Line Wrapping was mentioned many times on this blog, so be aware that this feature is now turned on. For more information read this announcement.

News (2010-08-20)

fre, 2010-08-20 16:18

JDK 7 build 106 is available. Build 106 updates the HotSpot virtual machine to HotSpot 19 build number 06, adding an LLVM-based JIT known as Shark, software floating point & cross-compilation support, the ability to build just the client JIT compiler, as well as a set of general fixes and improvements. You can check out the list of changes for details, and get the source code.

Slides for the many of the presentations from this year's JVM Language Summit have been published, including John Rose's presentation on JVM Futures, Fredrik Öhrström' presentation on Efficient compilation of Lambdas using MethodHandles and JRockit and Lukas Stadler's presentation on Coroutines for the Java Platform. In addition, Alex Buckley's Oracle TechCast Live fireside chat "Toward a Universal VM" is available online.

Over at Project Coin, Joe Darcy updated the specification of the try-with-resources statement to require uniform suppression of all throwables.

Project Lambda has seen a lot of activity since Brian Goetz published a new draft for interface evolution via “public defender” methods, and called the community to action on the mailing list asking for feedback from developers trying the Project Lambda prototype out on real code bases, and share their experiences. Developers wanting to try out the prototype should follow the build instructions, read the informal and basic guide on the provisional syntax currently implemented in the prototype and report their experiences on the lambda-dev mailing list.

Oracle Delivers Industry’s Most Complete and Integrated Desktop-to-Datacenter Virtualization Portfolio

fre, 2010-08-20 07:45
Company Outlines Benefits of Virtualization Integrated from Applications to Disk

Source: http://www.oracle.com/us/corporate/press/167252

Redwood Shores, Calif. – August 19, 2010

News Facts
  • Today at an online event, Oracle’s Edward Screven, Chief Corporate Architect, and John Fowler, Executive Vice President, Systems, outlined Oracle’s virtualization strategy and why Oracle Virtualization delivers more value than VMware.
  • The event highlights how Oracle Virtualization, the most complete and integrated virtualization solutions portfolio, enables customers to go beyond simple server consolidation to virtualize and manage their full hardware and software stack, from desktop-to-datacenter.
  • Oracle offers unmatched breadth in server virtualization options, including Oracle VM Server for x86, Oracle VM Server for SPARC, Oracle Solaris Containers and Dynamic Domains.
  • Oracle continues to enhance its virtualization products on all fronts including four recently announced new desktop virtualization offerings: Oracle Virtual Desktop Infrastructure 3.2, Oracle Sun Ray Software 5, Oracle VM Virtual Box 3.2 and Sun Ray 3 Plus Client.
  • In addition, the recent release of Oracle WebLogic Suite Virtualization Option and Oracle Virtual Assembly Builder, both running on Oracle VM, allows customers to dramatically speed up and simplify application deployment—including in cloud computing environments.
  • Oracle’s application aware virtualization goes beyond VMware’s hypervisor-only approach by providing virtualization technologies, the applications that run within, and integrated management—addressing the entire stack from applications to disk.
Oracle Virtualization – Helping Transform Datacenters into Service Providers

By providing the industry’s most complete virtualization, with integrated management and support, Oracle helps customers quickly and efficiently deploy and manage complete application stacks. Oracle Virtualization includes:

Oracle Server Virtualization: Designed for efficiency and optimized for performance, Oracle Server Virtualization technologies enable improved consolidation ratios, cost savings and application performance. Oracle Desktop Virtualization: Oracle’s comprehensive desktop virtualization solutions, from secure thin client devices to highly optimized virtual desktop infrastructure software, offer ease of administration, high security and enhanced user access. Oracle Storage and Middleware Virtualization: Integrated solutions such as Oracle’s storage virtualization and middleware virtualization technologies help organizations gain performance, flexibility, and better utilize existing infrastructure to reduce space, power, and cooling requirements. Oracle Virtualization Management: The cost and effort of managing, monitoring and provisioning virtual environments can be expensive and taxing on IT departments. Oracle Enterprise Manager provides the most comprehensive and integrated solution for managing applications and infrastructure across physical and virtual environments, including multi-architecture support for both x86 and SPARC. Supporting Quote "Unlike other vendors who provide virtualization solutions focused solely on the infrastructure layer and consolidation, Oracle Virtualization focuses on making applications easier to deploy, manage, and support – from the desktop to the datacenter,” said, Edward Screven, Oracle Chief Corporate Architect. “By taking a holistic approach that addresses all layers of the enterprise datacenter, Oracle Virtualization can help companies transform into effective service providers that support business priorities, increase performance and reliability, and reduce costs and inefficiencies.” Supporting Resources Register for the online event now, sessions begin at 9:00am PDT. On demand versions will also be available.

Thinking about the Birthday Problem on my Birthday, as it applies to my Birthday Present

fre, 2010-08-20 01:10

My birthday is upon me.

My birthday present was an iPhone 4. Yeah, I got it early, but it was nice to have for my just-finished vacation drive. I noticed that when I'd reshuffle the 1763 songs on there, I'd more often than not hit a collision with a song I swear I'd heard during the previous shuffling. Time for some math...

The Birthday Problem (or Birthday Paradox, not because it's a real paradox, but because it's counterintuitive) shows that it only takes 23 people to be in the same room before the chances that two of them share a birthday are equivalent to a coin flip. The link above shows how one derives this. Basically, as you keep adding people, the probability of there NOT being a shared birthday decreases. That probability hits near-enough to 50% at 23 people.

I figured if I would have listened/remembered 30 songs from a previous shuffle. That's 2-3 hours of music, not a lot when you're driving all day. So if I accidentally shook my iPhone and reshuffled the songs, how many would I need to hear until I had a coinflip's chance of hearing a repeat from the previous 30?

Basically, the probability of NOT hearing a previously-heard song was (1763-30) / 1763. If that wasn't a repeat, the probability of another non-collision would be (1762 - 30) / 1762. Note that unlike the birthday problem, I'm decrementing the denominator as well. This is because I'm not going to hear the same song twice in a random shuffle.

I wrote a C program (because I hack way too much ON code) to compute things. Here it is: #include <stdio.h> int main(int argc, char *argv[]) { double p; int i, listened, total, tries; if (argc != 4) { fprintf(stderr, "usage: ipod [listened-songs] [total-songs] [tries]\n"); return (1); } p = 1.0; listened = atoi(argv[1]); total = atoi(argv[2]); tries = atoi(argv[3]); for (i = 0; i < tries; i++) p *= (double)(total - listened - i) / (double)(total - i); printf("P(NO repeat for %d on the second playthough): %lf%%\n", tries, p * 100.0); printf("P(Repeat for %d on the second playthough): %lf%%\n", tries, (1 - p) * 100.0); return (0); }

Turns out, I need to hear 40 songs to have a coinflip's chance of hearing one of the previous 30 songs I heard before reshuffling the 1763 total songs. mactavish(~/sources)[0]% ./a.out 30 1763 40 P(NO repeat for 40 on the second playthough): 49.942794% P(Repeat for 40 on the second playthough): 50.057206% mactavish(~/sources)[0]% The above program should work for any sized iPod/iPhone collection, or any sized song-memory/patience. I really hope I got the math/derivation right. Any probability wizards in the audience can feel free to school me in the comments section.

Free Webinar: Simplifying Access Management with F5 & Oracle Aug. 26. 10:00am

tors, 2010-08-19 22:00

Security is hard!  However, the tools that you use to protect your identities should not be. 

Security is hard because of a number of specific environmental, economic and business driven reasons.  One, the threat vectors are growing at exponential rates.  This is driven by the fact that the financial rewards for exploiting data and information are increasing globally.  Whether the data is stolen identities, pricing information for the new release of a product. fraud on internal or external purchases or any of the other 1000 different nefarious threat vectors, businesses and consumers need to be protected.

Two, the number of identities, devices and service providers is also increasing.  The internet is the way we do business globally.  It is the path to which our customers purchase, partners exchange data, and business provide services within their network.  And, at the heart of every exchange of data is an identity.  This identity has critical attributes about an individual that drive the appropriate access to information and services. 

Three, organizations are under increasing regulatory pressure.  Whether it is SOX, FERPA, HIPPA, JSOX, etc. there are access management controls that must be in place to ensure the CFO, CTO and CEO can sign the compliance documents necessary to manage risk in their business. 

This is a complex environment.  Why do the tools that we use to manage access and security within our organization have to be equally complex.  This is why F5 and Oracle have been working together to bring a solution which simplifies access management.  The Big IP Solution is a great way for organizations to simplify access management.  Whether they are integrating multiple Single-Sign-On products with Oracle Access Manager or using this appliance to simplify their IT infrastructure.  The result is faster time to market, faster time to deployment and faster time to security. 

On Thursday, August 26.  We are hosting a webcast that will take you through the solution and talk about why we believe this will simplify Access Management.  Please join us as F5 and Oracle product experts explain this simple solution.

Title: Live Webcast: Streamline Access Management with F5 & Oracle

When:  Thursday, August 26, 2010, 10:00 a.m. PT or 1:00 p.m. ET

Where: Register for this live webcast here: Streamline Access Management with F5 & Oracle