A Short Tutorial on Eclipse/EGit/GitHub

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.

Step 1: Get Eclipse

If you don’t want to work in Eclipse, that’s fine; you can access the source files directly without it. You will, however, need to look up how to generate SSH keys for your platform and how to set up Git on your own. GitHub has a nice tutorial after you sign up; so skip to step 2 and then take it from there.

If you do want to work with Eclipse, download the latest version here: http://www.eclipse.org/downloads/ and get the Eclipse IDE for Java Developers. Once you have it downloaded, extract it to someplace you will want to keep it, and double click on the eclipse icon to start it. We need to install the EGit plugin to use Git from Eclipse, so go to the “Help” menu item and click on “Eclipse Marketplace”. Search for EGit, and install it (it should be the only item that comes up). Restart Eclipse when it prompts you to.

Eclipse is a powerful development environment because it’s open source and has a ton of plugins for development; but that also makes it slow sometimes. Let’s make it go a little quicker. Go to the “Window” menu and click on “Preferences”. In the window that opens up, expand the “General” item, and go to “Startup and Shutdown”. This will show all the plugins that get started with Eclipse. Unselect all of them and click Apply”.

Ok, now that we’re in our settings panel, go to “Network Connections” and expand it. It’s under “General”. Click on “SSH2”, and move to the key management tab. IF YOU ALREADY HAVE A PUBLIC/PRIVATE SSH KEY GENERATED, SKIP THIS STEP. IT WILL OVERWRITE ANY EXISTING KEYS, AND YOU WILL NOT BE ABLE TO USE THEM ANYMORE. Otherwise, click on “Generate RSA Key…” It will create a public/private key for you; copy the public key from the text area and hold onto it. Don’t do anything more with Eclipse at this point; we need to set up our GitHub account before we go further.

Side Note:
If you already have a public/private key pair, you can open up the public key file (should be in /home/yourusername/.ssh/id_rsa.pub on Linux) and copy it for the next step.

Step 2: Getting Your Account Set Up

Ok, first things first: We need to set up a GitHub account. To do this, go to the main page at http://www.github.com and click on “Plans, Pricing and Signup” in the middle of the page. (It’s big and blue.) At the top of the next page, it has a free hosting plan above all the paid ones; click on “Create a free account”. Type in your username, email, and password (Generally, using your real name is a help in these kinds of things, since employers/future project leaders/current collaborators can tell who you are and what you’ve worked on) and click “Create an account”.

Cool! So we have an account. Next thing to do is set up our SSH key. Go to “Account Settings” at the top of the page click on it. On the left sidebar is an option “SSH Public Keys”, click on that. We’ll want to set up another key, so click on “Add another public key”. Give it a descriptive name in case you need to modify it, and paste the public key from Step 1 into the big box. Save the key, and you’re done! If you haven’t saved your key in Eclipse, go back and do that now. Click “Save Private Key”, and put it into the default folder. If you want to put a passphrase on it, I encourage you to do so; if your private key gets stolen the thief has your identity and access to any server that uses that key.

More Power To You

It seems that some projects fall just on the wrong side of the microcontroller/PC divide power-wise. It sometimes appears that if you want to be able to display video and read from GPIO ports, you’re either going to have to learn Spin and work with Propeller chips, or use a low-cost PC for the graphics and an Arduino or similar board to handle your sensors. Luckily, this isn’t the case! Two products available at SparkFun and Adafruit can help you out significantly.

Continue reading

How to Run SolidWorks on Linux

So, you’re either lucky enough to be able to buy a SolidWorks license outright, a student with a dream, or like me and provided with one by your employer. Too bad you’re a Linux user too, right? Wrong! Once you have SolidWorks, running it in Linux might seem impossible. That’s technically true, but there is a workaround that I’d like to share with you.

Continue reading

CAD Systems on Linux

If I have one complaint about Linux, it would have to be the lack of powerful Computer Aided Design systems for the platform. Almost all of the common commercial packages such as AutoCAD, SolidWorks, etc. are designed to run on Windows. Luckily, this apparent paucity of systems isn’t as bad as it seems!

There are a number of programs you can use for doing basic CAD, and most are free. For example, for doing some basic mesh-based modeling Blender is very powerful. Unfortunately, it’s not a solid modeler and isn’t aimed at CAD work. That said, it’s a popular modeling option for RepRap users. For more serious dimensioning and 2D work, QCAD is a good option. The community edition is free and available in the Ubuntu repositories. I use it almost every day.

For anything more serious, like parametric modeling, interference checking, motion simulation, and stress testing it seems there are no good free programs. The FreeCAD project seems promising, but is severely lacking in the basic functions needed for a production-ready CAD system. Luckily, there are some proprietary programs available for Linux which provide that!

Continue reading

Unity

Well, it seems as though the next big thing in the Ubuntu world is the switch from standard GNOME to the Unity interface in 11.04. I can’t say I’m exactly pleased with that, but I understand that users will have the opportunity to switch between GNOME standard and GNOME with Unity at login, so I’m tentatively hopeful that I’ll be able to retain my familiar interface. I’ve tried Unity out on my laptop, where I have more limited screen space, and I had a good time with it for a while; but the non-standard behavior of the Unity sidebar with regards to minimization and launching was discouraging. On my desktop, I’m running a dual-monitor configuration; and I like to have my application launcher and such on the center monitor. I’m not sure what the configuration options for Unity are going to be, but it seems that it’ll try to jump to the left side of whatever setup you have (don’t quote me on that, I honestly don’t know). If I want a dock, I’ll use AWN or something that provides that; I don’t think the Unity bar is such a great leap forward for the standard desktop user. I’m also not much of a fan of putting the menu options at the top of the desktop. Don’t get me wrong, I see its appeal for netbook and laptop users; but for the larger screens of a standard desktop setup (and especially my non-standard one), I just can’t see the benefit.