The diary this time covers two weeks, as the last week was GR8conf EU week, and I didn't have the time to write it, being one the crew for the conference.
The last couple of weeks have offered a new release of Groovy: 2.3.2 . The previous two on the 2.3 branch generates faulty bytecode for inner classes, so an upgrade an a recompilation with the new version is recommended.
There have been lots of other releases in the Groovy community: Griffon 2.0.0.BETA , Gradle 2.0-rc-1 , and Ratpack version 0.9.5
Groovy now runs on Android, as Cédric Champeau demoed during GR8Conf. There have been quite a bit of twitter activity on this, and Gregor Petrin has made a Flappy Bird style game as a demo.
The GR8Ladies in Minneapolis is running workshops for women interested in Groovy, the next one is at june 28th.
A few notes from GR8conf
The presentations I went to was impressive, and probably forgetting a lot, here are a few thoughts on the conference talks.
I attended Lari Hotari's very first conference talk with the title "Ratpack and Grails 3", and it was a great debut, later I also attended his "Performance tuning grails applications", the later also a general reminder on how to do performance tuning.
Göran Ehrsson was impressive in demoing his work on a CRM system based on lots of plugins handling each their separate part of the application. It was a nice talk on architechture, with an convincing demo.
The most enternaining (and WTF generating) session was Noam Tenne and his Groovy Puzzles, catching lots of traps, pitfalls and end cases. If you find a small example that would fit as a problem, please email them to puzzlers@jfrog.com, the best ones are promised a cool Jfrog T-shirt!
All the talks will be available as videos, once procesed, and the one I'm looking forward to the most is Rob Fletcher and his "Idiomatic Spock" talk. He mentioned afterwards that it was one of his best experiences as a speaker, and he is pretty good. I did not see the talk, but have heard it was fantastic.
Coolest gimmick award definitely goes to Cédric Champeau, for live merging the pull request for Groovy support on Android during his "Developping Android Applications with Groovy" talk.
Next years GR8conf EU will be june 2nd.- 4th. so mark your calendar already now :)
Podcasts and Videos of Presentations
Blogs, Articles, etc.
New Plugins
Updated Plugins
-
CRaSH Grails Plugin Integrates the Common Reusable SHell (CRaSH - http://crashub.org/ ) into Grails.
-
AngularJS Resources Plugin Angular JS resources plugin
-
SeedMe Plugin Implements a standard convention for adding seed data to your application.
-
Time Series GORM Plugin GORM implementation of time series.
-
Time Series Plugin Provides a simplified service for reading/writing timeseries and counter data and storing it in a variety of time resolutions. Read method output is intended to support javascript charting libraries. The plugin defines an interface for pluggable storage providers and includes an implementation in-memory storage provider
-
Arrested Plugin Generates RESTful controllers for domain classes and maps them in UrlMappings, generates single-page AngularJS-based views, and provides simple token-based security
-
Novamail Plugin The Novamail plug-in provides e-mail sending and retrieving capabilities to a Grails application. It is also capable of sending emails asynchronously by using a scheduled Job.
-
Api Toolkit The Grails API Toolkit is a complete set of API tools and an API abstraction layer that automates alot of the tasks needed to build your API like api docs, real time notifications / webhooks, generated headers, responsive content type and more. This also abstracts the API away from the Controller/model with a more universal API Object that can be defined with roles, rules and definitions for handling the request and response at the front controller.
-
Spud Cms Plugin Provides CMS functionality for Spud
-
Grails JCaptcha Plugin Makes using JCaptcha within a Grails app simple
-
Spud Permalinks Plugin Creates a filter for redirecting urls from one location to another and provides an admin interface for defining these permalinks.
-
Asset Pipeline Plugin The Asset-Pipeline is a plugin used for managing and processing static assets in Grails applications. Asset-Pipeline functions include processing and minification of both CSS and JavaScript files. It is also capable of being extended to compile custom static assets, such as CoffeeScript.
-
Ajax Dependancy Selection Plugin Defines next auto completion/selection form field values ensuring it is bound on previous auto completed/selected form field. This can be used on two or more objects of hasMany and belongsTo. Provides: g:autocomplete, g:autoCompletePrimary, g:autoCompleteSecondary, g:autoCompleteSecondaryNR, g:selectPrimary, g:selectSecondary , g:selectSecondaryNR & g:selectController. g:selectAutoComplete and g:selectPrimaryNR. Now also supporting 1 object with multiple dependencies.
-
Security Bridge Plugin Defines a standard corss-plugin security bridge implementation for better decoupling of authentication in plugin heavy applications.
-
JavaMelody Grails Plugin Integrate JavaMelody Monitoring into grails application.
-
Time Series Elastic Search Plugin Elastic Search implementation of time series.
-
Build Info Provides a controller/view that display basic information about the war file including the date/time the war file was built Source Control Revision Number (Git and Subversion) application version number grails version grails environment (currently running, not necessarily the environment used to build the war file) plugins installed (and which version) If Hudson/Jenkins is used to build the war file the following Hudson environment variables are also displayed: BUILD_NUMBER BUILD_ID BUI...
-
Grails Scaffolding Plugin Handles the configuration of dynamic scaffolding
-
Jsx Asset Pipeline Plugin Implements JSX to JS compilation in the asset-pipeline plugin.
-
Grails Plugin for Apache Pivot Grails Plugin for Apache Pivot
-
Mailing List Plugin Schedule emails to a mailing group or to a person using dynamic quartz scheduling. Schedules stored within DB and upon application restart incomplete or future schedules are re-added to quartz queue.
-
Redis Session Plugin Stores HTTP sessions in a Redis data store.
-
Spud Core Plugin Spud Admin is a dependency package that adds a nice looking administrative panel to any project you add it to. It supports easy grails app integration and provides core functionality for spud modules.
-
Remote Pagination Plugin Remote-Pagination plugin provides tags for pagination and to sort columns without page refresh, using ajax and loads only the list of objects needed. It supports multiple paginations as well. More than one remotePaginate, remotePageScroll, remoteNonStopPageScroll and remoteSortableColumn can be used on the same page unlike non-ajax pagination tags.
-
Atmosphere Meteor Plugin This plugin incorporates the Atmosphere Framework, which includes client and server-side components for building asynchronous web applications.
-
Spring Security REST Plugin Implements authentication for REST APIs based on Spring Security. It uses a token-based workflow
-
Yahoo for Spring Security OAuth plugin Integrate Yahoo to Spring Security OAuth plugin.
-
VK for Spring Security OAuth plugin Integrate VK to Spring Security OAuth plugin.
-
Twitter for Spring Security OAuth plugin Integrate Twitter to Spring Security OAuth plugin.
-
LinkedIn for Spring Security OAuth plugin Integrate LinkedIn to Spring Security OAuth plugin.
-
Google for Spring Security OAuth plugin Integrate Google to Spring Security OAuth plugin.
-
Facebook for Spring Security OAuth plugin Integrate Facebook to Spring Security OAuth plugin.
-
AngularJS Template Asset-Pipeline Plugin Provides AngularJS template support for the asset-pipeline static asset management plugin.
-
Log Hibernate Stats Plugin A simple plugin to log Hibernate statistics across controller actions.
-
MongoFile Plugin The MongoFile plugin provides a MongoFileService that saves, retrieves and deletes files from a MongoDB file store. Furthermore, the domain classes have methods injected to handle the
-
Redis Plugin The Redis plugin provides integration with a Redis datastore. Redis is a lightning fast 'data structure server'. The plugin enables a number of memoization techniques to cache results from complex operations in Redis.
-
Teamspeak3 Plugin Adds integration between a Grails application and a TeamSpeak3 server
-
CoffeeScript Asset-Pipeline Plugin Provides coffee-script support for the asset-pipeline static asset management plugin.
-
SASS/SCSS Asset-Pipeline Plugin Provides SASS/SCSS Compass support for the asset-pipeline static asset management plugin.
-
Hd Image Utils Plugin High quality image manipulation plugin, for scaling and cropping images. Uses the pure Java java-image-scaling library
-
Criteria Js Plugin GORM criteria for javascript
-
Remote Control Remotely control a Grails application (for functional testing)
-
Coveralls.io Grails Plugin The Coveralls Plugin allows you to send Grails code coverage report to Coveralls. Coveralls works with your continuous integration server to give you test coverage history and statistics.
Interesting Tweets
-
@theaviary see for yourself how easy is to create and run a #griffon 2.0.0.BETA project with @gvmtool, #lazybones and #gradle http://griffon.github.io/griffon/guide/index.html#_creating_a_project
-
@CedricChampeau Release 0.2 of the #groovylang plugin for #android is out, supporting #android plugin 0.11+ http://bit.ly/1oymGUu /cc @pledbrook
-
@mojavelinux "I'm convinced that once users have tasted Groovy on Android, it's pretty unlikely they'll switch back to Java." http://www.infoq.com/news/2014/06/groovy-android
-
@danveloper Groovy on Android is simply amazing. I’m super impress with this work, @CedricChampeau! #groovylang
-
@aphyr More discussion on reactive/async stuff: https://github.com/aphyr/reactivemanifesto/commit/a24d89bfcf04662b7a8542fc88885e1df3ab9d41#commitcomment-6591866
-
@marcoVermeulen Starting to replace all maven central refs in my gradle builds to jcenter now. #bintray #win https://bintray.com/bintray/jcenter
-
@glaforge @pledbrook @cedricchampeau I'm gonna reformulate my #GroovyDevCon notes a bit and publish that next week
-
@glaforge A #flappybird clone in #groovylang on #Android :-D https://github.com/gregopet/flappy-gru
-
@svpember Saw this git alias on reddit:
alias yolo='git commit -am "DEAL WITH IT!!" && git push --force origin/master'
I laughed far to long at that
-
@java 8 Great #Java8 Features No One's Talking about at @InfoQ http://ow.ly/xGofu
-
@aalmiray #groovylang + LEGO @ #gr8conf https://plus.google.com/photos?pid=6021008037797906450&oid=107194797129022699681
-
@JonasHavers Groovy on Android http://melix.github.io/blog/2014/06/grooid.html #groovylang #android
-
@gvmtool Get Gradle 2.0-rc-1 on GVM now!
-
@glaforge At #gr8conf, live on stage, @CedricChampeau merged the pull request adding #groovylang support for #Android http://t.co/jDbK3QDTFn
-
@davydotcom Pro #groovylang tip. Whatever you do, don’t send invalid regex to String.find. CPU pegs
-
@danveloper God, I love that in #groovylang I can pick and choose what IS and IS NOT statically compiled… Right down to the method. Great shit.
-
@gr8conf Pictures from the last conference day at #gr8conf EU 2014 - as seen by the crew http://bit.ly/1kNRACD
-
@julienviet At home after a fantastic @gr8conf. The Groovy community is awesome, hats off to @glaforge @sbglasius and his team
-
@rfletcherEW Lots of gr8 stuff at #gr8conf but I think the highlight for me was @NoamTenne’s Groovy Puzzlers
-
@lhotari "catastrophic backtracking" in regexp: "^(.*?,){11}P" match on "1,2,3,4,5,6,7,8,9,10,11,12,13" causes 84345 operations. "^([^,]*,){11}P" 108
-
@lhotari I mentioned #regexp perf in my #grailsfw performance tuning talk yesterday. See http://blog.mariusschulz.com/2014/06/03/why-using-in-regular-expressions-is-almost-never-what-you-actually-want by @mariusschulz for learning more
-
@DailyGrailsTip Performance tuning #grailsfw applications by Lari Hotari - http://www.slideshare.net/lhotari/performance-tuning-grails-applications
-
@rfletcherEW Someone asked me yesterday if it’s possible to create a #Spock mock in a trait used to share helper methods between specs. Seems not…
-
@lhotari Slides for my #gr8conf talk "#Ratpack and #grailsfw 3" #async #amdahl #modularmonoliths #MSA #springboot http://www.slideshare.net/lhotari/ratpack-andgrails3
-
@epragt Working with #grailsfw would be so much nicer if it got some more love from @gopivotal. Squash those bugs!
-
@rfletcherEW PDF version of my "Idiomatic Spock" talk from #gr8conf https://github.com/robfletcher/idiomatic-spock/blob/master/Idiomatic%20Spock.pdf?raw=true – the fonts which are missing from the HTML version work here
-
@rfletcherEW Pretty surprised I got through 96 slides in 50 minutes in my “Idiomatic Spock” talk at #gr8conf and had 5 minutes left for questions
-
@greach_es Congratulations to the 5 winners of the tickets. See you next year next March in Madrid. greach.es #GR8Conf (All talks in english)
-
@musketyr "kill -3 " will make the Java process to print thread dump before the process is terminated. Thanks a lot @lhotari for showing this.
-
@szczepiq #Gradle 2.0 is behind the corner. For now, check out my musings about Gradle 1.12 :D http://www.gradleware.com/tutorials/gradle-1-12-features-spotlight-zips-tests-ant-and-component-metadata-rules
-
@ilopmar #grailsfw 3.0 will be based on spring-boot. A lot of new features to come... Great talk by @graemerocher #GR8Conf http://t.co/ZVePxvCWZX
-
@Gradleware Check out the Gradle/Gradleware Newsletter for May: http://www.gradleware.com/newsletter/gradleware-newsletter-may-2014-2/
-
@JonasHavers Getting groovy with #groovylang http://gr8labs.org/getting-groovy/
-
@mrundberget Some nice contributions to the #LightTable #groovylang plugin at #gr8conf yesterday. Cheers !
-
@glaforge @gmcconnaughey I did some comparison of #swift and @groovylang http://glaforge.appspot.com/article/apple-s-swift-programming-language-inspired-by-groovy
-
@CedricChampeau True that #swift definitely looks like #groovylang. Even surprisingly similar. Closure delegates, null-safe operator... A new competitor!
-
@CedricChampeau Just contributed a Lazybones template for #gradle plugins during #gr8conf #hackergarten with Leonard Brünings and @jfrancoleza! @pledbrook
-
@glaforge The #groovylang web console is now up-to-date, with Groovy 2.3.2 (traits, etc), and latest Gaelyk and GAE SDK http://groovyconsole.appspot.com/script/5629499534213120
-
@crashub CRaSH Grails plugin has got new features! https://groups.google.com/d/msg/crash-users/zqDTpEnu0z0/A1hBQWAPI9gJ
-
@tim_yates Moving documentation up the to-do list... ??
-
@epragt 2 + 2 = 5 in #Java. http://codegolf.stackexchange.com/a/28818/21233
-
@RyanVanderwerf I have legos coming out of my ears! Get Ready for some Groovy robot fun tomorrow! #gr8conf thanks @sbglasius http://t.co/jYrUZ1JT9a
-
@alsargent Using the innovative Groovy template engine in Spring Boot http://j.mp/1ovfY3f
-
@alsargent Why do I recommend the Spring Framework to my customers // Speaker Deck http://j.mp/1pyWtUV #Java
-
@grooscript Add more #groovylang frameworks or libraries to http://frameworks-groovygs.rhcloud.com and stop slacking with logos :)
-
@alsargent Spring Tool Suite and Groovy/Grails Tool Suite 3.6.0.M1 released http://j.mp/1o7xVBt
-
@greach_es The #Greach crew is almost ready for #GR8Conf with some surprises. Don't be shy and come to talk with us :-)
-
@tOMPSON @davydotcom do you see a chance that the grails asset-pipeline could be adapted to be used in a Spring MVC app? #grailsfw #SpringMVC
-
@rfletcherEW Similar to some stuff I will discuss at @gr8conf RT @objectpartners: Unit test your server-side JavaScript with Spock http://ow.ly/2HgtLa
-
@ratpackweb @ProjectReactor did a little more work on Reactor integration: https://github.com/ratpack/ratpack/blob/master/ratpack-reactor/src/main/java/ratpack/reactor/RatpackReactor.java & https://github.com/ratpack/ratpack/blob/master/ratpack-reactor/src/test/groovy/ratpack/reactor/ReactorSpec.groovy#L37
-
@ratpackweb Here's a nice and small potential contribution: https://github.com/ratpack/ratpack/issues/342
-
@RyanVanderwerf I think I've packed enough legos #gr8conf Lets make some stuff! http://t.co/DHD3tbywau
-
@recoveringjahil @groovylang is a beautiful and @grailsframework is awesome...feels soooo good to be back in code at work #feelingproductive
-
@DailyGrailsTip gHipster is a version of the jHipster Spring Boot framework that uses Gradle instead of Maven. Also Spock. https://github.com/hanskoff/gHipster
-
@BenBalter One Git wonder (n) - An agency that open sources a project then immediately proceeds to abandon it.
-
@pledbrook @gvmtool Some of this advice might be applicable to GVM: http://www.kfirlavi.com/blog/2012/11/14/defensive-bash-programming - has a bunch of stuff I was unaware of.
-
@aalmiray I hereby declare June to be #hackergarten month: Copenhagen (2nd), London (12th,13th), Zurich (19th), Bern (26th)
-
@rfletcherEW This is pretty great for preparing code samples for Keynote https://gist.github.com/jimbojsb/1630790
-
@grooscript Version 0.5.1 released, just some fixes http://grooscript.org See you at @gr8conf, beers, barbecue, #hackergarten, #groovylang,... Fun!
-
@pledbrook Following on from #groovypodcast, if interested in reaching out to other women in #groovylang community, go here: http://gr8ladies.org
-
@DailyGrailsTip #grailsfw 2.4 lets you set transaction attributes - m.withTransaction([isolationLevel: TransactionDefinition.ISOLATION_REPEATABLE_READ]){}
-
@ldaley Most software conference talks seem to be about languages, frameworks tools and frivolity. Maybe builders of real software are too busy?
-
@ChrisJohnRiley [SuggestedReading] What You Need To Know to Become a Penetration Tester http://ift.tt/1ra7QXQ
-
@GR8ConfUS How do you sell #groovy and #grailsfw in the enterprise? Find out at #gr8conf US! http://ow.ly/wWXfM
-
@Guzsir @gvmtool In Windows with #babun https://github.com/babun/babun works like a charm (groovy, gradle, ...)
Conferences and meetups
GR8conf US, Minneapolis - USA, July 28th-29th, 2014.