Tuesday, August 28, 2012

A Roadmap for Learning Web Development

Damien Roche gave some excellent advice (IMHO) to the question, "Which language to learn for Web Development Ruby or Javascript?". His last comment is the most critical: "If you don't enjoy learning new things, you're in the wrong game."

You know some Ruby, start there. Using RoR will have a positive impact on your ability to develop web applications. Although stuff like Compass, SCSS, Coffeescript isn't required, I'd certainly advise you delve into them once you're familiar with the underlying languages.

A good roadmap would be:
  • HTML, HTML5
  • CSS, CSS3
  • Javascript, jQuery
  • Ruby, Rails
  • SQL
Once you are familiar with the above, and if you plan to use RoR, these are essential:
  • RVM
  • Bundler
  • Capistrano
  • Rails console
Along with that, you will most definitely want to be able to use:
  • IDE - Eclipse, Rubymine
  • Git
  • Linux
A web developer who primarily works with Rails and Linux will have been exposed to and know (some more than others) all of the above. It is absolutely critical that you understand how these technologies compliment each other. 1,2,3 are evergreen - they will never 'go out of fashion'. So start there.

Once you've done all that, you might want to move up to the next level and learn:
  • HTML -> Haml or Slim
  • CSS -> SCSS and Compass
  • Javascript -> Coffeescript
  • Rspec and Cucumber
As you can see, there are tonnes of different tools at your fingertips. One skill which surpasses all others: the ability and enthusiasm to educate yourself. If you don't enjoy learning new things, you're in the wrong game.

Friday, August 3, 2012

apt-cyg: command line installer for Cygwin

apt-cyg  is a command-line installer for Cygwin which cooperates with Cygwin Setup and uses the same repository. The syntax is similar to apt-get.

Update Ruby from source for Cygwin

Edit: Added LibYAML and OpenSSL extension instructions from http://saltnlight5.blogspot.ca/2011/11/i-like-to-use-ruby-that-comes-with.html

Make sure Cygwin OpenSSL packages are installed.

Run Cygwin console as Administrator if using Windows 7, Cygwin was installed as Administrator and UAC is enabled, install may need admin permissions and Cygwin doesn't have a "sudo" command.

If you get fork errors, try rebasing Cygwin.

If rebasing fails, try deleting C:\cygwin\etc\rebase.*

http://permalink.gmane.org/gmane.os.cygwin/135305

> $ /bin/rebaseall
> /usr/lib/perl5/5.14/i686-cygwin-threads-64int/CORE/cygperl5_14_2.dll: skipped because nonexistent.

And this is caused by a minor perl packaging problem. You can simply
ignore this warning.
I'll fix it with the next perl update.
--



$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [i386-cygwin]
$ cd /tmp
$ wget http://pyyaml.org/wiki/LibYAML
$ tar xvf yaml-0.1.4.tar.gz
$ cd yaml-0.1.4/
$ ./configure && make && make install
$ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz
$ tar xvf ruby-1.9.3-p392.tar.gz
$ cd ruby-1.9.3-p392.tar.gz/ext/openssl
$ ruby extconf.rb
$ make && make install
$ cd ruby-1.9.3-p392/
$ ./configure && make && make install
$ wget http://production.cf.rubygems.org/rubygems/rubygems-2.0.3.tgz
$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [i386-cygwin]