BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Presentations Basking in the Limelight

Basking in the Limelight

Bookmarks
38:07

Summary

Micah Martin introduces Limelight, a JRuby GUI library that uses the theater metaphor for writing GUIs. The talk introduces basic concepts, how to style GUIs, and much more.

Bio

Micah Martin is the President of 8th Light, Inc. He is co-author of the book Agile Principles, Patterns, and Practices in C# and creator of creator of Limelight and FitNesse open source tools. He has 10 years of experience consu lting, training, and developing software focusing on agile practices and software craftsmanship. Since 2006, Micah has been working almost exclusively with Ruby/JRuby.

About the conference

QCon is a conference that is organized by the community, for the community.The result is a high quality conference experience where a tremendous amount of attention and investment has gone into having the best content on the most important topics presented by the leaders in our community. QCon is designed with the technical depth and enterprise focus of interest to technical team leads, architects, and project managers.

Recorded at:

Mar 28, 2010

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Great Presentation, but I missed the video.

    by Kenny Parnell,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I would have loved to be able to see the video/demo.

  • The behavior of six year olds

    by Douglas Allen,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    C:\Users\kb9agt\jruby-projects>jruby -S limelight create production example
    Unhandled Java exception: limelight.LimelightException: Failed to create URIPath from: file:/C:/Users/kb9agt/jruby-projects/example\production.rb
    limelight.LimelightException: Failed to create URIPath from: file:/C:/Users/kb9agt/jruby-projects/example\production.rb
    <init> at limelight/io/FileSystem.java:408
    append at limelight/io/FileSystem.java:446
    join at limelight/io/FileSystem.java:163
    file at limelight/io/Templater.java:81
    createProduction at limelight/commands/CreateCommand.java:102
    createProduction at limelight/commands/CreateCommand.java:93
    doExecute at limelight/commands/CreateCommand.java:58
    execute at limelight/commands/Command.java:40
    run at limelight/CmdLineMain.java:49
    main at limelight/CmdLineMain.java:30
    invoke at java/lang/reflect/Method:-1
    invokeDirectWithExceptionHandling at org/jruby/javasupport/JavaMethod.java:453
    invokeStaticDirect at org/jruby/javasupport/JavaMethod.java:365
    <main> at C:/jruby-9.1.5.0/lib/ruby/gems/shared/gems/limelight-0.6.19-java/bin/limelight:9
    runInterpreter at org/jruby/Ruby.java:850
    loadFile at org/jruby/Ruby.java:2976
    loadCommon at org/jruby/RubyKernel.java:982
    load at org/jruby/RubyKernel.java:974
    call at org/jruby/RubyKernel$INVOKER$s$0$1$load19.gen:-1
    invokeOther17:load at C_3a_/jruby_minus_9_dot_1_dot_5_dot_0/bin/C:/jruby-9.1.5.0/bin/limelight:22
    <main> at C_3a_/jruby_minus_9_dot_1_dot_5_dot_0/bin/C:/jruby-9.1.5.0/bin/limelight:22
    invokeWithArguments at java/lang/invoke/MethodHandle:-1
    runScript at org/jruby/Ruby.java:834
    runNormally at org/jruby/Ruby.java:749
    runNormally at org/jruby/Ruby.java:767
    runFromMain at org/jruby/Ruby.java:580
    doRunFromMain at org/jruby/Main.java:425
    internalRun at org/jruby/Main.java:313
    run at org/jruby/Main.java:242
    main at org/jruby/Main.java:204

    Caused by:
    java.net.URISyntaxException: Illegal character in path at index 44: file:/C:/Users/kb9agt/jruby-projects/example\production.rb
    fail at java/net/URI$Parser:-1
    checkChars at java/net/URI$Parser:-1
    parseHierarchical at java/net/URI$Parser:-1
    parse at java/net/URI$Parser:-1
    <init> at java/net/URI:-1
    <init> at limelight/io/FileSystem.java:404
    append at limelight/io/FileSystem.java:446
    join at limelight/io/FileSystem.java:163
    file at limelight/io/Templater.java:81
    createProduction at limelight/commands/CreateCommand.java:102
    createProduction at limelight/commands/CreateCommand.java:93
    doExecute at limelight/commands/CreateCommand.java:58
    execute at limelight/commands/Command.java:40
    run at limelight/CmdLineMain.java:49
    main at limelight/CmdLineMain.java:30
    invoke0 at sun/reflect/NativeMethodAccessorImpl:-2
    invoke at sun/reflect/NativeMethodAccessorImpl:-1
    invoke at sun/reflect/DelegatingMethodAccessorImpl:-1
    invoke at java/lang/reflect/Method:-1
    invokeDirectWithExceptionHandling at org/jruby/javasupport/JavaMethod.java:453
    invokeStaticDirect at org/jruby/javasupport/JavaMethod.java:365
    call at org/jruby/java/invokers/StaticMethodInvoker.java:51
    cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:338
    call at org/jruby/runtime/callsite/CachingCallSite.java:163
    processCall at org/jruby/ir/interpreter/InterpreterEngine.java:315
    interpret at org/jruby/ir/interpreter/StartupInterpreterEngine.java:73
    INTERPRET_ROOT at org/jruby/ir/interpreter/Interpreter.java:112
    execute at org/jruby/ir/interpreter/Interpreter.java:99
    execute at org/jruby/ir/interpreter/Interpreter.java:35
    execute at org/jruby/ir/IRTranslator.java:42
    runInterpreter at org/jruby/Ruby.java:850
    loadFile at org/jruby/Ruby.java:2976
    load at org/jruby/runtime/load/LibrarySearcher.java:243
    load at org/jruby/runtime/load/LibrarySearcher.java:34
    load at org/jruby/runtime/load/LoadService.java:340
    loadCommon at org/jruby/RubyKernel.java:982
    load19 at org/jruby/RubyKernel.java:974
    call at org/jruby/RubyKernel$INVOKER$s$0$1$load19.gen:-1
    call at org/jruby/internal/runtime/methods/DynamicMethod.java:201
    call at org/jruby/internal/runtime/methods/DynamicMethod.java:197
    cacheAndCall at org/jruby/runtime/callsite/CachingCallSite.java:338
    call at org/jruby/runtime/callsite/CachingCallSite.java:163
    invokeOther17:load at C_3a_/jruby_minus_9_dot_1_dot_5_dot_0/bin/C:/jruby-9.1.5.0/bin/limelight:22
    <main> at C:/jruby-9.1.5.0/bin/limelight:22
    invokeWithArguments at java/lang/invoke/MethodHandle:-1
    load at org/jruby/ir/Compiler.java:111
    runScript at org/jruby/Ruby.java:834
    runNormally at org/jruby/Ruby.java:749
    runNormally at org/jruby/Ruby.java:767
    runFromMain at org/jruby/Ruby.java:580
    doRunFromMain at org/jruby/Main.java:425
    internalRun at org/jruby/Main.java:313
    run at org/jruby/Main.java:242
    main at org/jruby/Main.java:204

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT