Dynamic Grails Application Configuration
If you deploy your grails applications with war files you may find it necessary implement an application configuration mechanism that lives outside the web-space. My first though was to use and...
View ArticleGroovy Excel Report Library
I just finished a series of reports for one of my customers using grails as the backend and Flex for the user interface. As with many of my reports for this customer, they requested the output be...
View ArticleA Groovy Cryptology Library
Rain City's open-source groovy library has recently been enhanced to include a crypto package. Implementation includes symmetric and asymmetric algorithms, hmac, digest, guid, key pool and key store...
View ArticleJava Date/Time Objects with JSR-310
I spent the day experimenting with the proposed javax.time API's from JSR-310. Modeled after the popular joda-time the new javax.time objects offer a rich set of date and time manipulation, basic math,...
View ArticleJSR-310 javax.time and Groovy Tests
The development and implementation of JSR-310 is continuing to move ahead at a good pace. Once delivered, (hopefully by JDK 7) the java community will have a solid replacement for the outdated and...
View ArticleAdjusting Date and Time with javax.time
Java's JSR-310 date and time API, co-lead by Michael Nascimento Santos and Stephen Colebourne is a natural spinoff from the venerable joda time. The implementation has many advantages over java util's...
View ArticleJSR-310 javax.time Periods
The proposed JSR-310 date/time API comes with many representations of date and time including Instant, Duration, LocalDate, LocalTime, LocalDateTime, OffsetDate, OffsetTime, OffsetDateTime,...
View ArticleParsing ISO 8601 Dates in Flex
Flex has many capabilities, but parsing dates is not one of them. As a member of the JSR-310 team I am focused on date formatting and parsing across many formats, so it comes as a bit of a surprise...
View ArticleLame Flex IDE
Ok, Adobe Flex, or AS3 is an OK language. But their commercial Flex IDE sucks. Adobe uses (abuses) the eclipse framework for their commercial IDE. They charge big bucks for a somewhat visual editor...
View ArticleAmazon S3 Access with JetS3t
Back in my ruby/rails days, I always accessed Amazon S3 from the command line. No that I'm coding in groovy/grails, I thought I would search for a groovy solution. Well, I found one, but it's not ready...
View ArticleSimple Digest to Test File Uniqueness
Here is a simple way to use the groovy Digest class from org.raincity.glib.crypto package. It's limited to reasonably small files, but could be used with chunked sections of files. In any case, here is...
View ArticleSocial Network Common Login in Flex
JanRain provides a free version of their industry-leading OpenID solution. RPX Basic enables websites to accelerate user registration and login success by allowing visitors to easily sign in with one...
View ArticleHotlinks External Page Viewer
I first heard about twitter in 2007 while listening to a Ruby On Rails podcast. It took a while, but I finally got on board, mainly as a result of the mandatory SEO stuff required for my current...
View ArticleFlex 4/Flash Builder Beta
Adobe released Flash 4 Beta 2 a few weeks ago with many changes and improvements over Flex 3. The new lightweight spark framework has many advantages over the older mx components and separates skinning...
View ArticleFlex 4 BitmapImage
Flex 4, and specifically the new spark framework has a BitmapImage object in the spark.primitives package. It's associated mxml tag is . I found this after trying to add a Bitmap object to a VGroup...
View ArticleMaximizing FlexUnit4 with Mocks and Closures
After spending the past few months using FlexUnit4 that comes with the new version of Adobe Flex called Flash Builder, I have a few tips on how to maximized your testing using mocks and closures. This...
View ArticleTransforming Average Programmers into Power Developers
The term software crisis coined in the late 60s described the ratio of software required by industry to the inability of software engineers to deliver correct, understandable, and verifiable programs....
View ArticleAction Script Threads for Report Generation
My requirement: to create a complex report that may take several seconds to run without blocking the user's interaction with the application. In java the solution is simple: create a thread and invoke...
View ArticleHTML5, CSS3, Apple, Google and the W3C
About a year ago, I remember responding to a question from a colleague concerning Flex in comparison to HTML5 by saying that HTML5 was not ready yet. For the most part, I still hold that opinion but...
View ArticleUMLet UML Diagraming
Just had to comment on a very useful new(ish) project for editing UML documents called UMLet. No frills or bs* just a good productivity tool in the open source space. Human readable file structure to...
View ArticleGrails 1.3.4, Groovy 7 and NetBeans 6.8
After about a year of doing nothing but Adobe Action Script projects, I'm finally back to a java/groovy/grails project. So, I downloaded the latest grails and fired up my version of NetBeans (6.8) and...
View ArticleEasy Mac Installs--MySQL & NetBeans
I just went through two very easy installs on my new mac; the first, MySQL 5.1.5. A few years ago, when I installed on my old mac it was the typical tar ball install that linux users are familiar with....
View ArticleJavascript Coding Standards
I love javascript. I love how it's flexible enough to be as expressive as you want. The power of closures used in the traditional way or simply as function pointers like in the old C days.Javascript's...
View ArticleJavascript Asynchronous Operations
Javascript is single threaded. That's good. But to take advantage of our ever increasing multi-processor world, we need to adopt functional solutions. Thats where asynchronous operations come...
View ArticleA Database for node.js Projects
LevelDb is a key/value store written three or four years ago by engineers at Google. Since then it has been adopted by many projects including Google Chrome, Bitcoin, Apache ActiveMQ, and others. It...
View Article