Bobfolio is a simple Ruby web app for your computer programming portfolio. You can deploy it to Heroku and have a free portfolio up and running within about 15 minutes if installing Ruby goes well. You should be able to use Bobfolio with minimal Ruby knowledge, or just a bit of knowledge about any similar scripting language like JavaScript, Perl or Python. You're not writing code, just putting together some data. INSTALLING BOBFOLIO: First, install git. On Ubuntu that's something like "apt-get install git-core". On Mac, you've probably already got it, or you can install it through MacPorts, Fink, Homebrew or another package manager. Next, "git clone git://github.com/noahgibbs/bobfolio.git ". That will copy bobfolio into a directory for you to edit. You may need to install Ruby. If you install Ruby 1.8.X instead of 1.9.X, you may also need to install RubyGems. (How do you install Ruby? Google something like "install ruby windows") Afterward, you can use those to install other requirements: gem install bundler bundle install RUNNING BOBFOLIO ON MAC OS X OR LINUX From the command line, type "bundle exec rerun ruby bobfolio.rb". That will load a web server, and reload the web server every time you change the code (convenient!). Next, point a web browser at http://localhost:4567 to see what your server shows. RUNNING BOBFOLIO ON WINDOWS On Windows, type "bundle exec ruby bobfolio.rb". That will load a web server. You'll have to restart it when you change your code. Next, point a web browser at http://localhost:4567 to see what your server shows. EDITING BOBFOLIO Edit bobfolio.rb to include your correct name and the right link text in those variables up at the top. Hit reload in your browser, and you should see the right name in the title, and the right text up top. Finally, look later in bobfolio.rb. See ENTRIES? Those get automatically turned into the big blocks in your portfolio. Cut-and-paste to add more entries to both the personal and professional sections. If you have any problems with the server not loading, check your syntax. There's a brief summary of Ruby strings in the file, and you can find any unusual information pretty quickly using Google. ENTRIES is just an array of hash tables, very similar to how it's written in most other scripting languages (JavaScript, Perl, Python, etc). DEPLOYING BOBFOLIO: Sign up for a free account with Heroku.com. Next, create a Heroku app: heroku create myappname Heroku will ask you for your name and password the first time you run a command, and will remember your SSH keys so you can upload code to this app again later. It may take a try or three before your app name isn't taken. You can also just "heroku create" to create a new randomized app name. Don't do that for your portfolio, because a randomized app name will be hard to remember and sound kind of dumb. Now deploy to heroku: git push heroku master That's it! Go to http://myappname.heroku.com or whatever your actual Heroku app name is. You should see your new portfolio, accessible to all on the big ol' Internet. Welcome to the future. WHERE DO FILES GO? You can link to sites, images and whatnot with <a href="">, <img> and so on, just like you're used to. Or you can put your own files under the public directory in Bobfolio and then link to them there. For instance, an image you put into public/images/cat.jpg could be linked as /images/cat.jpg from HTML in your ENTRIES. DO I HAVE TO USE HEROKU? Not really, no. That's just far and away the easiest way to get your portfolio up and running. You could run your own server or use different hosting and it would work just fine. You can't just run plain Apache because you need to execute Ruby code, but you could use Apache and Passenger if you wanted, or any other Ruby-capable app server (Mongrel, Thin, Lighttp, Unicorn, WEBrick, etc). Similarly, the Sinatra library is very easy to use, and you could make a *much* more complicated portfolio than this if you wanted. This is just a very simple one to get you started. TROUBLESHOOTING * Did you have trouble with Heroku accepting your ssh key? Run "heroku keys:add", then try it again. * Why doesn't "git push" go to Heroku? You didn't clone from Heroku originally. But "git push heroku master" goes to Heroku, so use that. * Having trouble with "bundle install"? Make sure to run the server using "bundle exec". If worst comes to worst you can actually debug by just pushing to heroku repreatedly, though it's easier if you can see the error messages locally. * Getting error pages from heroku? Try running "heroku logs" to get recent error logs and see if you can find the problem.