Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do.
-- Steve Jobs

Sunday, July 31, 2011

Integralist - How to use Git and GitHub

Integralist - How to use Git and GitHub
If you’re having trouble understanding how to get up and running with GitHub, or you just wanted to find a free version-control system and heard about this thing called ‘Git’ then hopefully the following information should help…

Creating github repositories with command line | Do it yourself Android

Creating github repositories with command line | Do it yourself Android
Just thought I’d share a small post on creating github repositories using the command line.

Getting Started – GitHub « Some thoughts, ideas and fun!!!

Getting Started – GitHub « Some thoughts, ideas and fun!!!

This is a quick and easy tutorial to get up and running quickly with GitHub as your online repository. What will be covered is how to get up and running using GitHub and some of the concepts that exist when you use it. What I’ll be going through are as follows:

  1. GitHub Concepts
    • Collaborator
    • Organization
  2. Registering a GitHub Collaborator Account
  3. Registering a GitHub Organization Account
  4. Linking a Collaborator Account to an Organization Account
  5. Generating & Registering SSH Keys
  6. Creating a Repository
  7. Git Setup
  8. Connecting to a Repository
  9. Useful Git Links
  10. GitHub Help

Install Java In Ubuntu 11.04 Natty Narwhal Via Repository ~ Web Upd8: Ubuntu / Linux blog

Install Java In Ubuntu 11.04 Natty Narwhal Via Repository ~ Web Upd8: Ubuntu / Linux blog
I've upgraded to Ubuntu 11.04 on my netbook a while back and as usual, I can't install Java the "official" way because the Ubuntu 11.04 Partner repository is not yet ready (it's usually available once the final Ubuntu version is released).

So what are the options for installing Java in Ubuntu 11.04 if you upgrade before the final version is released? You can download it from its website and install it manually and/or use the JDK updater script provided by Bruce Ingalls - but there are actually 2 much easier to use alternatives. Read on!

Friday, July 29, 2011

Video: Introduction to Git with Scott Chacon of GitHub - Marakana

Video: Introduction to Git with Scott Chacon of GitHub - Marakana
In this presentation from Scott Chacon, author of Pro Git and evangelist at GitHub you'll get everything you need know about Git. Below is Scott's description of the talk:

This talk introduces the Git Version Control System by looking at what Git is doing when you run the commands you need to do basic version control with it. We'll look at how to use Git to do the basics, while seeing how it differs from Subversion, what staging and committing actually looks like, how it stores it's data, how it branches and merges so nicely and how it talks to a server when pushing and fetching. Then we'll look at how to look at your history with log in interesting ways. This should help Git newbies get acquainted with the popular VCS and other Git users get a glimpse of what's happening under the hood.

Connecting to the “Why” | Daily Kaizen

Connecting to the “Why” | Daily Kaizen
I am reading a great book right now about the Revolutionary War. In the book it discusses the different approaches taken by the American and British generals in the southern campaign. The British had almost every advantage in terms of resources, military training, etc. Yet, the Americans ended up winning the field and as a result the war. Why? The book argues that one of the most important reasons was the untraditional approach the generals took to leadership. Unlike the British leadership who refused to share their strategy and tactics with lower level ranks the Americans focused on teaching every solider the battle plan for the day. It was mandated by General Greene who allowed even the privates to push back on tactics (something unheard in the military of the day). As a result, every American solider knew the reason “why” they were being asked to do something.

Grails - 2.0.0.M1 Release Notes

Grails - 2.0.0.M1 Release Notes

Beyond the manifesto: The Software Craftsmanship Attitude | Javalobby

Beyond the manifesto: The Software Craftsmanship Attitude | Javalobby

Being an aspiring software craftsman goes way beyond than just saying it. I'll quote my own definition of software craftsmanship from my previous post.

Software craftsmanship is a long journey to mastery. It's a lifestyle where developers choose to be responsible for their own careers and for improving their craft, constantly learning new tools and techniques. Software Craftsmanship is all about putting responsibility, professionalism, pragmatism and pride back into software development.
Software craftsmanship is all about attitude. The attitude of raising the bar of professional software development starting with our own skills and professionalism.

Java 7 Ships With Severe Bug - Slashdot

Java 7 Ships With Severe Bug - Slashdot
Lisandro writes "Lucid Imagination just posted an announcement about a severe bug in the recently released Java 7. Apparently some loops are mis-compiled due to errors in the HotSpot compiler optimizations, which causes programs to fail. This bug affects several Apache projects directly — Apache Lucene Core and Apache Solr have already raised an warning, noting that the bug might be present in Java 6 as well."

Apple Has Moved On — Shawn Blanc

Apple Has Moved On — Shawn Blanc

Horace Dediu:

When Apple changed its name from Apple Computer to Apple Inc. they signaled that their business has moved on.

They skate to where the puck is going to be.

45 Days.

45 Days.

Every creative person I know has at one point told me they didn’t have enough time for a personal project, to re-build an aging portfolio, to learn a new skill. Most of them seem to find or make the time to send out tweets, pour over Facebook, or check emails a couple dozen times an hour. Many of them have seen an entire season of whatever the last big TV show was.

So I did some more math. If I freed up one hour a day it would give me 365 hours. Broken into 8-hour days, that would give me 45 days of time. To do the thing I said I most wanted to do, but “just didn’t have the time.”

Audiosurf

Audiosurf
Audiosurf is a music-adapting puzzle racer where you use your own music to create your own experience. The shape, the speed, and the mood of each ride is determined by the song you choose.

Pros and Cons of Online Degree Programs « #AltDevBlogADay

Pros and Cons of Online Degree Programs « #AltDevBlogADay
Being as I’ve taken online classes for over four years now, I figured I may be able to offer some perspective to those considering online degree programs. I’ve taken online classes from a total of three different colleges over the course of my academic journey, completed my BS entirely online, and currently have about a year left on my MFA, which is also exclusively online. The following points are some common factors I’ve identified in online education that any student considering an online degree program should at least take into consideration.

ASP.NET MVC 4 Roadmap

ASP.NET MVC 4 Roadmap

It only feels like yesterday that we shipped ASP.NET MVC 3 followed by a release of updated Visual Studio tooling for ASP.NET MVC 3. But we’re not ones to sit on our hands for long and are busy at work on ASP.NET MVC 4.

In fact, almost immediately after shipping ASP.NET MVC 3, we started working through our backlog of bugs at the same time that we started general planning for the next major version.

Today, I’ve published the result of that planning in the form of a high-level roadmap for ASP.NET MVC 4.

JavaScript is Assembly Language for the Web: Sematic Markup is Dead! Clean vs. Machine-coded HTML - Scott Hanselman

JavaScript is Assembly Language for the Web: Sematic Markup is Dead! Clean vs. Machine-coded HTML - Scott Hanselman

I was talking to Erik Meijer yesterday and he said:

JavaScript is an assembly language. The JavaScript + HTML generate is like a .NET assembly. The browser can execute it, but no human should really care what’s there. - Erik Meijer

Entity Framework Code First Migrations: Alpha - NuGet Package of the Week #10 - Scott Hanselman

Entity Framework Code First Migrations: Alpha - NuGet Package of the Week #10 - Scott Hanselman
Hot on the heels of my RFC blog post on product versioning, the Entity Framework team has released Entity Framework 4.1 Code First Migrations: August 2011 CTP. Cool. And it's July, too

JavaScript is Assembly Language for the Web: Part 2 - Madness or just Insanity? - Scott Hanselman

JavaScript is Assembly Language for the Web: Part 2 - Madness or just Insanity? - Scott Hanselman
Some folks think that saying "JavaScript is Assembly Language for the Web" is a totally insane statement. So, I asked a few JavaScript gurus like Brendan Eich (the inventor of JavaScript) and Douglas Crockford (inventor of JSON) and Mike Shaver (Technical VP at Mozilla). Here is our private email thread, with their permission.

Ask Slashdot: How Do You Protect Data On Android? - Slashdot

Ask Slashdot: How Do You Protect Data On Android? - Slashdot
Gibbs-Duhem writes "It makes me very nervous that my Android phone has access to my email/AIM/G-talk/Facebook, protected only by a presumably fairly easily hacked geometric password protection scheme. Even more because simply attaching the phone to a USB port allows complete access to the internal memory and SD card regardless of whether a password is entered. I have no idea how much of that information ranging from cached emails to passwords stored in plaintext is accessible when mounting the device as a USB drive, and that worries me." For the rest of Gibbs-Duhem's question about issues in Android security, read on below.

Thursday, July 28, 2011

Oracle Announces Java SE 7 - Slashdot

Oracle Announces Java SE 7 - Slashdot
vivin writes "Oracle has announced the release of Java SE 7. This is the first release of Java under the stewardship of Oracle."

Coding Horror: Building a PC, Part VII: Rebooting

Coding Horror: Building a PC, Part VII: Rebooting
I've had more or less the same PC, with various updates, since 2007. I've written about most of it here:
While the advice in those original articles is still quite sound, my old 2007 era case was feeling mighty creaky. I needed a new chassis. I also wanted a motherboard that supported native 6 Gbps SATA for the latest generation of SSDs that truly benefit from them. The buzz around the Sandy Bridge based Core i7-2600k was nearly deafening, and I've fallen completely in love with my last HTPC build based on the same technology. (Oh, and even if you already read that article, read it again because I added new PicoPSU and case information that takes it from awesome to sublime – on the order of 17 watts idle!)
So I decided it was time to build myself a nice Sandy Bridge system. What I ended up with is easily the best case and motherboard combination I've ever laid hands on. Read on!

Creating Passionate Users: Don't forget square one...

Creating Passionate Users: Don't forget square one...
The problem the Parelli's see in those trying to transition from skilled amateur to expert virtually always comes down to something from the fundamentals that they either never quite mastered, or that they forgot over time. So, perhaps that's one more thing the superior performers do better than the rest of us--they keep practicing the fundamentals. This fits with the notion that experts practice things that aren't necessarily fun, which can include both the things they still don't do well, AND the non-exciting basics.

Using Grails 1.4/2.0 in STS

Using Grails 1.4/2.0 in STS
By default, STS 2.7.0 enables the installation of Grails 1.3.7 and Groovy 1.7.10 from the dashboard extensions page. These versions have been thoroughly tested together. However, if you wish to try out Grails 1.4 (recently renamed 2.0) releases you have to do a couple of things: install Groovy 1.8 and tell STS about a Grails 1.4 install. There are two routes you might be taking to try this out:
  1. You are using STS and already have the Groovy/Grails support working
  2. You are using STS with no Groovy/Grails support installed
In the next sections we'll look at going from either of these setups to trying out Grails 1.4. If you haven't even got STS downloaded yet, you may want to checkout the setup instructions here.

Writing Android Apps using Visual Studio « #AltDevBlogADay

Writing Android Apps using Visual Studio « #AltDevBlogADay
Google has made it unnecessarily complicated to write Android apps under Windows for C++ developers who are used to Visual Studio. Hopefully this posting makes it easier.

This article is about setting up your Android development environment in combination with Visual Studio and WinDBG for mobile systems beta. The result is that you can create and debug Android projects from within Visual Studio on emulator and the actual device (that doesn’t need to rooted). Those project files are kept in sync with the original NDK build files (Android.mk etc) so they are compatible with the command-line tools. In other words, you can still use ndk-build and ant. If you are a happy Eclipse user, this posting isn’t for you.

The Evolution of Package Management for .NET - Rob Reynolds - The Fervent Coder - Devlicio.us - Just the Tasty Bits

The Evolution of Package Management for .NET - Rob Reynolds - The Fervent Coder - Devlicio.us - Just the Tasty Bits
When you start a journey, you are never fully sure where it is going to end up. We started the journey down package management for .NET three times with Nu[bular] (we in this context means the nu team, not me in particular, I was only involved in the last reboot) before we decided to try an existing infrastructure with Ruby Gems. I have always said that I would use the best tool out there, even if it is not one that I’ve been involved in building.

Single Action Controllers with ASP.Net MVC | Aspiring Craftsman

Single Action Controllers with ASP.Net MVC | Aspiring Craftsman
While I’ve enjoyed working with the ASP.Net MVC Framework, one thing I wish that it provided is the ability to create controller-less actions. Why you ask? Because I’d rather my controllers only have one reason to change. While this isn’t provided out-of-the-box with ASP.Net MVC, single action controllers can be facilitated pretty easy with ASP.Net Routing.

Single Action per Controller in ASP.NET MVC - Jak Charlton - Insane World - Devlicio.us - Just the Tasty Bits

Single Action per Controller in ASP.NET MVC - Jak Charlton - Insane World - Devlicio.us - Just the Tasty Bits

As I keep doing this on MVC projects, thought I may as well blog it, so the next time I need it I can find it myself :)

To keep ASP.NET MVC controllers clean and organised, I find it much easier to split them so they handle only a single action each. This helps significantly with maintaining some semblance of the Single Responsibility Principle, allowing each controller to deal with a single action, and not have concerns like Logon, Logoff and ChangePassword all start globbing together under a single controller called "Account".

Node.js on Windows (or JavaScript for the backend) - Christopher Bennage - Devlicio.us - Just the Tasty Bits

Node.js on Windows (or JavaScript for the backend) - Christopher Bennage - Devlicio.us - Just the Tasty Bits

The simplest answer, albeit a simplistic answer, is that Node (or Node.js) is JavaScript on the server. Actually, it’s a more than just that, but you can read about the more in other places. This is a good enough answer for us n00bs.

Unless you’ve been living in in cave, you might have noticed that JavaScript is all the rage now. It’s the new assembly language of the Web. (It’s even for the enterprise.) With Node, you can now take that webby clienty goodness to your server applications.

Eclipse Community Forums: EGit » Problems setting EGit with github

Eclipse Community Forums: EGit » Problems setting EGit with github
I've got it working and it was a key issue, mostly. Here are the main steps if you already have the local repository set up in eGit and files committed and the basic eGit configuration done.

EGit/User Guide - Eclipsepedia

EGit/User Guide - Eclipsepedia

Use EGit with GitHub.

EGit/User Guide/Getting Started - Eclipsepedia

EGit/User Guide/Getting Started - Eclipsepedia

Here's a good guide to getting started with Eclipse and EGit.

A Short Tutorial on Eclipse/EGit/GitHub « codeMonk

A Short Tutorial on Eclipse/EGit/GitHub « codeMonk
I wrote this to help out some of my collaborators on our AI project for class, but I figure it might help some other people get started using version control.

Tutorial: Using the EGit Eclipse Plugin with GitHub | Loiane Groner

Tutorial: Using the EGit Eclipse Plugin with GitHub | Loiane Groner
I started to use GitHub a couple of months ago.

I found this Elipse plugin – EGit - and it did made my life so much easier (download projects from GitHub and upload projects – with may files – to GitHub). So I decided to write this tutorial, because I did not find any step by step Egit tutorial on the Internet

What this tutorial covers:

  • Installing EGit
  • Importing an existing Eclipse project from Github
  • Uploading your Eclipse project to Github
  • Git operations from inside Eclipse

Enjoy it and Happy coding!

Wednesday, July 27, 2011

McDonaldLand » Grails Redirect

McDonaldLand » Grails Redirect
I am admittedly still a newbie at Grails and am self learning without aid of a book, hence the simplicity of this post. After I finished the current application I am working on the last step was to get the root index.gsp page to redirect to something more useful. So I went through the user guide to find the directive for a redirect, only to find there was none, at least at a glance.

Pro Git - Pro Git Book

Pro Git - Pro Git Book
This is the website for the Pro Git book, written by Scott Chacon and published by Apress. Here you can find the full content of the book, a blog with tips and updates about Git and the book and open source projects related to Git or referenced in the book.

Understanding Git for SourceSafe users

Understanding Git for SourceSafe users
Visual SourceSafe is no longer an obvious choice. First of all, Microsoft seems to want everyone to use Team System and forget that SourceSafe exists--I couldn't even find the SourceSafe setup on the Visual Studio install DVD and had to download it from the MSDN site. Team System is overkill for a two developer team (in my opinion it's probably too much for any team smaller than ten members) and would be more trouble than it's worth to set up in our environment, not to mention the cost.

The Rise of Git - Slashdot

The Rise of Git - Slashdot
snydeq writes "InfoWorld takes a look at the rise of Git, the use of which has increased sixfold in the past three years. Buoyed in large part by interest among the Ruby community and younger developers, Git has been gaining share for open source development largely because of its distributed architecture, analysts note. And the version control system stands to gain further traction on Subversion in the years ahead, as Eclipse is making Git its preferred version control system, a move inspired by developers and members."

Tuesday, July 26, 2011

My Experiences with Android Development | Javalobby

My Experiences with Android Development | Javalobby
Because I was missing coding, and because my friend and I had an awesome phone app idea at the weekend, I thought I'd try my hand at developing an Android application this week.

I want to give a quick overview of my preliminary thoughts on getting started on this endeavour.

Background: I've got more than 10 years Java experience, but any UI for the applications I've worked on was always a web UI. I am completely new to mobile app development.

Live Blog: Groovy Android programming | Jworks.nl - Agile Software Development

Live Blog: Groovy Android programming | Jworks.nl - Agile Software Development
This blogpost will keep track of our current progress on our effort to make Groovy run on Android phones. Instead of creating a summary like in the previous ‘This Week in Discobot’ posts, we will update this blogpost every half an hour!

Monday, July 25, 2011

Rapid Cloud Development with Spring Roo – Part 1: Google App Engine (GAE) | Javalobby

Rapid Cloud Development with Spring Roo – Part 1: Google App Engine (GAE) | Javalobby
Spring Roo is a tool to offer rapid application development on the Java platform. I already explained when to use it: http://www.kai-waehner.de/blog/2011/04/05/when-to-use-spring-roo. Spring Roo supports two solutions for Cloud Computing at the moment: Google App Engine (GAE) and VMware Cloud Foundry. Both provide the Platform as a Service (PaaS) concept. This article will discuss the GAE support of Spring Roo. Cloud Foundry will be analyzed in part 2 of this article series.

GWT 2 Spring 3 JPA 2 Hibernate 3.5 Tutorial - Java Code Geeks

GWT 2 Spring 3 JPA 2 Hibernate 3.5 Tutorial - Java Code Geeks
This step by step guide will present how to develop a simple web application using Google's Web Toolkit (GWT) for the rich client and Spring as the back – end, server side framework. The sample web application will provide functionality to make CRUD (Create Retrieve Update Delete) operations to a database. For the data access layer we will use JPA over Hibernate and for a database we will use Hypersonic. Of course you can change the configuration and use whatever you like. We will deploy the web application to an Apache – Tomcat instance.
GWT in Action: Easy Ajax with the Google Web Toolkit Spring in Action Hibernate in Action (In Action series)

Against the Grain – Game Development

Against the Grain – Game Development
I am a guy who loves games and because I ended up in IT thinking that I will build awesome games for a living, I decided to start this experiment to motivate myself and hopefully others with similar interests to start doing what I love…games.

This is an experiment on building a complete game for a mobile platform not knowing much about neither game development or mobile platforms. I am a decent software programmer though in other fields.

I will try to document the whole process from inception to hopefully completion.

@Ignore unit tests immediately if they fail! | Javalobby

@Ignore unit tests immediately if they fail! | Javalobby

In development teams, there is often discussion about using the @Ignore tag for failing tests.

In particular, developers who are very enthusiastic about writing unit tests often tend to be very dogmatic about it. They argue, "A test should never be ignored! It’s better to have the build server on Yellow if tests fail. That way we always have an overview of our problems and are forced to fix them!"

What might sound good at first is not a good idea, at least when it comes to large development teams.

Inspired by Actual Events: Book Review: Java: The Good Parts

Inspired by Actual Events: Book Review: Java: The Good Parts
I recently had the misfortune of waiting at the airport for roughly six hours as my flight was repeatedly delayed 30 minutes at a time until it was ultimately canceled. The one silver lining in this cloud was that I was able to read almost all of Jim Waldo's Java: The Good Parts while I waited (the book comes in at under 200 pages). In this post, I talk about what I like best about this book and who I believe its best audience is.

The Principles of Good Programming

The Principles of Good Programming
Over the years I have found that following a relatively small number of fundamental guiding principles has helped me become a much more effective programmer. Today's post is a lightly edited repost from my blog at The Area, a web-site dedicated to users of Autodesk media and entertainment products. I came up with this list of principles to help with a recent C# training I gave, and I thought that members of the Artima.com community could appreciate these principles and have some interesting insights to share.

Sunday, July 24, 2011

Andrew Taylor » Blog Archive » Getting Started with Grails and MySQL - Code n' stuff

Andrew Taylor » Blog Archive » Getting Started with Grails and MySQL - Code n' stuff

Out of the box, grails is set up with a HSQLDB database ready to go. While HSQLDB is great for early development, eventually most projects have to migrate to a real database system. If you’re using a hosting service for your app, such as CloudFoundry, it will probably end up being MySQL.

Here’s my checklist of things to do to convert a project from the default HSQLDB settings to MySQL.

How to Use the Sticky Footer HTML & CSS Code

How to Use the Sticky Footer HTML & CSS Code
There are many sticky footer methods to be found in Google. I've tried many of them and they usually fail in some regards. The problem it seems is that some of these methods are old and may have worked in older browsers but they don't in newer browser releases. Because those pages are old, and were heavily linked too in the past, they still rank high in Google. Many webmasters looking for a sticky footer solution end up scratching their heads as they try these same old methods because they are the first ones they end up finding when they search.
 HTML5 and CSS3: Develop with Tomorrow's Standards Today (Pragmatic Programmers) Basics of Web Design: HTML5 and CSS3 CSS3: Visual QuickStart Guide (5th Edition)

Thursday, July 21, 2011

jGuru: When I run startup.sh under Linux, why do I get a "Permission Denied" error?

jGuru: When I run startup.sh under Linux, why do I get a "Permission Denied" error?
I did a chmod 777 to the startup.sh and the tomcat.sh and that did the trick.

[You can also do "chmod a+x *.sh" instead. "chmod 777" also makes it writeable by all users which may be more than you want. -Alex]

java - Grails deployment issues (WAR & Tomcat) - Stack Overflow

java - Grails deployment issues (WAR & Tomcat) - Stack Overflow
I'm working on deploying a WAR under Tomcat 6 on a remote server. Now if I deploy as such on my local machine everything works fine. Remote deployment triggers a very unfriendly set of exceptions.

linux - grails app will not deploy on tomcat FAIL - Application could not be started - Stack Overflow

linux - grails app will not deploy on tomcat FAIL - Application could not be started - Stack Overflow

use the following snippet in grails-app/Config.groovy:

def catalinaBase = System.properties.getProperty('catalina.base')
if (!catalinaBase) catalinaBase = '.' // just in case
def logDirectory = "${catalinaBase}/logs"

log4j
= { root ->
appenders
{
rollingFile name
:'stdout', file:"${logDirectory}/${appName}.log".toString(), maxFileSize:'100MB'
rollingFile name
:'stacktrace', file:"${logDirectory}/${appName}_stack.log".toString(), maxFileSize:'100MB'
}

error
'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate'
root
.level = org.apache.log4j.Level.WARN
}

Marc Palmer » Blog Archive » Deploying Grails applications on Tomcat

Marc Palmer » Blog Archive » Deploying Grails applications on Tomcat

I just saw this blog entry about deploying Grails apps on Tomcat.

I’m confused as to why there is a need to "grails run-app" on the server.

I have deployed Grails applications many times now on Tomcat 5.5 on remote servers that don’t even have Grails installed. All that is required is dumping the .war into the webapps directory. To avoid problems I shut down tomcat first, copy the .war over, and then start tomcat again. It works without fail.

Idiot's guide to Tomcat 6 & Grails with JNDI DataSource | Refactor

Idiot's guide to Tomcat 6 & Grails with JNDI DataSource | Refactor
Ok, I found information on how to do this a little bit scattered and some gotchas, so this blog post is just a quick idiot's guide on how to setup Grails with a JNDI DataSource on Tomcat 6 with Mysql.

How to install Tomcat in Ubuntu

How to install Tomcat in Ubuntu
we can start/stop/restart Tomcat with following command
/etc/init.d/tomcat5.5 start
/etc/init.d/tomcat5.5 stop
/etc/init.d/tomcat5.5 restart

Install Useful Nautilus Menu Items | Tombuntu

Install Useful Nautilus Menu Items | Tombuntu

Nautilus is the default file manager for GNOME. In Ubuntu there are three extra packages that can be installed to add extra functionality.

  1. nautilus-gksu – Adds “Open as administrator” menu item.
  2. nautilus-image-converter – Adds “Resize Images…” and “Rotate Images…” menu items.
  3. nautilus-open-terminal – Adds “Open In Terminal” menu item.

These three packages can be installed with the command below or by finding them in the Synaptic package manager. Once the install is complete you need to restart Nautilus. The easiest way to do this is to log out and back in.

Wednesday, July 20, 2011

Ubuntu: Easy (And Quick) Ways To Open Any Files As Root

Ubuntu: Easy (And Quick) Ways To Open Any Files As Root
Ubuntu does not allow its users to login as root directly. For users who want to run programs (or edit files) with root privileges, they have to use “sudo” to allow access to root. While this is a very useful feature to protect your system, it can be a troublesome and repetitive task.

Instead of hitting the terminal and enter the ‘sudo‘ command everytime you need to open a file with root privilege, you can use any of the following methods to easily access your files with a mouse click.

Ubuntu 10.10 - Apache Tomcat

Ubuntu 10.10 - Apache Tomcat
Apache Tomcat is a web container that allows you to serve Java Servlets and JSP (Java Server Pages) web applications.
The Tomcat 6.0 packages in Ubuntu support two different ways of running Tomcat. You can install them as a classic unique system-wide instance, that will be started at boot time will run as the tomcat6 unpriviledged user. But you can also deploy private instances that will run with your own user rights, and that you should start and stop by yourself. This second way is particularly useful in a development server context where multiple users need to test on their own private Tomcat instances.

Grails - Deployment

Grails - Deployment

Grails should never be deployed using the grails run-app command as this sets Grails up in "development" mode which has additional overheads. To deploy a Grails application type:

grails war
This will create a Web Application Archive (WAR) file from the app name and version found in the application.properties file. For example myapp-0.1.war

Now take this WAR file and install it into your container of choice. See below for container specific installation.

Tuesday, July 19, 2011

Inspired by Actual Events: The Three Groovy Books I Use Regularly

Inspired by Actual Events: The Three Groovy Books I Use Regularly
During the course of my Groovy evangelism, I've often been asked what the best book is for a Java developer to use to learn Groovy. Unfortunately, this is another of those dreaded "it depends" answers. In this post, I summarize why I like and regularly use three Groovy books: Groovy Recipes: Greasing the Wheels of Java, Programming Groovy: Dynamic Productivity for the Java Developer, and Groovy in Action. I hope to be able to provide details as to what distinguishes each book from the other two for those looking for a single book. They each offer distinct advantages in addition to many common advantages and I have found each one to be useful in different situations. The good news is that all three books are excellent in their own right so one really can't go "wrong" with any of them.

Inspired by Actual Events: O'Reilly's OSCON Chairman: "Java deserves another look"

Inspired by Actual Events: O'Reilly's OSCON Chairman: "Java deserves another look"
I frequently wholeheartedly agree with opinions expressed by Java.net editor Kevin Farnham in his Editor's Blog. Nevertheless, I was still surprised to discover that his most recent post (Is Java Becoming an 'Emerging Technology'? Ask O'Reilly) seemed to capture and even better articulate my own recent thoughts after reading the same three O'Reilly posts (all by Edd Dumbill) he references: Seven reasons you should use Java again, Seven Java projects that changed the world, and A rough guide to JVM languages. Each of the three Dumbill/O'Reilly posts is well worth reading on its own merits, but what really struck me is the overall observation I made as I read these posts: this might be O'Reilly's way of saying "Java is back!"

Parameterized unit tests with JUnit 4 (Locke's Socks)

Parameterized unit tests with JUnit 4 (Locke's Socks)
If you've ever found yourself writing a series of tests which differ only in their inputs and expected results, you've probably realized that the sensible thing to do would be to abstract your tests into a single test that can be run against a varying set of data. JUnit 4 allows you to do this with either theories or parameterized tests; here, I'll discuss the latter.

JUnit theories (Locke's Socks)

JUnit theories (Locke's Socks)
So, theories. Whereas parameterized tests are generally built around a known set of inputs and expected outputs, a theories-based test focuses on the generalized relationship between inputs and outputs. It might help you to understand the difference if you try to recall learning about mathematical functions for the first time in junior high or high school.

Page Objects in Selenium 2.0 « Actively Lazy

Page Objects in Selenium 2.0 « Actively Lazy
So you’ve written your first Selenium 2.0 test, but is that really the right way to build tests? In the second article in this series we’ll look at the difference between test specification and test implementation and how Selenium achieves this with page objects.

Getting started with Selenium 2.0 (WebDriver) « Actively Lazy

Getting started with Selenium 2.0 (WebDriver) « Actively Lazy
With the release of Selenium 2.0 the best name in web testing and the best API have come together in a match surely made in heaven. In this, the first article in a series, we’ll look at what it takes to start writing automated browser tests using Selenium 2.0.

Crossbrowser » Things you should know when interviewing for a programming job

Crossbrowser » Things you should know when interviewing for a programming job

I was browsing through the Programmers stack exchange Q&A website yesterday and I stumbled upon a question about the fairness or unfairness of some interview questions that the candidate was asked to answer. Basically, the candidate was asked to answer questions out of his field of competence and felt cheated by the interview. In all fairness, he was a recent graduate and probably didn’t have that much experience interviewing.

In his question, he mentioned that he wanted to write the company to tell them about the unfairness of the questions. Fortunately, the Programmers community responded well and told him that this was not the right thing to do, however a few people did agree with him. Since he might not be the only one feeling that way, I decided to write a few (non-technical) things that every programmer should know when applying for a programming job.

‪Google I/O 2011: Learning to Love JavaScript‬‏ - YouTube

‪Google I/O 2011: Learning to Love JavaScript‬‏ - YouTube

JavaScript remains one of the most popular and important programming languages in history. Web Developer and Chrome Engineer Alex Russell exposes the timeless strengths of the JavaScript language and why it is a vital part of the open web platform. Come hear what's next for the JavaScript standard and how to get the most out of the new features coming soon in V8 and Chrome.

JavaScript Redux (and Closures)

JavaScript Redux (and Closures)
It appears we are stuck with JavaScript, at least in the near-to-mid term. Although the language is an abomination, some things are getting better. I discovered a couple of great lectures and a book that might change your perspective (a little) about the language.

In addition, if you still don't understand closures, these lectures might solve that problem for you. In other languages, closures are presented as "it would be nice to have" without terribly compelling use cases. But in JavaScript, closures are essential in order to rescue the language from complete chaos. Closures are much more compelling and easier to understand within the context of JavaScript.

Monday, July 18, 2011

Friday, July 15, 2011

Task-Based UI « CQRS

Task-Based UI « CQRS
This chapter introduces the concept of a Task Based User Interface and compares it with a CRUD style user interface. It also shows the changes that occur within the Application Server when a more task oriented style is applied to it’s API.

Is It Green Yet? Improving Our CI Process « #AltDevBlogADay

Is It Green Yet? Improving Our CI Process « #AltDevBlogADay
Having a Continuous Integration server running is one of the most useful and powerful tools a development team can use. Constantly checking the state of the code, building assets which might otherwise take hours and generating stats on build quality are all really useful things to have running in the background hour after hour and day after day.

But if it’s not done with care, a CI process, while still providing some useful information, will stop being an important part of a development teams tool set.

Good introduction to FubuMVC from the Two Ryan’s | Jeremy D. Miller

Good introduction to FubuMVC from the Two Ryan’s | Jeremy D. Miller
Ryan Kelley and Ryan Raur gave a talk to the Oklahoma City Developers Group this week and posted their slide deck online at http://okcfubumvc.heroku.com/#1. Use the page up/down or arrow keys to advance through the slides.
The slide deck is a nice introduction to what sets FubuMVC apart from ASP.Net MVC (and other .Net solutions) with some code samples.

Why I Code - rhyolight's posterous

Why I Code - rhyolight's posterous

How I got from soldier to JavaScript geek at Yahoo! is not interesting. Why I Code is interesting, and I would like to talk about that. At first, I dabbled like a frightened monkey pushing unknown buttons in a lab cage, wondering what combinations divvy out the best digital treats. Soon, I could see the full potential of this amazing career field, and I wanted nothing more than to dive into it, head-first, without reservation.

But why? Why is this coding thing so awesome? Why are so many of us so passionate about what we do with our little languages that compile down into cryptic bytecode?

Are We There Yet: OSGi - Are we there yet?

Are We There Yet: OSGi - Are we there yet?
A few nights ago John Stevenson (@jR0cket) and I were fortunate enough to be taken through a explanation of OSGi by some of its key proponents: Neil Barlett (@njbarlett), Zoe Slattery (@zoe_slattery) and Alasdair Nottingham.

I have certainly battled JAR hell and have also experienced problems with keeping web and enterprise applications isolated from each other (manipulating parent delegation and CLASSPATHs anyone?). This has been throughout my Java career (~10 years now), but I had never investigated OSGi properly as an alternative. Why? Because I never spent the time investigating OSGi properly and I was under the strong impression that it was better suited for IDE, App Server and tooling development as opposed to application development.

So after a good couple of hours of discussion I came out with a greater appreciation for OSGi and the following conclusions.

Green's Opinion: How To Be A Successful Developer

Green's Opinion: How To Be A Successful Developer
I was recently asked for advice from a young student on how to become a successful software developer. This is a complicated question. I put some thought into it, and realized that every individual will become successful in different ways. Here are some things that helped me.

Why CRUD might be what they want, but may not be what they need | Ian Cooper

Why CRUD might be what they want, but may not be what they need | Ian Cooper
The Rolling Stones once sung:
“You can’t always get what you want, But if you try sometimes, well you just might find, You get what you need”
I think the same is true of CRUD. Our users seem to ask for it and we blindly agree to their wishes and build it; however, its regularly not what they need.

furbo.org · The Rise and Fall of the Independent Developer

furbo.org · The Rise and Fall of the Independent Developer

I’m old enough to remember a time before the Internet. I know what it’s like to develop software both with and without a worldwide network.

Little has changed with the process of software development since the 1980’s. Of course there have been improvements in our tools and techniques, but the basic act of creating software products is much the same. What has changed dramatically in the past 30 years is how we distribute our creations.

Thursday, July 14, 2011

Managing plugins with Grails 1.3 | SpringSource Team Blog

Managing plugins with Grails 1.3 | SpringSource Team Blog

For a long time, managing Grails dependencies simply meant putting them in your application's lib directory. Then came Grails 1.2 and the dependency DSL: you could finally declare your dependencies and have Grails automatically download them and make them available to your app. Great!

Now, Grails 1.3 has brought the dependency DSL to the realm of plugins.

So what?

Users have often faced two issues with the plugin system up till now:

  1. setting up a suitable Subversion server to act as a Grails plugin repository is not simple; and
  2. you can't control what dependencies a plugin brings into your application.

Grails - Plugin - Resources

Grails - Plugin - Resources
This plugin represents a new way of declaring and linking to static resources in your application and plugins. Resource dependencies can be declared (e.g. jQuery UI requires jQuery) and pages simply indicate which resource modules they require. The plugin does the rest, and provides a processing pipeline for advanced optimisations.

Grails - Plugin - Blueprint

Grails - Plugin - Blueprint
This plugin provides the Blueprint CSS framework resource files and resource tags.

Grails - Plugin - Bluetrip CSS Framework

Grails - Plugin - Bluetrip CSS Framework
The Bluetrip CSS framework is a full featured and beautiful CSS framework which originally combined the best of Blueprint, Tripoli (hence the name), Hartija, 960.gs, and Elements, but has now found a life of its own. This plugin aims to make it easy to add Bluetrip CSS framework resources to your project and tag to include them. Later we'll also work on tags that will make it easy to use the framework. Note: This is not an official release from Blutrip CSS Framework maintainers. You can learn more about bluetrip here - http://bluetrip.org/ Credits: This file takes code and inspiration from the Grails Blueprint CSS.

BlueTrip CSS Framework | A beautiful and full-featured CSS framework

BlueTrip CSS Framework | A beautiful and full-featured CSS framework
A full featured and beautiful CSS framework which originally combined the best of Blueprint, Tripoli (hence the name), Hartija, 960.gs, and Elements, but has now found a life of its own.

EGit

EGit
EGit is an Eclipse Team provider for the Git version control system. Git is a distributed SCM, which means every developer has a full copy of all history of every revision of the code, making queries against the history very fast and versatile.

dgreen99 / org.eclipse.mylyn.github

dgreen99 / org.eclipse.mylyn.github

A couple of things have changed in this fork. If you’re already using the github Mylyn connector or if you would like to try it out, here’s what you’ll need to do.
This is a forked repository. Have a look at
smilebase’s org.eclipse.mylyn.github wiki
for more information.

Using GitHub with Eclipse (to update collective.developermanual) | mFabrikt

Using GitHub with Eclipse (to update collective.developermanual) | mFabrik
Notes to self how to checkout and update Github projects with Eclipse EGit plug-in.

Green's Opinion: Good Things Come In Threes

Green's Opinion: Good Things Come In Threes
Hundreds of developers at Eclipse.org are on the cusp of something great. After lamenting the pains of the dark ages and thinking it wouldn't end, Eclipse's focus on best practices has resulted in a decision to move to Git. With tooling integration being such a key factor, it's no surprise that everyone's eyes are on the EGit project. I figured it was time to give it a spin after a recent call for project trials. This is how my adventures with GitHub, EGit and Mylyn began.

InfoQ: Eclipse on GitHub

InfoQ: Eclipse on GitHub

First Haskell, and now Eclipse moves to GitHub. Only true Git repositories are being mirrored to GitHub, but there's more than 70 repositories already created at the Eclipse Foundation page on GitHub. With EGit 0.11 being released as part of 3.6.2 and aiming for a 1.0 release in Eclipse 3.7, there's more demand than ever to move to Git for Eclipse projects. As Chris Aniszczyk announced:

I'm happy to announce we finally setup mirroring of eclipse.org repositories on GitHub.

I think this is an important step to making the eclipse.org codebase more accessible for people to fork and contribute changes. If you’re an eclipse.org project accepting changes from someone on GitHub, please check the official policy on handling Git contributions.

GitHub and Eclipse - GitHub

GitHub and Eclipse - GitHub
Using Eclipse? Interested in GitHub integration? You may be in luck with EGit and this GitHub Guide by PEZ.
Unfortunately the guide link just redirects to the main GitHub site but there is some good information in the comments.

Git with Eclipse (EGit) - Tutorial

Git with Eclipse (EGit) - Tutorial
This tutorial describes the usage of EGit; an Eclipse plugin to use the distributed version control system Git. This tutorial is based on Eclipse 3.6 (Helios).

GitHub and Eclipse - GitHub

GitHub and Eclipse - GitHub
Using Eclipse? Interested in GitHub integration? You may be in luck with EGit and this GitHub Guide by PEZ.
Unfortunately the guide link just redirects to the main GitHub site but there is some good information in the comments.

Home - Gradle

Home - Gradle
Project automation is essential to the success of software projects. It should be straight-forward, easy and fun to implement.
There is no one-size-fits-all process for builds. Therefore Gradle does not impose a rigid process over people. Yet we think finding and describing YOUR process is very important. And so, Gradle has the very best support for describing it.
We don't believe in tools that save people from themselves. Gradle gives you all the freedom you need. Using Gradle you can create declarative, maintainable, concise and high-performance builds.

Part 1 of GrailsUI Screencast series: The Basics

Part 1 of GrailsUI Screencast series: The Basics
I have created the first part of a series of screencasts for GrailsUI. This screencast goes over the basics of installation and setup of GrailsUI, as well as describing and implementing the expandablePanel, accordion, and tabView components.

So far, the series goes like this:

  1. Part 1: GrailsUI Basics (expandablePanel, accordion, tabView)
  2. Part 2: GrailsUI AutoComplete Basics
  3. Part 3: GrailsUI Advanced AutoComplete
  4. Part 4: GrailsUI DataTable (COMING SOON)

moongrails: grails + ajax: autocomplete

moongrails: grails + ajax: autocomplete
Having an autocomplete feature on a textfield is a good way of improving user experience. As the user types a string, the textfield tries to anticipate what the user is typing and offers possible matches. Clicking on a match results in autopopulation of the textfield thereby saving time for the user.

In this post I describe a way of implementing this feature using grails and scriptaculous. To help explain the method, I will develop a simple application where we have a form containing a text field for countries of the world. As a user begins to enter the name of the country, the textfield presents a list of possible matches. Finding the country he wants, the user clicks on the entry and the textfield is immediately populated with the selection [see picture below].

Spring into Mobile Application Development | SpringSource Team Blog

Spring into Mobile Application Development | SpringSource Team Blog
At SpringOne2gx we announced exciting new initiatives in the areas of social media and mobile application development. A few weeks ago, Craig Walls released Spring Social. Today, Roy Clarkson released Spring Mobile and Spring Android. In this post, I'd like to highlight these projects and share how Spring aims to simplify mobile application development.

Wednesday, July 13, 2011

Binding jQuery UI Datepicker to Grails Domain

Binding jQuery UI Datepicker to Grails Domain
In this post I am going to show you how you can write a custom tag to use the JQuery UI datepicker instead of the tag provided by Grails out of the box.

InfoQ: Securing a Grails Application with Acegi Security

InfoQ: Securing a Grails Application with Acegi Security
This article discusses the integration of the grails-acegi plugin with a sample Grails application. As part of this integration, there are three major components which will be used – Groovy, Grails and Acegi Security.

Rich Internet Applications with Grails, Part 1: Build a Web application using Grails and Flex

Rich Internet Applications with Grails, Part 1: Build a Web application using Grails and Flex
Rich Internet Applications (RIAs) promise the dynamism and functionality of desktop applications through the browser. One of the key characteristics is moving your presentation layer to the client and backing it with a robust RESTful service layer on the server. This idea is being popularized with buzzwords like SOUI (Service Oriented User Interface) and SOFEA (Service Oriented Front End Architecture). In this article, the first of a two-part series, you will see how simple it is to create a Web service back end using Groovy's Grails Web application framework, and you will hook it up to an RIA developed with Adobe's Flex framework.

JavaScript: The World's Most Misunderstood Programming Language

JavaScript: The World's Most Misunderstood Programming Language

JavaScript, aka Mocha, aka LiveScript, aka JScript, aka ECMAScript, is one of the world's most popular programming languages. Virtually every personal computer in the world has at least one JavaScript interpreter installed on it and in active use. JavaScript's popularity is due entirely to its role as the scripting language of the WWW.

Despite its popularity, few know that JavaScript is a very nice dynamic object-oriented general-purpose programming language. How can this be a secret? Why is this language so misunderstood?

Tuesday, July 12, 2011

Grails and BluePrintCSS | Tomás Lin’s Programming Brain Dump

Grails and BluePrintCSS | Tomás Lin’s Programming Brain Dump
In this post, I try out the BluePrint CSS framework and try to see its advantages for making skinning a Grails based project faster and easier.
We recently launched a project which heavily used Ajax and Grails. One of the biggest challenges we saw in this project was the lack of standards when it came to skinning the site via CSS. I was surprised at the amount of hack-and-slash coding that I saw from people who did CSS for a living.

Introduction to Grails Development

Introduction to Grails Development
Following the Ruby on Rails (RoR) wave, most software developers have considered, if not tried out, either ROR or some other framework that promises to deliver ROR features. The Grails framework also rode the Rails wave to popularity but is now shaping into a powerful framework in its own right. Grails uses the Groovy
programming language; Groovy syntax is similar to Java’s, but it also adopts some concepts from other languages. Like Java, Groovy generates bytecodes and runs on the Java platform, so it has the power of Java but also adds a few niceties and simplifications.

In this article you will get an introduction to developing Grails applications using Oracle JDeveloper as your IDE. You will also get an overview of Groovy concepts as you go about developing your Grails application.

Students : Game AI vs Traditional AI « #AltDevBlogADay

Students : Game AI vs Traditional AI « #AltDevBlogADay
Lisa Brown’s recent article “Students, Version Control!” got me thinking about what I’d really like to pass on to students. The result is this – a summary of the distinction between what I’ve called “Traditional AI”, that you probably learn about on a typical degree course in Computer Science, and “Game AI” which you maybe won’t.

Learn REST: A Tutorial

Learn REST: A Tutorial

REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a stateless, client-server, cacheable communications protocol -- and in virtually all cases, the HTTP protocol is used.

REST is an architecture style for designing networked applications. The idea is that, rather than using complex mechanisms such as CORBA, RPC or SOAP to connect between machines, simple HTTP is used to make calls between machines.

Why every programmer should learn Python or Ruby | ReliScore.com

Why every programmer should learn Python or Ruby | ReliScore.com
If you are a student, you probably know C, C++ and Java. A few know VB, or C# / .NET. At some point you’ve probably built some web pages, so you know HTML, CSS and maybe JavaScript. By and large, it is difficult to find students who have any exposure to languages beyond this. And this is a shame because there are a number of programming languages out there which will make you a better programmer. In this article, we give some reasons why you must learn Python or Ruby.

Many-to-many relationship mapping with GORM/Grails

Many-to-many relationship mapping with GORM/Grails

GORM (Grails’s abstraction of Hibernate) lets you define a many-to-many relationship like this:

class User {
String name
static hasMany = [groups: Group]
}

class Group {
String name
static hasMany = [members : User]
static belongsTo = User
}

This relationship can be accessed through some helpful dynamic methods that Grails provides:

new User(name: "foo").addToGroups(name: "bar").save()
// creates a new user AND group, saves both of them
// and the relationship

def user = new User(name: "foo").save()
new Group(name: "bar").save().addToMembers(user)
// as above, but addToMembers will not cascade the relationship
// to the user

Grails many-to-many & Join table « karanar

Grails many-to-many & Join table « karanar
What I enjoy with frameworks like Grails or Rails is that they are taking care of all the object relational mapping for me. So, I can really concentrate on the domain object model and the framework will care about the underlying work. Fortunately, when needed, I can still “talk” to the database directly. Also, with the scaffolding I can quickly get a feeling for the application and see if the domain model makes any sense.

Selenium 2.0: Out Now! « Official Selenium Blog

Selenium 2.0: Out Now! « Official Selenium Blog

We are very, very pleased to announce the release of Selenium 2.0. If you’ve been waiting for a stable release since 1.0.3, now’s the chance to update. And if you do, what will you find?

For users of Selenium 1, this is a drop-in replacement. You’ll find support for modern browsers such as Firefox 5 and IE 9, as well as a wealth of bug fixes and stability improvements. That’s one reason to update, but what other reasons are there?

The big feature of this release — and the reason for the new version number — are the new WebDriver APIs for Python, Ruby, Java and C#. These have been in development for over four years, and are already widely used, trusted and depended on. The WebDriver APIs have been written by developers familiar with each language, so they feel like they belong there. We’re very proud of them, and hope you enjoy using them.

"I'm a technical lead on the Google+ team. Ask me anything."

"I'm a technical lead on the Google+ team. Ask me anything."
I helped design and build a lot of the circles model and sharing UI for Google+. I was recruited to Google to work on "getting social right" in early 2010. Prior to that, I was CTO of Plaxo, and also its first employee (since March 2002). I've also spent many years working on open standards for the social web (OpenID, OAuth, Portable Contacts, WebFinger, etc.) Since I work for a big/public company (albeit a pretty cool one), I can't provide specific stats, dates for future features, or details of confidential code/algorithms. But I will do my best to be "refreshingly frank" about everything else. :)

Sunday, July 10, 2011

Running and Debugging Grails Integration Tests In Eclipse | Object Partners Inc

Running and Debugging Grails Integration Tests In Eclipse | Object Partners Inc
This is a follow on to Eclipse Setup for Grails 1.1 Development.
Although not ideal Eclipse integration, by setting up a Run Configuration for your Grails project in Eclipse, you will be able to run and debug Grails integration JUnit tests within Eclipse.

Saturday, July 9, 2011

Tools Journal - Top 15 Kanban Tools In An Agile World

Tools Journal - Top 15 Kanban Tools In An Agile World

Kanban, also spelled kamban and literally meaning "signboard" or "billboard", is a concept related to lean and just-in-time (JIT) production. According to Taiichi Ohno, the man credited with developing Just-in-time, kanban is one means through which JIT is achieved. Kanban is not an inventory control system. Rather, it is a scheduling system that tells you what to produce, when to produce it, and how much to produce.

In our continuous effort to bring you the most powerful software tools built for all the requirements of global IT Community across various categories we have been listing the best tools in each of the categories across software development life cycle. In this article lets have a look at over 10 of the best "Kanban" tools available in the market. Obviously i may have missed one or two and would appreciate if you could leave your comments with regards to any missed tools or ones listed below.

The new user story backlog is a map

The new user story backlog is a map
Why the flat user story backlog doesn’t work, and how to build a better backlog that will help you more effectively explain your system, prioritize, and plan your releases.

Kanban, Flow and Cadence | AvailAgility

Kanban, Flow and Cadence | AvailAgility
There has been some noticeable increase in interest in Kanban recently, with a number of people asking for more basic info, and more people writing new blogs and articles. This is my attempt to describe in more detail my take on it all, which I refer to as Kanban, Flow and Cadence.

Grails - Quick Start - Bootstrap

Grails - Quick Start
Wouldn't it be great if every time you started the server you saw a list of books already displayed in the scaffolded pages? This is easy to achieve by creating the underlying Book instances in the Grails BootStrap class, which you can find in grails-app/conf/BootStrap.groovy

Friday, July 8, 2011

A Beginner’s Guide To JQuery – Part 1

A Beginner’s Guide To JQuery – Part 1
I don’t know about you, but the real reason I personally got into Javascript was that I wanted to do animations. Animations are cool. Everyone wants to add flashy effects with the least amount of effort and with JQuery (and a number of other Javascript frameworks), it is indeed possible. However, I thought that I wouldn’t be able to learn how to implement animations until a good while later as I assumed that animating DOM elements would require a strong foundation of knowledge on the framework. Well, that wasn’t the case. If you have any experience with programming, be it PHP, C#, Java or any other language, picking up Javascript, and thereafter, JQuery, will not take long at all.

Are You Too Good For Code Reviews? - Slashdot

Are You Too Good For Code Reviews? - Slashdot
theodp writes "Why do some programmers,' asks Chris Hemedinger, 'place little value on code reviews?' This apparently includes even Programming Greats like Ken 'C' Thompson, who quipped, 'we were all pretty good coders' when asked about the importance of code reviews in his work. Hemedinger, on the other hand, subscribes to the school of thought that peer code reviews are Things Everyone Should Do. Not only do reviews keep you on your toes, Hemedinger says, they also 'improve quality, ensure continuity, and keep it fresh. Who can argue against that?'"

Grails - user - checkboxes and many-to-many

Grails - user - checkboxes and many-to-many
here's some snippets and comments below of some stuff I did with checkboxes for managing Roles for a User.
User and Role would be many-many except I am using a UserRole join class, with a method so I can get user.roles directly. So it's may not be exactly what you are looking for, but I hope it helps.

Thursday, July 7, 2011

java - grails one-to-many relationship - Stack Overflow

java - grails one-to-many relationship - Stack Overflow

For testing purpose you can load some data into the bootstrap:

class BootStrap {
def init
= { servletContext ->
def writer
= new Author(name:"Jane")
writer
.save()
if(writer.hasErrors()){
println writer
.errors
}
def comic
= new Book(name: "superman", Author: writer)
comic
.save()
if(comic.hasErrors()){
println comic
.errors
}
}
def destroy
= {}
}

This way your app will have an Author and a Book in it.

Also this tutorial helped me very much.

2Paths » Blog Archive » one-to-many relationships in Grails forms

2Paths » Blog Archive » one-to-many relationships in Grails forms

Here’s a scenario we see fairly often in our Grails applications.

  • Parent object has a collection of Child objects
  • We want the Parent’s create and edit GSPs to allow us to add/remove/update associated Child objects
  • The controller should correctly persist changes to the collection of Child objects, including maintaining Child object ids so any other objects referencing them don’t get screwed up

Grails one-to-many dynamic forms – train of thought

Grails one-to-many dynamic forms – train of thought

After searching around trying to find a good way to implement one-to-many dynamic forms in Grails, I have finally come across this post which does a very good job at explaining the details.

What I was basically looking for is a clean way to implement saving my domain objects in the backend, rather than the hacked way I did by hand picking request parameters and manually setting up my domain objects (I’m still fairly new to Grails), and the official docs fail to shed the light on the subtle details I found in this post, which is why I decided to post my own version of the one-to-many dynamic forms but with a little bit more complex domain objects to illustrate the use of enums which also I found is a bit of a gray area in the docs (or at least maybe for me).

BPM Grails Mashup: Input for One-to-Many Relationships

BPM Grails Mashup: Input for One-to-Many Relationships
One of the requirements we have on this project is to have a dynamic list of values that another domain object has a relationship with - the parent domain object would have a list of selected child values. While this could be accomplished relatively easily using multiple select boxes, things get a little more complicated when each selected value has a separate field associated with it.

Grails: A Quick-Start Guide: Ajax-Enabled Checkboxes in Grails

Grails: A Quick-Start Guide: Ajax-Enabled Checkboxes in Grails
In Grails: A Quick-Start Guide, we have a task list to help TekEvent organizers and volunteers keep track of what's left to be done for their event. It's pretty handy, but it could be a bit easier to use.

Specifically, it would be great if we didn't have to click on a task to open the show view and then click again to edit it, just to mark a task as completed. What would be really nifty is if we could mark a task as completed by clicking on a simple checkbox. And it turns out that Grails provides an Ajax tag - - that's just what we need.

Is Good Code Impossible? | Rapture In Venice

Is Good Code Impossible? | Rapture In Venice

When you hit your teenage years you decide you want to be a software developer. During your high school years, you learn how to write software using object-oriented principles. When you graduate to college, you apply all the principles you’ve learned to areas such as Artificial Intelligence or 3D graphics.

And when you hit the professional circuit, you begin your never-ending quest to write commercial-quality, maintainable, and “perfect” code that will stand the test of time.

Commercial-quality. Huh. That’s pretty funny.

InfoQ: Solution Wide Dependency Management for .NET

InfoQ: Solution Wide Dependency Management for .NET

NuGet will now be available in version 1.4 which improves over version 1.3 with features such as ability to manage packages at the solution level, improvement in Update–Package command, support in constraining the range of versions while updating packages and more. Along with the new features there are total of 88 work item fixes, 71 out of those being bug fixes.

The key feature in the latest release is NuGet’s ability to manage packages at the solution level. In the prior versions users had to go through a cumbersome process of opening a dialog each time to install a package into multiple projects. With this new feature, the user can just open one dialog which will allow installing/uninstalling/updating a package in multiple projects.

InfoQ: Getting Started with Grails, Second Edition

InfoQ: Getting Started with Grails, Second Edition

Grails is a Java- and Groovy-based web framework that is built for speed. First-time developers are amazed at how quickly you can get a page-centric MVC web site up and running thanks to the scaffolding and convention over configuration that Grails provides. Advanced web developers are often pleasantly surprised at how easy it is to leverage their existing Spring and Hibernate experience.

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, Tropicana, and Taco Bell are all using Grails. Are you ready to get started as well?

InfoQ: Domain Driven Design Quickly

InfoQ: Domain Driven Design Quickly
The most complicated aspect of large software projects is not the implementation, it is the real world domain that the software serves. Domain Driven Design is a vision and approach for dealing with highly complex domains that is based on making the domain itself the main focus of the project, and maintaining a software model that reflects a deep understanding of the domain. The vision was brought to the world by Eric Evans in his book "Domain Driven Design". Eric's work was based on 20 years of widely accepted best practices in the object community, as well as Eric's own insights. Domain Driven Design Quickly is a short, quick-readable summary and introduction to the fundamentals of DDD. A special interview with Eric Evans on the state of Domain Driven Design is also included.