Archive for June, 2011

By Mike Hubbartt, © Copyright 2011, All Rights Reserved.

Last week several of my iPod touch apps were updated, including SkySafari Pro and SkySafari – both were version 3.0.1. I contacted Southern Stars and they sent me a list of fixes/enhancements that are current for the 3.x release – click here to see them. I installed the updates and had no problems or glitches.

I’m a member of the Starry Night Yahoo group and have seen several posts that some are confused about the name of the vendor that produces SkySafari. There is a page on their site that explains why the company – click here to read the post.

We are working on some reviews of Southern Stars products, so stay tuned.

Mike

By Mike Hubbartt, © Copyright 2011, All Rights Reserved.

Code repositories are server-based applications to store common code. Our post Configure Mac IDEs to Access a Remote Subversion Repository (June 15, 2011) provides instructions on connecting an IDE to a remote SVN repository (Centralized Version Control System), while our post Configure Mac IDEs to Access a Remote Git Repository (June 24, 2011) provides instructions on connecting an IDE to a remote Git repository (Distributed Version Control System). This procedure covers configuring IDEs for remote repositories once they are setup or they are made available to you.

Configuring Git for Eclipse Galileo

  1. Launch Eclipse.
  2. Select ‘Help/Install New Software’ from the IDE menu.
  3. You are at the Install Screen. Enter (without the surrounding quotes) ‘EGit – http://download.eclipse.org/egit/updates-1.0’ in the field beside ‘Work With:’, then press the ‘Add Site’ button.
  4. Expand the top section (Eclipse Git Team Provider) and select ‘Eclipse EGit’. Press the ‘Next’ button.
  5. Review the items to be installed and then press the ‘Next’ button.
  6. Select ‘I accept the terms of the license agreements’ (if you want to), then press the ‘Finish’ button to install the plug-in.
  7. After the plug-in is installed, restart Eclipse. At the top of the workbench, select the ‘Open Perspective’ button, then select ‘Git Repository Exploring’.
  8. This is the Eclipse Git perspective.

Configuring Git for Xcode 4

Configuring Git for Xcode is a bit more involved than it was to configure this IDE for Subversion. There are two extra processes involved: downloading and installing Git, and creating a symlink to the Git command line tool.

IMPORTANT NOTE. I heard that Git might already be installed as a part of Mac OSX but did not find it on my copy of OSX 10.6.7 (Snow Leopard). If anyone knows that it is pre-installed, please drop me a line to the directory location and I will update this procedure.

Lets get started, assuming we need to download and install Git.

  1. If Git is already installed, skip to step 6, otherwise proceed to step 2.
  2. Download Git. I went to this site and downloaded git-1.7.5.4-i386-leopard.dmg.
  3. Double click on the dmg file to install Git. My copy installed in /usr/local/git/bin.
  4. Open a Terminal, then enter cd .. two times to move to the root (/) directory, then enter cd /usr.
  5. Create the symlink to the Git command line tool: Enter the following command (assuming your copy of Git installs in the same directory as mine – see step 2 of this procedure):
     sudo ln -s /usr/local/git/bin/git /usr/bin/git
  6. Launch Xcode.
  7. Select ‘Window/Organizer’ to bring the Organizer to the screen, then select the Repositories section at the top of this screen.
  8. Select the ‘+’ at the bottom left of the Organizer screen, then select ‘Add New Repository’. At this point, select ‘Type’ and Git is now included in the list (along with Subversion) of supported repositories.  Enter a relevant name and the URL to the hosting site (ProjectLocker in this case, but others can be added for work and school sites as needed).

By Mike Hubbartt, © Copyright 2011, All Rights Reserved.

There are commercial repositories and open source repositories. The commercial repositories charge, usually based on the number of people accessing the repository. Open source repositories can be installed on internal company servers or there are companies that host open source repositories for no or little cost (also typically rated by the number of repository users). I’ve used Subversion (SVN), a centralized version control system, for company and class projects, so this article covers the the hosted version of SVN on Freepository with the Eclipse, Xcode 4, and Intellij IDEA 10 CE IDEs.

Freepository

Freepository has one free plan, where individuals can have a SVN repository for personal use at no cost. They also offer two commercial plans where groups can have SVN or Git repositories. I have found other sites that have good repositories with the same type of arrangements (free and billable setups), but I like how easy it is to setup and use SVN at Freepository and would encourage students that want to learn about code repositories to check them out.

To get setup with Freepository, go to their website (https://freepository.com/index.php), register, and you are ready to configure your IDE so it can access your repository. Its pretty simple and straight-forward, so I won’t go into the setup at this time. There are a lot of IDEs, so I’m focusing on Eclipse and Xcode for this article.

Configure Eclipse Galileo for SVN

These are the steps to configure Eclipse to use Freepository (or any other SVN repository):

  1. Launch Eclipse, then select ‘Check for Updates’. Some may be available since the last time your copy of the software was built, so get the updates before installing add-ons. Restart Eclipse if any updates were done.
  2. Select ‘Help/Install New Software’ from the Eclipse menu.
  3. At the Install screen, beside ‘Work With’, select ‘Galileo – http://download.eclipse.org/releases/galileo’.
  4. Scroll down to ‘Collaboration’ and expand that section.
  5. Select ‘Subversion SVN Team Provider (Incubation)’, then press the ‘Next’ button at the bottom of the Install screen.
  6. Verify this is the correct file and press the ‘Finish’ button at the bottom of the screen.
  7. After the add-in is installed, restart Eclipse.
  8. Now it is time to install the Subversion Connector. Select ‘SVNKit 1.3.0 Implementation (Optional), and restart Eclipse after the connector is installed.
  9. Now switch to the Eclipse ‘SVN Repository Exploring’ perspective.
  10. Select ‘New repository location’ at the top/left area of Eclipse.
  11. Enter the repository information (your company’s own or the one from the Freepository in the previous section of this document) in the field beside URL in ‘New Repository Location’ popup. You also need to enter your user name and password at this time to avoid being asked for it whenever you try to access Freepository. I also prefer to select ‘Save Password’ so it is not necessary to re-enter it each time I access the repository.
  12. Now select the ‘Finish’ button. After the repository is added, you can select it in the ‘SVN Repositories’ window (typically at the far left side of the Eclipse ‘SVN Repository Exploring perspective). Please note Eclipse supports multiple SVN repositories, and it is common to have multiple SVN sites for personal, work, and school projects.
  13. All in all SVN works well with Eclipse.

Configure Xcode 4 for SVN

Xcode 3 is shipped with most Macs and is available free to developers that join the Mac/iOS Developer Program, or for $4.99 from the Apple App store. Compared to Eclipse, Xcode 4 is very easy to setup for SVN.

  1. Launch Xcode 4.
  2. Select ‘Repositories’ at the top of the Xcode Organizer.
  3. Select the ‘+’ sign at the bottom left of the Xcode Organizer, then select ‘Add Repository’.
  4. Enter the name and location, then press the ‘Next’ button to finish setting up the repository.
  5. You can leave the Trunk, Branches, and Tags as is for Freepository, then press the ‘Add’ button to complete setup. Select ‘Repositories; at the top of the Xcode Organizer screen to see the new repository.

Not a lot to do to get yourself setup for using a code repository, which is something most new developers learn when starting their first job as a programmer.

Configure IntelliJ IDEA 10.5 CE for SVN

Probably the easiest of these three IDEs to configure to access a remote SVN repository. All you need to do is connect to the repository.

  1. Launch IDEA.
  2. Select ‘Version Control/Browse VCS Repository/Browse Subversion Repository’ from the IDE menu.
  3. To add a new SVN repository, select the ‘+’ beside ‘Repositories:’ at the top of this popup screen, or select the repository from the list in the popup to access an existing repository. To see the projects in each repository, expand the appropriate repository folder.

By Mike Hubbartt, © Copyright 2011, All Rights Reserved.

I graduated with an undergrad degree in Computer Science in the Spring of 2010, and I enjoyed it so much I decided to go on to graduate school and ended up enrolling at the University of St. Thomas (UST) in St. Paul, MN, and started on a MS in Software Engineering degree in the Fall of 2010.

When I enrolled at UST, I used my experience in under grad courses to determine who many classes to take each semester. Half time in grad school is 1 class, and a full time load is 2 classes, so I decided to take 2 classes per semester. That was a mistake, because graduate school classes take so much more time and effort than undergrad classes.

After taking 4 classes this past school year, I found we read and absorbed an average of 3 books per class, had at least 1 project per class, had 3 – 10 homework assignments per class, and had 2 exams (mid term and final) per class. The part that was most difficult was the classes require the students to learn a variety of tools to use during the course, and these tools are not simple and each one takes time to learn, which takes away time from the assignment needing that tool.

I’m not complaining. I probably learned more over the past year than any 5 year period working in the software industry. I’ll go into each of the classes so I can give the highlights from each course.

Software Engineering is one of the first required classes and our professor was very knowledgeable and did not hold back. When he assigned our team projects, he specified that we use repositories and Twitter to document what we did during the course of the project. I have used repositories, but had little experience with Twitter. I discovered how much Twitter can help quickly communicate short topics and so it has become part of my technical tool belt. I have an account and post from time to time. The textbook was absolutely worth keeping and it is now part of my library.

There are two web design/development classes at UST. The first is web design, which is focused on front end development. I really enjoyed the class because I’ve worked with the web since the mid 1990s and was comfortable working with it. I thought I might not learn a lot but that was not the case. The professor had current technology information and covered a ton of things I was unfamiliar with. We learned about commercial and open source web design applications, but did not have a textbook for the course so I kept the PPT slides for future reference.

Our database class required that we use PowerDesigner, which was my first exposure to that application. I count myself fortunate to have taken 2 database classes as an under grad student, and the professor (Shana) was excellent. The professor that taught our grad course taught more than theory – he taught the material in a way to clarify some concepts overlooked or skipped in under grad database classes. The textbook was one I’d used in the first under grad database course I took, but it was not as useful as the lectures. I would love to see that professor write his own textbook, because his lectures were great and the textbook just wasn’t as useful as the information we received in the classroom.

The second UST web course is web development, and to say it was challenging is a major understatement. This class is focused on server-side web development, and it is assumed you took and knew everything in the first class. Our first homework assignment was to use Python to write a web server, then create a web site that passes images and html content. Whoa! I used my Macbook, which already had Python installed, so I enjoyed the assignment. Apparently I was the only one in class that was not unhappy with the assignment. The homework only got more complicated, and we learned and used PHP, AJAX, MVC, Ruby on Rails (or ASP.NET), and MySQL to develop back end sites. I particularly enjoyed the homework assignment where we had to create a mashup, which was fun and my first exposure to them. I also enjoyed the assignment where we needed to create web content that was viewable via mobile devices, and found it so interesting that I am spending part of this summer trying to learn more about this. Mobile apps rock. We had a team project and the team I was on did an e-commerce application that we hosted on a Amazon EC2 Windows 2008 server instance with the Zend framework installed. Fun. Tough, but fun. We had 1 required book, which was good because it made many references to web content which had current information on the technologies covered in the book. We had a optional book on Ruby on Rails that I also purchased and found it good enough to keep to learn more about this language.

I had intended to go for a second under grad degree in English after completing my Computer Science degree, but now I am so glad I went on for a Masters Degree. The topics are deep, the professors expect a lot but they will go out of their way to help you if you ask for assistance. I won’t have any of the same professors this Fall, but wouldn’t hesitate to take another class with any of them.

I’m reading ahead this summer, but also am taking the experience from the first year and am digging into the tools needed for the topics covered in my fall classes. Yes, I’ve enrolled in 2 classes this Fall and expect I’ll take 2 in the Spring, which is a hard load but it lets me complete the program in 3 – 3.5 years, which is one of my goals. If it takes longer to complete the degree I won’t complain. It took me 3 years to complete my under grad degree and I can handle another 3 – 4 years for a Masters Degree. I’ve spent my career in development and know I will be far better at my job when I complete this program, and would encourage others that consider it to look into it. If it makes you better at your job and the cost and time are reasonable, it is worth the effort.

By Mike Hubbartt, © Copyright 2011, All Rights Reserved.

Image courtesy of NASA

This morning NASA used a Delta II rocket to successfully launch the Aquarius/SAC-D mission from Vandenberg Air Force Base in California. This new satellite will help scientists measure the amount of Sea Surface Salinity, which is important for global climate studies. The mission was accomplished with cooperation between NASA and Argentina’s CONAE Space Agency.

What impressed me this morning was the method I used to follow the launch: watching streaming video on my iPod touch. When the first space missions were launched, people saw the poor quality video on black and white televisions, many with tiny (compared to those available today) screens. This morning the video of the launch on my Touch was in color and in very good detail. I watched the final 15 minute countdown (which took longer than 15 minutes due to a built0in pause to make important system checks prior to launch), and it was great.

To read more about this launch, check out NASA’s website.

Two must-have iPhone apps are the NASA app and the NASA TV app. Being able to look up mission information or watch missions on NASA TV is fantastic for space enthusiasts (count me as part of that group). While I don’t have an iPad, I will add both of NASA’s apps when I do purchase one in the future. I imagine the materials will be better when viewed on larger screens. Anyone with an iPad that wants to share their experience with these apps is most welcome to post a comment.