Tuesday, September 4, 2012

Smart, Git and Easy

 Here’s a great program that my friend Andy from openSUSE turned me on to that makes handling Git that much easier than typing at the CLI (Command Line Interface). Many Linux users are already familiar with Git, but for those who aren’t, Git is a nice revision control sharing system. A host is used as an interface for the commands and in a similar fashion as Google Drive or Dropbox, files are moved in and out. Git provides timestamps to each file as it is accessed, or in Gits case pushed into the host or pulled from the host. This file sharing method makes collaborating on a single file or a multitude of files that much easier to track so everyone involved with the file can tell which file was updated last so there is no confusion. At least this is my jist of Git.

 SmartGit is a really nice GUI for taking place of doing Git commands from the terminal line. I grew up in the pre-GUI age long before Windows was invented and spent years and years working from the command line. To be honest, if I never had to use one again would be ok with me, but as most Linux distros and programmers have not fully reached a point of escape from command line operations, sometimes we need to go there. Thankfully there are programmers who think like I do and work their magic on projects like SmartGit to eliminate some of the old CLI usage.

 I would have preferred SmartGit to be a little easier to get setup, but a couple of good articles via Google search and it can be done fairly easy. It downloads as a tar file but doesn’t get extracted and installed the same way most would. Instead, the files simply get extracted and then some modifications have to be made. If it weren’t for the fact that this software came highly recommended by someone I trust, I might have looked for an easier alternative or gave in and went by command line, but I kind of like a challenge anyway.

The first thing to note is that this GUI is dependent on the Java Runtime Environment, so make sure it is installed on your computer or at least have the file available. We are going to have to know the path to the file and paste it into one of the SmartGit files so it knows where to get it from.

This is the file we will need to open with our text editor and put in the path to our JRE.


Next, with text editor of choice, insert the path location into the file and save it. It should look like this.


Now all we have to do is run it and then add a launcher so we don’t have to initialize from the command line all the time. Open a terminal session and switch to the directory where SmartGit has been extracted then initialize it like a C++ program (or similar) like this.



If for any reason SmartGit does not initialize, go back and make sure the path to the JRE is correct and all terminal entries are correct. If all went well then we should be looking at the SmartGit start screen. To install the quick launcher just repeat the steps in the terminal but this time use the add-menuitem.sh file and it will put an icon on the desktop for you.


On the initial start up, there will be an option for where the Git account to associate with is located. This is something that will either be already set up or will need to be. The rest is to just select all the default values given. Once all that is done, then just work your way around the interface and relax because all those typing lines just became simple mouse clicks. Fast, fun and easy just the way we like it. : ) 

REMEMBER: Git is best used for programming files when revision control is really important. It CAN be used as a replacement for Google Drive or Dropbox, but it’s not recommended and even the GitHub website states that it is NOT intended to be used in the same capacity, hence the reason they only allocate 1G to each account for free. 

Thursday, August 16, 2012

Wiki Editing

 I finally took the time to do my first wiki editing at opensuse.org today. With over 1700 pages available to go through, it can be a little overwhelming as to where one should start to help with managing all this information. Since the Artwork group has been my first stop at getting involved with volunteering my time to helping the openSUSE community distribution, I narrowed down the pages to those that are sub-categorized under Artwork.

 As I usually do, I jumped a little ahead of myself by wanting to add images into this particular wiki page and although it seemed like a relatively simple procedure, it turned out to be more. Wiki editing is actually pretty fun for people who enjoy working with documentation or writing articles such as myself. The software in use is called MediaWiki and is really easy to use.

 Follow along and I’ll explain the process I went through to add a screenshot of my desktop to a page where others are sharing their desktops for future development ideas.

Obviously, the first thing a person needs to do is contact the wiki administrator or whoever is “primarily” in charge of maintaining the overall effectiveness of the wiki pages. As a community driven operation, anyone who has a registered account with openSUSE has the potential to be able to edit wiki pages if they should choose to do so. There are guidelines to follow and a list of protocols to go with those guidelines. Obviously, since this is a community effort, we still have to have rules so that we don’t get a bloated mess going on. We want to keep the overall wiki organized and professional otherwise it will not work to be an effective source of information for others to follow.

First, I took a look at the page layout to get an idea of what people were already doing so I could follow suit.


Then I determined I would have to upload an image from my computer into a an image repository location where it could be referenced as a link so it is rendered in the wiki. This is essentially the same logic that goes on with any web page.


Once the image file has been uploaded for use, I personally recommend verifying that the image has in fact been uploaded and is valid in the image repository for access by the wiki. I feel it is always good practice to double check things.


After getting the image uploaded take note of the image name or even better right click and copy the image file name and paste it into a text editor for dropping into the page editor. Now navigate back to the wiki page that will be edited and in the upper left corner click on “edit”.

This will change the page to the editing console which will be an html based editor. Since our goal is to put our image in and retain the same formatting as what others have already established before us, I suggest copying the code previously used by someone else and then edit their image file to the one that was just uploaded for use. Note how the text editor for page editing should be under the tag heading of “Wikitext”.


When editing is all done, of course the next thing to do is to check our editing before we save the file as edited. Back up at the top next to the “Wikitext” tab is the “Preview” tab. Click on this and a temporary version of what the page will look like with the changes will appear.


It took me a few tries to get this right mainly because of having to learn how to work with the image files. If for any reason the editing doesn’t look the way it was intended to, down at the bottom of the page are the options to save, cancel and others. I suggest not worrying too much about going through a couple of times before getting it right but try to be both conscious and courteous when adding or editing anything to a community wiki page. Remember, people from all over the world turn to these pages all day long every day for help managing their system or navigating through for information about the organization.


Last of all is the final addition to the wiki. This is just a small addition to helping to make a good thing better by contributing knowledge, experience or just taking the time to fix or update old data.


I think there is a large misinterpretation of wiki pages. In some cases there may very well be a single moderator or maybe even a small team of maintainers. With a community driven project such as openSUSE, we really appreciate all the help people can apply to maintaining the wiki pages. With each new distribution release the page count continues to grow and as more and more of the community becomes involved, more and more pages continue to pop up throughout the site. There are a few dedicated people who have been working with the pages for a long time and believe it or not, they know just about every page. If maintaining a wiki is something that sounds like fun, don’t be shy to ask questions and get involved! We would love to have all the maintainers and contributors we can get!

“Have a lot of fun!”




Wednesday, August 1, 2012

OpenSUSE Artwork Sharing

Hello again and thank you for stopping by!

In this how-to I’m going to describe the new avenue openSUSE has established for people to share their artwork with the organization and community. At some point the head honcho’s at SUSE felt it was best to provide an outlet that was public, easily accessed and easy to use so that we may draw from a larger pool of artists to help contribute to the artwork supplied into each release. The establishment is not only provided for wallpapers or boot splash screens, it is a repository of sorts where other fans and users of openSUSE can share and collect artwork provided by others from around the world.

Contribution to the artwork pool is completely voluntary and only requires a Flickr account and the acceptance from the artist that any donations to the pool be completely released from all creative rights so that there are no lingering legal issues. It is also stated that all contributions should be free from sexually explicit material, images portraying racism, hatred or graphically violent material. With that said, the following is a basic explanation of how to set up a Flickr account to share images with the openSUSE-artwork community.

The first thing to do is to set up an account with Flickr powered by Yahoo. There were a lot of reasons why Flickr was chosen and please don’t ask me why. Without going into a long explanation, the best I can say is that it is already well established, there is already a large following of community contributors and the engine for group sharing works really good.

As this shot shows, there are a few ways to create a Flickr account. The easiest ways are to either use an existing Facebook or Google account. If one of these buttons is selected, Flickr will detect the ID from that account automatically and ask for the password to that account which will then be the standard way users are signed in. Everything is kept confidential so there is no worry of having the password harvested. If the user doesn’t have a Facebook or Google account then a Yahoo account will do or a Flickr account needs to be created.



After the account has been created, I always strongly suggest that users take the time to created or upload a buddy icon. Doing this creates a level of identity so that group members can separate one person from another. Of course there is always the account name and other data that can relate the artwork back to the donor, but it’s nice to be able to have a visual representation to correlate to. Once the buddy icon is done, fill in all information that a person is comfortable sharing. Some people like to be very private about this kind of thing and that is completely understood.

When all account data is filled in to preference, then it is time to connect the new account to the openSUSE-artwork group account. This can be done in a couple of ways, either use this link: http://www.flickr.com/groups/opensuse-artwork/ or in the search box type in openSUSE-artwork. Unfortunately, Flickr is case sensitive so it can be challenging if the spelling isn’t just right. Once at the openSUSE-artwork account, click on the button to the far right just under the group title that says “join this group”. Now we are a member of the openSUSE-artwork group and when we upload images we can have them shared into this group which we will cover next.



Flickr has made uploading a very easy process. At the top of the account is the “upload” tab found at the right of all the selection tabs just above the account details. Click on this and a new window will open that is kind of a stark dark grey color and looks like this.



Read and follow the directions that are just below the large blue box. At this point, I believe openSUSE-artwork is only accepting images for donation to the pool, so for this example we are going to stick with that. Click on the large blue button and surf your drives and folders for the image(s) to be donated. Once the image is selected, the screen will change and we are presented with options to apply to our image.



By clicking on the box just below the newly uploaded image, details can be added such as program used to generate, location where taken, what camera was used and so on and so forth. In the left hand column are some selections that can be added to each image individually. In this area is where licensing is selected. I suggest selecting the second button which is the NonCommercial, ShareAlike,  CreativeCommons which releases the openSUSE team to apply our design to the organization if they feel there is a good place for it. Remember, the whole idea is a collaborative effort in sharing to create something awesome that works for everyone.



Go through each of the other attribute boxes and apply tags so other can search keywords and find the design or other attributes. The most important one for this example though is the “Add to groups” button. This is how we share uploaded photos with the group so everyone is able to view everyone else’s work and use or apply them to help promote the use of openSUSE everywhere. Clicking on this button should bring up this screen if our join groups selection earlier went well.



After selecting all the attributes to each image, remember to click on the blue “upload photo” button in the upper right hand corner. This button is how Flickr processes the photo adding all the attributes and making sure it gets added in all the right places.



Now we created our Flickr account where we can upload artwork to share with the openSUSE-artwork community. We then joined the openSUSE-artwork group where we can view work created by users and contributors from all over the world, and were contributing our skills and talents to help build something really cool and fun for everyone!

Visit the openSUSE-artwork wiki for more information: http://en.opensuse.org/Portal:Artwork






Tuesday, July 17, 2012

Virtually Shared Folders

While in the midst of a class discussion, one of my classmates was doing a presentation on virtualization. The presentation was done very well and afterwards questions were asked. One question that seemed to be on most minds was how to access folders on the host from the guest installation. This is actually a very easy thing to do, at least with VirtualBox and I would expect that VMWare is just as simple.

I was actually surprised with how many students in the class had not explored setting up a virtual machine. The entire process is actually pretty simple (at least to me). The benefits of having a virtual machine are really only limited to one’s imagination on what would a person do with an OS that they didn’t have to care if it crashes? How much exploration or trial and error would someone be willing to do if they didn’t have to worry about the ramifications of making a mistake? What would be the educational benefits of being able to try something totally crazy or bleeding edge new?

In this how-to I’m going to show just how easy it is to set up file sharing between an openSUSE host and a Windows guest. Perhaps once people get the opportunity to see just how simple this is, more people will consider being a little more adventurous with their systems. This also gives new IT students an idea of how simple it can really be to set up a virtualized server running a variety of different operating systems for their users based on requirements of the clients.

The first thing I usually do is to take a look at my uppermost file system and decide which ones I want to share with any particular guest. Although it is completely possible to simply provide access to the entire root system of the host, I don’t recommend it. If something should go buggy or awry with any particular guest situation, I personally wouldn’t want it to have access to too much on the host system.

Since I use virtual machines fairly frequently, I have a file structure that I create with every OS installation with the intent of providing sharing to a virtualized guest. In this case I am going to be sharing Documents, Downloads, Pictures and School.



Once the decision of what folders will be shared then we can go ahead and start our virtual machine and set these folders up to be accessed from our guest machine. Obviously this decision can be done simply from the selection process or, as in my earlier day of setting up virtual machines, a person may want to create folders specifically to be shared with each machine in particular. As an example “Windows Folder” either in the top tier or as a sub folder perhaps under documents.

One example of why this would be good is if a person decides they don’t want to provide internet access to their virtual machine. I typically turn off internet to my Windows machines and only download or access the internet through my Linux host. By doing things this way I don’t worry too much about virus protection or malware getting to my Windows install. Even if something does get in, I really don’t care since the OS is just a virtual guest which can be simply replaced anytime. This decision can be invoked or revoked any time with just a simple setting.

The next action to take is to start VirtualBox and go into the settings tab in the top left prior to starting the actual guest OS.



Inside the settings, on the left hand side, navigate down to “Shared Folders” and click on it. In the window that opens over on the right shows a file tree window and just to the right of that is a tiny folder with a green plus sign. Click on this little folder and a file browser will open allowing navigation to the folder to be shared between host and guest systems.



Repeat this process to add all the files you will want to allow access to between the guest and the host. As I stated earlier, I wouldn’t get overly zealous with this action. It is much safer to be conservative especially when various file types will probably be created and shared to the host over a period of time. Keeping your file system clean and organized is always a good thing.

Repeat this process to add all the files you will want to allow access to between the guest and the host. As I stated earlier, I wouldn’t get overly zealous with this action. It is much safer to be conservative especially when various file types will probably be created and shared to the host over a period of time. Keeping your file system clean and organized is always a good thing.



This is all fine and good for being able to access our folder system on the host machine but, what we really want to do is be able to access these documents with an application set up to run in our guest. So lets go ahead and fire up Adobe Illustrator and try to access some image file which is truly stored in our Pictures folder on our openSUSE host machine. Files for use in applications can either be accessed this way or they can be copied over into the guest machine and utilized there. Keep in mind though that the guest machine in itself without a lot of files in it takes up a lot of space. Windows 7 is kind of a space pig (in my opinion) although the sacriface is worth the improvement over the Vista release.


Once we have our software open, lets go ahead and open up a file we want to work with.


The end results are exactly as we want. We opened a file which was originally stored on the host machine for use in an application written to run on our guest machine. Kind of gives us the best of both worlds doesn’t it?

As can be seen this was really easy to set up and execute. If for any reason anyone runs into a problem with their folder sharing with VirtualBox, the first thing to do is go to the VirtualBox website and sift through the forums. Odds are really good someone else has asked the same questions or had the same problems.









Tuesday, July 10, 2012

How-To Set Up VirtualBox in openSUSE 12.1


 
  Recently I needed to do a new install of VirtualBox on my openSUSE 12.1 desktop. I usually only do this when I get in the mood to test new operating systems or I need a version of Windows for something specific that Linux isn’t suited for. I used to keep a copy installed by default, but lately I have been more resourceful in getting things done without Windows. This just happened to be one of those times when I had a new OS that I had never experienced before and I needed a platform to try it out on (the story on that later).

 I know that a lot of people still aren’t familiar with virtualization or how to set one up or what they would even want one for. There are also a lot of relatively new Linux users that still do the dual-boot system on their computers running Windows next to Linux and choose which system to run on start. When I started using Linux back in 2009, I did the very same thing so I could continue to be productive in my old ways while learning to accept change and migrate over to a Linux OS. Whatever the reasoning, often times Linux users still end up needing a copy of Windows for some reason or another now and again however, as each new release of the various Linux distributions improve in user interface, operation, and efficiency, I’m seeing less and less dependencies on the old Microsoft build.

 The dual boot system works fine for those who insist on having their OS have direct control to the hardware and network. The problem lies in the fact that some OS are more prone to infection and virus than other systems and if one of the two gets in deep enough trouble, it could render the entire machine useless and require a complete scrub and new install. By installing a second OS through means of a virtual machine such as Oracle’s VirtualBox, there is only one log in screen and when the need to use a secondary OS is required, a user just starts up the virtual instance just as if it were another program. If the secondary OS becomes unstable or infected in some way there is no complete loss, just scrub the virtual machine and install it again. Running two operating systems in this manner is far safer than trying to run side by side.

 Getting past a simple why and into the how-to section, obviously the first thing anyone is going to want to do is to visit the Oracle VirtualBox download page and find the correct version for their particular openSUSE distribution. I strongly suggest taking the time to read the documentation on this page and not just surf for the matching download to their particular system. It does make a difference as to whether or not a 32 or 64 bit will be the host OS. There are also a lot of hints, tips and tricks to installing VirtualBox on Linux so do your reading and save aspirin! While on the download page, make sure to also download the extensions pack that goes with the version of VirtualBox. The serial numbers should match on both.

 Once both the software and extension pack have been installed, don’t do anything with them just yet. As much as we would like, they are not ready to go right off the bat. There are a couple of things that need to be done prior to installing the first “guest” OS. Considering how popular the use of VirtualBox has become to Linux users over the last couple of years, I would hope that in future releases of openSUSE the programming engineers could make the installation a bit simpler, for now though it is what it is and that’s why I’m writing this how-to.

The next thing to do is go to YaST and in the search box on the upper left corner type in “DKMS”. Select the checkbox and install it. DKMS is an acronym for “Dynamic Kernel Module Support”. These packages are required for VirtualBox to generate Linux kernel modules for itself when updates are made and for driver support. No, I don’t know a whole lot about it except for the fact that the installation of VirtualBox will give an error when trying to initialize without it.


 After DKMS is installed then we can go ahead and get VirtualBox in. This should have been downloaded from Oracle as an RPM package. These are the best and easiest packages to deal with in openSUSE. They operate just like the old EXE files for Windows programs. Just click on the file and openSUSE will take care of the rest. Don’t get overly excited just yet however, there are still a number of steps we have to go through before we can actually get our guest OS up and running so just be patient and follow along. Once the loader is done doing its thing, go to the application launcher in the lower left corner and navigate to  Applications -> System -> Emulator and there should be the installation of VirtualBox. At this particular point I would actually suggest doing a right click and adding it to favorites since it will probably get used quite a bit in the beginning.


Once this is done there is another thing we need to do in YaST, so start this up and go to System -> System Services (Runlevel). For whatever reason there are dependencies for VirtualBox that do not initialize automatically so we are going to have to tell them to start with our system by default.



Once inside the runlevels interface up at the top, click on the radio button that says “Expert Mode”. Don’t worry about this too much, it’s not as intimidating as it sounds. Once the interface has changed scroll down to almost the bottom and look for the service called “vboxdrv” and click on it so that it is highlighted green or selected. For whatever reason, this is always “no” by default and it needs to be turned on for our program to work. Once selected, click on the button below that is labeled “Start/Stop/Refresh” and in that dropdown select “Start Now”. Next to the service the running indication should switch from no to yes. Once this is done make sure to click on the green button in the lower right corner labeled Ok and the setting will get saved. Now, every time the computer is started, this service will begin running automatically.


Once these steps are complete, we need to give ourselves permission to use our virtual application. This may seem odd, but this is the way it gets set up. So again go to YaST and navigate over to Security and Users -> User and Group Management. In the top tabs of this



screen select “Groups” and there should be a group called “vboxusers”. Highlight this group and at the bottom of the screen select “Edit”. In the next screen, in the column on the right look for your user name and check the box next to it then click “Ok”. You have now set permissions for yourself as being authorized to use VirtualBox.


The next hurdle to have to jump through is adding in some RPM groups associated with keeping all the kernel information cool with our virtual environment. These are loaded directly through the terminal so open one up of choice and log in as root. Now type in the following string and just select “y” every time it asks.

zypper in gcc make kernel-devel

Finally we have reached the point where we can re-boot the system so everything we changed gets set into place and start using our virtual environment.

I know this seems like a lot of work to set up a virtual machine, but once all is said and done, the payoff is totally worth it. I have actually had 4 different operating systems installed into one of these before for various levels of testing and trial purposes. One of the nice things is that a virtual machine can also be used for testing the same OS as the host before modifying the host itself. There are a number of good reasons for taking the time to install virtual machines besides being able to run Linux and Windows at one station. So I urge people to give it a try.

I also want to thank my friends over at openSUSE for helping me when I get stuck and motivating me to continue writing about my experiences and explorations with what I consider to be one of the most user friendly free OS available today. If for any reason these instructions aren’t working for anyone, please feel free to review the source I used to create them.
















Thursday, July 5, 2012

Set Up Google AdWords

1.   Go to Google AdWords and sign in with a Google Account



2.   Set time zone and currency type



3.   Be sure to select time zone carefully, it can not be changed once set!


4.   Create first ad campaign


5.   In the upper right hand corner is the customer number. Write this down and keep it in a  
safe place for future reference.



6.   Follow the step by step instructions on the left side.


7.   Select target advertising location (typically by zip code) and select “add”


8.   Select a daily budget for advertising. Typical start ranges are from $1 to $5 per day.



9.   It’s a good idea to have your business phone number (at a minimum) show up with your
      add.


10.  Determine the type of ad to be created and follow the instructions. For text only ads, fill in
      the required fields.


11.   An example of the ad will be created on the right as the fields are filled in. Make sure
       everything is exactly as you would want to see it on the internet.


12.   Select keywords that will trigger ad production when people search for things relevant to
       your business. Google states that most businesses find only 5-20 keyword phrases
       bring results to their business. However, it is possible to have up to 50,000 keywords
       associated with an ad campaign.


13.   Once all settings are complete for the AdWords campaign, complete the billing
information section.


Important things to remember. An advertising campaign can run anywhere from $30 to thousands per month, all depending on the company budget. The campaign settings in AdWords can always be changed or modified at any time; There is no “set in stone” configuration. The company is only charged when the ads are clicked on so it is good to be methodical about the advertising and the settings to target their selective service area and relevant words to the services the company provides.