23 Jul 2008

feedPlanet Sun

HPC: Video: DE Shaw - Toward Millisecond-Scale Molecular Dynamics Simulations of Proteins

In this video, Dr. John Salmon, D. E. Shaw Research, presents at the International Supercomputing Conference in Dresden, Germany. Recorded June 20, 2008.

Abstract:

The ability to perform long, accurate molecular dynamics (MD) simulations involving proteins and other biological macromolecules could in principle lead to important scientific advances and provide a powerful new tool for drug discovery. A wide range of biologically interesting phenomena, however, occur over time scales on the order of a millisecond -- about three orders of magnitude beyond the duration of the longest current MD simulations. Our research group is currently building a specialized, massively parallel machine called Anton which, when completed in late 2008, should be capable of executing millisecond-scale classical MD simulations of one or more proteins at an atomic level of detail. We have also recently completed a parallel MD package called Desmond, which uses novel algorithms and numerical techniques to achieve unprecedented simulation speed on an ordinary computational cluster. This talk will provide an overview of our work on parallel algorithms and machine architectures for high-speed MD simulation, and will touch on selected biological research conducted recently within our lab.

23 Jul 2008 12:00pm GMT

Paul Jakma: APNICs AS-dot policy proposal

In a similar vein to my attempt to dissuade RIPE from continuing with AS-dot format, James Spenceley has submitted APNIC policy proposal 65 to try get APNIC to change their ways.

23 Jul 2008 11:34am GMT

Geertjan: Creating a Grails Plugin in NetBeans IDE

Let's create a plugin for Grails. Grails is, after all, modular and pluggable. Here's the ultimate simple Grails plugin, just to give an idea what is involved, from start to finish. The most useful references I have found so far are these:

Between those three, you should have enough to figure things out. I still found it hard, despite those instructions and so to avoid having to figure things out again some time in the future, I'll write absolutely everything here.

Creating the Plugin

  1. On the command line, run this:
    grails create-plugin SamplePlugin
    

    Now you have a Grails plugin. However, at the same time it is just another Grails application, which means you can simply open it in NetBeans IDE. (I.e., there is no import process and no NetBeans artifacts are added to the plugin in order to be able to open it in the IDE.)

  2. So open the plugin in the IDE. The Projects window isn't very interesting, it just shows you the same as you would normally see for Grails applications:

    The Files window (Ctrl-2) however, shows a lot more:

    Open the "SamplePluginGrailsPlugin.groovy" file and there you see the following:

    class SamplePluginGrailsPlugin {
        def version = 0.1
        def dependsOn = [:]
            
        def doWithSpring = {
            // TODO Implement runtime spring config (optional)
        }
       
        def doWithApplicationContext = { applicationContext ->
            // TODO Implement post initialization spring config (optional)          
        }
    
        def doWithWebDescriptor = { xml ->
            // TODO Implement additions to web.xml (optional)
        }
                                                  
        def doWithDynamicMethods = { ctx ->
            // TODO Implement registering dynamic methods to classes (optional)
        }
            
        def onChange = { event ->
            // TODO Implement code that is executed when this class plugin class is changed  
            // the event contains: event.application and event.applicationContext objects
        }
                                                                                      
        def onApplicationChange = { event ->
            // TODO Implement code that is executed when any class in a GrailsApplication changes
            // the event contain: event.source, event.application and event.applicationContext objects
        }
    }
    

    I.e., you have hooks for integrating your code into meaningful places in the plugin.

  3. Now we'll create code that will let our plugin provide a new "constraint". (If you don't know what that is, you will know by the time you finish reading all this.) To do so, we will need to extend org.codehaus.groovy.grails.validation.AbstractConstraint, in a package within src/groovy:
    import org.codehaus.groovy.grails.validation.AbstractConstraint
    import org.springframework.validation.Errors
    
    class BestFrameworkConstraint extends AbstractConstraint {
    
        private static final String DEFAULT_MESSAGE_CODE = "default.answer.invalid.message";
        public static final String NAME = "oneCorrectResponse";
    
        private boolean validateConstraint
    
        //The parameter which the constraint is validated against:
        @Override
        public void setParameter(Object constraintParameter) {
            if (!(constraintParameter instanceof Boolean))
                throw new IllegalArgumentException("Parameter for constraint ["
                        + NAME + "] of property ["
                        + constraintPropertyName + "] of class ["
                        + constraintOwningClass + "] must be a boolean value");
            this.validateConstraint = ((Boolean) constraintParameter).booleanValue()
            super.setParameter(constraintParameter);
        }
    
        //Returns the default message for the given message code in the current locale:
        @Override
        protected void processValidate(Object target, Object propertyValue, Errors errors) {
            if (validateConstraint && !validate(target, propertyValue)) {
                def args = (Object[]) [constraintPropertyName, constraintOwningClass,
                        propertyValue]
                super.rejectValue(target, errors, DEFAULT_MESSAGE_CODE,
                        "not." + NAME, args);
            }
        }
    
        //Returns whether the constraint supports being applied against the specified type:
        @Override
        boolean supports(Class type) {
            return type != null && String.class.isAssignableFrom(type);
        }
    
        //The name of the constraint, which the user of the plugin will use
        //when working with your plugin.
        @Override
        String getName() {
            return NAME;
        }
    
        //Validate this constraint against a property value,
        //In this case, ONLY "Grails" is valid, everything else will cause an error:
        @Override
        boolean validate(target, propertyValue) {
            propertyValue ==~ /^Grails$/
        }
    
    }
    
  4. Next, back in the Groovy plugin class that we looked at earlier, hook the above class into the plugin, using the "doWithSpring" closure to do so:
    def doWithSpring = {
        ConstrainedProperty.registerNewConstraint(
            BestFrameworkConstraint.NAME,
            BestFrameworkConstraint.class);
    }
    
  5. Now, back on the command line, navigate to within the "SamplePlugin" folder. There, run the following:
    grails package-plugin
    

    Back in the IDE, examine the ZIP file that the above command created:

That ZIP file is your Grails plugin.

Installing the Plugin

Now we will install our plugin in a new application.

  1. First, create a new Grails application by going to the New Project wizard (Ctrl-Shift-N) and choosing Groovy | Grails Application. Click Next and type "SampleApplication" and then click Finish.
  2. After the IDE has finished running the "grails create-app" command for you, you will see the new application open in the IDE. Right-click it and choose "Plugins", as shown here:

  3. In the Grails Plugins dialog, notice that the list gets filled with many potential plugins that you might want to install, from the Grails plugins repository. Instead, we'll install our own. Click Browse and browse to the ZIP file that we created three steps ago and notice that it appears in the text field at the bottom of the dialog:

  4. Click "Install" and then a progress bar appears, ending with the plugin being installed. Notice that you can also uninstall it:

  5. Take a look at your application and notice (in the Files window) what's happened to the plugin. It's been unzipped, plus the ZIP file is still there. And all that's been done in the "plugins" folder. Nothing else has changed, which means that uninstallation is as simple as removing the folder from the "plugins" folder:

    Thanks to "convention over configuration", Grails knows exactly where everything is-so that, for example, the "plugin.xml" file that you see above, if found within the folder structure you see above, is the indicator to Grails that a plugin is available for use.

Using the Functionality Provided By the Plugin

  1. Let's now use our plugin. Create a domain class called "Quiz", after right-clicking the "Domain Classes" node and choosing "Create new Domain Class":

  2. Right-click the "Controllers" node and choose "Create new controller". Type "Quiz" and then click Finish. Use the Groovy editor to add one line for adding the scaffolding (and uncomment the other line):

  3. Back in the "Quiz" domain class, add your property and use the "oneCorrectResponse" constraint defined in your plugin, as shown here:

    Note: The "oneCorrectResponse" constraint that you see above is the name of the constraint defined in the plugin.

  4. And then add the message to the messages.properties file, which is within the "Messages Bundles" node:

  5. Run the application and you will see that your constraint will prevent anything other than "Grails" from being considered acceptable, when "Create" is clicked below:

Congratulations, you've created, installed, and used your first Grails plugin!

23 Jul 2008 11:19am GMT

Paul Jakma: Pretty Good BGP (PGBGP)

A new, interesting, soft/side-band approach to BGP security: Pretty Good BGP.

No crypto involved, no need for extensive deployment. Just monitoring the BGP routing table and reporting anomolous updates to the operator for further investigation. What's especially interesting is that they claim this system has discovered otherwise unknown hijacks of important prefixes.

23 Jul 2008 11:18am GMT

Paul Lamere: Isn't Social Metadata Incredibly relevant?

2008 is looking to be the year that researchers start paying attention to social tags in a big way. At the recent AAAI Workshop on Intelligent Techniques for Web Personalization and Recommender systems, one third of the talks were devoted to social tagging topics. Oscar tells me that 5 out of the 30 papers at the upcoming RecSys 08 are devoted to social tagging topics.

This year's ISMIR will be no different. There's lots of interesting research around tags and music information retrieval - researchers are looking at filling out the tag cloud (autotagging and tagging games), extracting information from tags (latent semantic methods), cleaning up tags, using tags to assist in training of classifiers, using tags for recommendation, discovery and exploration. There seems to be no end to the interesting things we can do with social tags.

At this year's ISMIR, Elias Pampalk and I will be presenting a tutorial on social tags and music. In the tutorial we will be looking at the state-of-the-art in commercial and research systems that use social tags. I'm rather excited about the tutorial - the topic is just so fascinating to me - and it is great to work with Elias especially with his deep knowledge of the last.fm tagging data (and his new found statistical expertise).

If you are attending ISMIR this year and have an interest in social tags, consider signing up for the tutorial.

23 Jul 2008 11:02am GMT

Alan Hargreaves: What can you say?

I have been really slacking off with my blogging and really need to get back into it. What better way than with something amusing that happened today to a colleague.

He picked up an task today where the customer had the following issue and question. Unfortunately I don't recall the exact issue and patch number but they are perepheral to the humour.

We've noticed that this problem occurs on a system with patch XXXXXX-02, but not on those with XXXXXX-04. Can you tell us if there is a patch or workaround to the problem?

How do you answer a question like that? An overseas colleague came up with the suggestion of "Sir, you really need a holiday".

My suggestion was more prosaic, that he simply look in the patch README for the bugs that were fixed between the -02 and -04 revision and reply "Yes, that was bug YYYYYYY which was fixed in XXXXXX-04", and try to keep a straight face.

Of course the really worrying thing about this whole incident, is that the current revision of the patch in question was -57!

23 Jul 2008 10:42am GMT

: Losing the desktop battles but not giving up...yet.

After leaving the protective cocoon of Sun Microsystems, I have discovered a Java world I never knew. Of course, the blogosphere hinted that this world existed, but I didn't care. I barely noticed since that world had little relevance to...

23 Jul 2008 10:29am GMT

Yasuhiro Fujitsuki: (JA) NetBeans on OpenSolaris

pkgコマンドを使って NetBeans を OpenSolaris に追加したんですが、 なんかメニューフォントが汚い…。 内部のフォントはきれいなんですけどね。



で、調べてみるとどうも、アンチエイリアスが有効ではないためのようで、 javaの場合、-Dawt.useSystemAAFontSettings=on で有効にできるとのこと。 netbeansのオプションを調べてみると、jvm側にこのオプションを渡す場合、 -J-Dawt.useSystemAAFontSettings=on のように先頭に「-J」をつけると良いようです。
netbeans -J-Dawt.useSystemAAFontSettings=on で起動してみたところ、 次のような感じに。



毎回入力も面倒だったので、/usr/netbeans/bin/netbeans を見たところ、 デフォルトオプションが ${netbeans_default_options} という変数で 設定されていたので、下記のような感じで、無理やり追加して解決(w。

${netbeans_default_options}
EOF
        heap_size
        netbeans_default_options="-J-Xmx${max_heap_size}m ${netbeans_default_options}"
        netbeans_default_options="-J-Dawt.useSystemAAFontSettings=on ${netbeans_default_options}"
fi


23 Jul 2008 10:26am GMT

Takanobu Masuzuki: OpenSolaris Night Seminar 7th

毎回好評を頂いております、OpenSolaris Night Seminar 7th の開催が決定しました。今回は、自宅でOpenSolaris環境をインターネット接続する方法の紹介や、Windows とのデータ交換/共有する小ネタに なります。今回諸般の事情により後半は私が講師する予定です。
3分間クッキングはOpenSolaris で DVD 鑑賞するネタだそうです。 開催日時と場所は 8月1日(金)18:30、弊社神宮前オフィスです。 受付開始は 7月24日 17:00 よりここからです。

23 Jul 2008 9:27am GMT

Security: Solaris 10 11/06 achives Common Criteria EAL4+ CAPP/RBACPP/LSPP

Solaris 10 11/06 now has a Common Criteria EAL4+ certification for CAPP/RBACPP/LSPP. For full details see the press release. Details of all Solaris Common Criteria certifications are available on the security certifications page.

- Darren

23 Jul 2008 9:22am GMT

theaquarium: TheObservatory: Your Guide Through OpenSolaris

ALT DESCR

TheObservatory has a concise description of the different OpenSolaris (the code base) distributions, from OpenSolaris (the distro) to MartUX mBE - 9 distro's altogether.

The Observatory is a very useful source of news for OpenSolaris it is worth a visit even if you are not an active user.

23 Jul 2008 9:00am GMT

Malte Timmermann: Sun Java Communications Suite 6 - now with Convergence AJAX client

Jim Parkinson has just blogged about the availability of the new release from the Java Communications Suite.

Our messaging server is already well known for being rock solid and for it's great scalability.

The new release offers interesting new features for mobile messaging (LEMONADE support).

For me, as an end user in this case, the most interesting new feature is the web based mail and calendering client - Convergence.

If you are interested, you can find many more details in Jim's blog.


23 Jul 2008 8:36am GMT

Mani Chandrasekaran: MySQL Camp in Bangalore - July 29th 2008

A free MySQL camp is being scheduled in Bangalore on July 29th 2008. Please see http://blogs.sun.com/amitsaha/entry/mysql_camp_in_bangalore_july for more details. The agenda looks good. Also, of interest, the MySQL user group in Bangalore is being launched.

23 Jul 2008 8:23am GMT

kimimasa sato: 【イベント情報】itSMF Japan Conference & EXPO 2008

こんにちは。

経由の情報です。

7/30(水)、7/31(木) に東京ミッドタウンで開催される itSMF Japan Conference & EXPO 2008 において、弊社は Sun Identity Manager のデモンストレーション を行います。

イベントの詳細については以下をご参照ください。
http://jp.sun.com/company/events/2008/000214.html
7/30-7/31 Identity ManagerをitSMFで展示します - Sun ソフトウェア最新情報アップデート (Beta)

ということです。

_kimimasa

23 Jul 2008 8:02am GMT

Masaki Katakai: NetBeans 6.5 : Eclipse プロジェクトのインポート機能

前から提供されているプラグインですが Eclipse Project Importer というのがあります。Eclipse のプロジェクトを NetBeans にインポートするとうプラグインで、アップデートセンターから提供されています。今回そのプラグインが 6.5 から本体に入ってくるようですね。

このアナウンスを読むとまったく同じものではなく、いくつかの機能拡張が行われています。まず一番大きなものはプロジェクトのインポート後の「同期」です。インポート後の Eclipse 側への変更を自動的に取り込みます。これは手動でも行えるようです。ただ現在はクラスパスの設定しかできないようです。

その他の改良点は以下のようになっています。

使い方は「ファイル」メニューから「Import Project」を選択します。NetBeans 6.5 の開発ビルドであればそのまま使えます。NetBeans 6.1 でもプラグインはアップデートセンターから取得可能です。



インポートを開始する最初のウィザードです。ワークスペースの場所を指定し、インポートします。



フィードバックなどありましたら日本語メーリングリストまでお願いします。

23 Jul 2008 6:22am GMT

jyrivirkki: Updated phpMyAdmin package

As most of you know the Web Stack repository has had a phpMyAdmin package for a long while now. It was in fact the first package to show up on the project repository. It was very much an experiment and it delivered its files in the simplest way possible, by simply dumping everything under the Apache htdocs directory.

With the release of the drupal OpenSolaris package recently, I decided to go back and rearrange the phpMyAdmin package to follow the same model and I just pushed it out to the repository. Changes include:

1. File layout similar to drupal (and also similar to the upcoming phpPgAdmin package): static files live under /usr/phpmyadmin/ and the editable configuration is in /etc/phpmyadmin/

2. The package delivers sample Apache configuration in /etc/apache2/2.2/samples-conf.d/phpmyadmin.conf

3. A stub man page is included (man phpmyadmin) and a quick-start evaluation script is also included (/usr/bin/phpmyadmin_evaluation_init).

Also, not specific to phpMyAdmin, I improved the package publishing so now the version numbers are preserved, so you'll find the package list more informative than before. For example by looking at "pkg:/phpmyadmin@2.11.7,5.11-1:20080722T221304Z" you can tell I updated the version of phpMyAdmin to 2.11.7.

Finally, while bug 2253 has recently been fixed, unless you're running a handbuilt version of IPS you'll still need to use the workaround in order to install Web Stack packages:

% pfexec pkg set-authority -O http://pkg.opensolaris.org/webstack webstack
% pfexec pkg refresh
% pfexec pkg install pkg://webstack/phpmyadmin
% man phpmyadmin

As always, please try it out and send your feedback to webstack-discuss@opensolaris.org. Better yet, if you're inspired to improve it, let me know.


23 Jul 2008 6:10am GMT