Wednesday, April 8, 2009

Startup Weekend Columbus 2 (SWCII) Experience

I can’t believe it is the Wednesday night after SWCII already. I am still riding on the high of the weekend. Not only did I get to start a new company this and meet some new friends I also got to geek out too by writing an iPhone application.

Ok, let me start back at the beginning. Friday, April 3, 2009 about 130-140 people meet at TechColumbus to pitch ideas for companies and products. There were 73 or so pitches. They ranged from the absurd to the brilliant. Then we voted on which ideas we liked the most. After the cream of ideas rose to the top we formed groups around our favorite ideas.

I feel blessed that at the end of the evening I had a great team of six very talented developers and business men excited about implementing one of my two pitches. I have been thinking about this idea for over two years and this weekend gave me the kick in the pants and the team I need to make it real.

The team itself is very tech heavy and age light. The three senior members of the team were:

Dave Lucas - President/Consultant at Lucas Software Engineering
Josh Brown - Senior Consultant at Sogeti
Harish Raju - Software Development Manager at HP

The team also included three very multi talented and tireless college students that provided major contributions. All three of them would make great interns or employees so if you are looking for some check them out. I want to see this type of talent stay in the Central Ohio market.

Ben Gilbert - Computer Science and Engineering/Entrepreneurship student at OSU
Andrew Kane - Computer Science and Engineering Student at OSU
Matt Hill - Economics at OSU

I did not get any sleep on Friday night because I had so many ideas racing through my mind and I was so excited to get started.

Saturday and half of Sunday, we spent building a functional prototype which included an iPhone application and website. We also spent time putting together a business plan and presentation for the final program. During our software and business development efforts we used an agile process called Scrum. We conducted 2 hour iterations and performed a stand up (meeting where you literally stand up to encourage a short meeting in which you answer the three questions of what have you done since the last meeting, what do you plan to accomplish before the next meeting and do you have any road blocks) after each one. We all felt this made us feel extremely productive and increase our communications. It also encouraged accountability and helped us to tack concerns very early before they become problems. We also found Google docs and Google Groups very helpful. With such short timelines, Google docs gave a way of sharing and even simultaneously make changes to spreadsheet, word processing and presentation documents. Google Groups enabled to send communications out to the whole group at one time making sharing information quick and easy.

We were also glad we set up subversion repository before we started doing any development. This gave us a convenient way of sharing code and managing the rapid development.

I also got to evangelize and make some converts to some of my favorite technologies, Groovy and Grails. While most of the team had not had the opportunity to work with these technologies before, they picked it up extremely quickly which was great since I was pretty much heads down in iPhone development. I think that is a huge testament to Groovy and Grails. I really don’t think we could have put something together in a weekend using standard Java technologies since just downloading all the projects and getting them configured would have taken an immense amount of the valuable time we had.

Finally, we found the book Presentationzen Book an invaluable tool for putting together a compelling presentation.

The whole weekend TechColumbus and the sponsors provided a great facility and kept us well fed (when we actually tore ourselves a way from our work to eat) and caffeined which helped provide the perfect condition for productivity.

You maybe wondering by now what our company is. Well, I am going to keep you in suspense a little longer. We are hoping to have a beta start within two months. I will post more when that happens.

Thursday, March 19, 2009

3D Modeling Class

I love learning new things and 3D animations. So, I combined these passions this winter by taking a 3D modeling class at Columbus State. It was very different than what I do on a daily bases with computers and quite a challenge. I had tried learning 3D modeling on my own with the open source Blender tool but never got the hang of it. So I thought I would see if a structured class would provide be a better learning environment for me and I think it did. I have come a long way in a short period of time. I think I understand the concepts and terms now and I can create a pretty convincing model. However, there is still much more to learn. I hope to continue 3D modeling as a hobby and I hope I have time to take the advanced modeling and the animation classes next winter.

Our project was to model, texture and light a room and render 4 still images of it, 2 up close and 2 from a distance. I chose my son's room so I could make 3D toys. I also add a little bit of a Star Wars theme which he loved. Below is my final project.

Tuesday, March 10, 2009

Groovy and Grails Overview Slides updated

Over the past year, I have been presenting a free 1 1/2 hour Groovy and Grails Overviews to any group or company who will listen. Each presentation includes a copy of my book Beginning Groovy and Grails for the organizer. This presentation has been so popular, I have forgotten how many times I have presented it.

In preparation for presenting it two more times this week, I updated my slides to reflect the new releases of Groovy 1.6 and Grails 1.1. I also had to update the resources since so many great new books are also available. You can find copies of the slides here.

Groovy and Grails at Cleveland User Group

I will be speaking about Groovy and Grails at tomorrow night's Cleveland Ohio Java Users Group. If you are in the area please come on out.

Thursday, February 26, 2009

Chmod iPhone Application

I am excited to announce my first iPhone app is now available in the Apple App Store. The apps name is Chmod and it can be used to help determine the appropriate Mac OS X, Linux and Unix file and directory permissions. Check it out, it's free.

Wednesday, February 25, 2009

First CIDUG (Columbus iPhone Developer User Group) Meeting

The first CIDUG (Columbus iPhone Developer User Group) meeting was a huge success. We had 50 people in attendance. In addition to a presentation on how to get started in iPhone development we also talked about the future of the group and what we want to do from a meeting and website perspective. There is a strong desire to meet frequently even monthly and some of those meetings to just be coding events where we can help each other.

Most importantly, we officially desided CIDUG is pronounced sigh-dug.

Monday, February 2, 2009

Creating a simple iPhone checkbox

I was disappointed to discover the iPhone SDK did not include a Checkbox component. Yes, I know there is the UISwitch component. But sometimes that is just to big and does not look right for your design.

After googling, I could not find a checkbox component that somebody else had made or a good tutorial. So below are the steps I did to create a simple checkbox.

I began by adding a UIButton to my view and setting its Type to custom and its background to my unchecked png image with transparent background. Then I implemented the auto generated viewDidLoad method to set my background image if the button state was selected to the checked png image.

- (void)viewDidLoad {
[super viewDidLoad];
[checkButton setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
}

Finally, I attached a changeSeletected method to the button's Touch Up Inside event that changed the selected state of my button.

- (IBAction) changeSelected: (id) sender {
UIButton *button = (UIButton *) sender;
button.selected = !button.selected;
}

I think the final outcome turned out pretty nice.

AWS EC2 Hibernate Java SDK v2 Example

I recently wanted to automate the creation of developer VMs in AWS using EC2 instances. To improve the developer experience (DX), I didn...