Showing posts with label Open Source. Show all posts
Showing posts with label Open Source. Show all posts

Friday, October 18, 2013

GNotiPy Part II

Before I pick up where I left off last time, I wanted to make note of the screen capture software that I have been using for these posts. I have been using this free and open source screen capture software called Greenshot. It is terrific and I wanted to take the time to give them some credit.

If you haven't seen part one of this series, please read this first.In this post I will discuss how to set up Git and Github in Eclipse so that you can use it for your code. I will also go over setting up a repository in Github . Finally we will go over impoprting your repo into Eclipse and performing your first commit from Eclipse.
In the 3rd part I will go over the actual code and how to use the Google Calander API.

Setting up GIT and GitHub in Eclipse:
You will need to install EGit in Eclipse in the same way that you installed PyDev in the previous post. This time you will use the below address for the update:
http://download.eclipse.org/egit/updates
You should see something similar to this:
After following these installation instructions, you should have Egit installed and be ready to go with Git. There are plenty of other options that you can set up and I suggest you go here for a great tutorial for setting up the other Git options in Eclipse.

Creating a Repository in GitHub:
I am not going to go into too much detail here. If you are using windows (as I am currently for work purposes), you can download GitHub for Winows and check out the FAQ. If you choose not to go this route, then you should follow these instructions for installing GIT on your machine. After signing up for an account (if you don't already have one) at GitHub, you can click on the Create New Repository button on the home page:
To get a copy of the repository on your local machine in order to work with it in Eclipse, follow these instructions.

Import Repository into Eclipse:
In Eclipse, click on File -> Import, then in the pop-up box choose Git -> projects from Git and click Next:
Then select Local and Hit Next:

In the next window select Add and then browse to the directory where you cloned your repository and you should see something similar to the screenshot below (note that I did not have the forethought to take a screen shot when I first imported the project so you see I made a copy and called it _bad):

Click Finish and then finish again and you will be brought to the new project wizard:


I created a PyDev Google App Engine Project because this is going to run in AppEngine (which is nice because it sets up a whole bunch of stuff for you making it easier to create AppEngine applications). Click on Next and then give your project a name:

Click on Next again. You must now select your AppEngine directory (usually C:\Program Files\Google\google_appengine). You will be asked which libraries to include (for now just include all and hit next). Then you will need to add your app id (you should already have one registered if you do not go read the tutorial here) and template (choose Empty Project):
Click on Finish and your project should be created:



Your 1st Commit: 
Now in your SRC folder within the project in Eclipse you are going to create an App.yaml file for the configuration of your App Engine project (you will of course need to change your application name to match):


After you have saved the file, right click the project and click on team -> Commit:

Add a commit message and select commit and push:
Go to GitHub and look at your Repo and see if your change is there:

Congratulations...You have just made your first commit to Github from Eclipse. Stay tuned for the final installment where we discuss the code to make it all happen and push it to AppEngine to deploy it.

Thursday, May 5, 2011

Social Coding?


When I first started writing code the general stereotype of a coder was that of a loner geek sitting in front of a computer in his mom's basement. This stereotype has gone on to cause a decline in the number of Computer Science students that this country produces every year.

We may have rightfully earned this reputation (I have at times called myself an indoor enthusiast). There are, of course, still plenty of message boards filled with smug coders who think that they are above helping a "n00b" or who are tired of students looking for homework help. These people were, until recently, the vocal minority. They were the ones screaming the loudest and that was all anyone heard.

Recently, this stereotype has changed. Now people are seeing developers as cool, sheik (thanks for pointing out my error Ellie) chic, and interesting people who have a wide variety of interests and who have social lives. This is evidenced by the influence and reach of programmers through Twitter and by a  number of code hosting/social networking sites that have recently started cropping up. There a plenty of places now for Coders to go and find other people who are interested in the same projects and languages. There are sites for finding open source projects like Ohloh, Project Kenai, Launchpad.Net, Git Hub, Source Forge, and Google Code (I'm sure there's even more than that).

There are sites like DZone and Stack Overflow that help bring the community together and solve problems. These communities help programmers from all over the world share ideas, knowledge, and allow for easier collaboration.

The Social Web has been able to bring together like minded people from all over the world and has helped to make computing better for everyone.It has also, hopefully, put to rest many of the bad stereotypes about computer programmers. This should also help to increase the number of students who choose Computer Science as their major and increase awareness of the need to begin teaching computer science in primary school. If you are a programmer (or a parent) find out why schools should teach computer science and the facts about CS education.


Tuesday, July 28, 2009

gNew Sense saves the day and some self promotion

Alright, as many of you may know, I am a self proclaimed Linux Evangelist. I love Linux and I am a big fan of the Open Source Community. I have been a long time user and promoter for Ubuntu. Today, I am going to give some love to a Gnu/Linux distribution that does not get enough credit and that is gNewSense (not just open source, it's Free Software). I downloaded and burnt the ISO file for gNewSense onto a CD last night because I have a thumb drive that failed (OCZ ATV 32Gig) for the second time. I had some data on there that I didn't want to lose (nothing important or personal, just some software I didn't want to download again) and I hadn't backed it up in a few months (you think I would have learned after the first time). I tried to get to the data via Ubuntu and I also tried in Windows. Neither worked.


I decided to give another version of Linux a try, hopefully something supported by the Free Software Foundation (more on them later). This is where I found gNewSense. I decided to load the Live CD and see if it would read my bad thumb drive. As I am sure that you have guessed by now, my thumb drive mounted fine and I copied all of the data off of it. I now have all of my data and learned a valuable lesson about backing up your thumb drive regularly. Thanks to gNewSense I did not have to learn this lesson the hard way.



I enjoyed using gNewSense so much, that I am going to give it a partition on my hard drive later on this week. I will then use it as my sole machine for a while and I will do a full review on it later. For the time being, here is a screen shot:








The fact that I was able to save myself such heartache and annoyance made me think, that I should return the favor. I have decided that I would like to help out the Free Software Foundation. I have recently submitted this blog to Amazon. Amazon has excepted it and they are now selling subscriptions to my blog for the Kindle. I will be donating all proceeds garnered from these subscriptions to the Free Software Foundation.



I have not approached the Free Software Foundation about this as of yet, because I am afraid that they will not be too happy about it. Unfortunately, they have a standing feud with Amazon in reference to Amazon's use of DRM in some E-Books. I will update when I have heard back from them about this.

Thursday, June 11, 2009

Eclipse Galileo Review

The Eclipse Foundation is about to release their newest version of their IDE, nick-named Galileo. I should say first that I am a fan of Eclipse and that it is my IDE of choice for Java development. I have recently tried NetBeans again for some JavaFX coding and I was unsatisfied with the experience (not because it did not handle the code well, but because I did not like the UI and the code completion is nowhere as good as Eclipse). I decided to give the latest pre-release version of Eclipse a shot to see if it was able to handle JavaFX scripting as well as NetBeans.

To start, I went to their site http://www.eclipse.org/ and right on the front page was a link to the download for their latest version. The download only took a few minutes, I unzipped it and clicked on the executable (I am forced to use Windows at work). As a side note, this is one of the things that I love about Eclipse. You can unzip the IDE to a thumb drive and create your workspace on that thumb drive and be able to use your customized IDE anywhere! Upon opening, the first thing I noticed was that it looks exactly the same as the last version.


The UI is pretty standard fare for Eclipse and this is something else that I enjoyed about it. The fact that I could seamlessly transition to a new version without having to relearn everything is great. I quickly threw together this test program to check to see if it would compile and run correctly (what good is an IDE if it can’t do this):

public class Test{

public static void main(String[] args){

System.out.println("Hello, Galileo");

}

}

This of course yielded the expected results of:

Hello, Galileo

So far, so good. The next step would be to try to install some add-ons. Since this is one of the aspects that makes Eclipse such a great product. The amazing number of add-ons and the sheer size of the Eclipse community make it a terrific platform, so I should have no problems right? Wrong!

I had a bit of trouble figuring out how to install some new add-ons. It wasn’t impossible, but it was a bit misleading. I decided to do this from the perspective of a new user, so the first thing I did was go to “Help” on the main taskbar. Unfortunately the help documentation was not updated for the newest version (although I suspect that this will be fixed in the full release version). It asks the user to click on options that are no longer available in Galileo. There used to be an option labeled Software Updates under the Help menu; it has been changed to 2 different menu options

1) Check for Updates

2) Install new software

I clicked on the Install new software and I was at a new menu.

I tried to click on the “Available Software Sites” option that is highlighted and to my surprise I received the following error message:



I restarted Eclipse and decided to go about it in a different way. I went back to
the Help – Install new Software option and this time I entered the direct Web address for the
JavaFX plug-in. I waited for the install to finish, restarted Eclipse and JavaFX was available.

Now I was ready to start building my first JavaFX Project (at least the first one in Galileo). Galileo does make getting a JavaFX project started easier than Ganymede. In fact, for some reason Ganymede would not even recognize that I had the JavaFX SDK installed. In fact, I haven’t changed anything on my system as far as JavaFX is concerned since I last tried to use Eclipse.

I wrote a simple FX script to produce a small window with a picture of Duke (the Java mascot). It worked great and I had no problems getting it done. In fact I was able to write the same program much faster than I was in NetBeans!


I will not be saying goodbye to NetBeans in favor of Eclipse once again. I can not wait for the final release of Galileo. The one Noticeable change for Galileo was a massive increase in overall speed. It loads faster and compiles quicker than previous versions of Eclipse and that is the real reason why you should switch to Galileo!