Best of luck getting out of the rut.
15 karma · joined May 26, 2009
Best of luck getting out of the rut.
That being said, Land of Lisp is a fantastic way to get your feet wet in functional programming. I would highly suggest giving it a whirl. Learning Common Lisp will definitely help in learning Clojure. But you really need to look at it as two distinct steps towards your goal of learning Clojure.
There is also a new Clojure book coming out at the end of the month called the Joy of Clojure, which I'm really excited about. Currently the only two books out are Stewart Halloway's Programming Clojure, which is excellent. and Stuart Sierra's Practical Clojure, which is also very, very good. They are both focussed on Clojure 1.0, however, so you'll miss out on some of the features brought by 1.1 and 1.2. I own both, and can't recommend one over the other, though I might lean towards Practical Clojure purely for personal preference.
As for natural languages, hands down Mandarin. I spent the summer in Hong Kong, and while they spoke Cantonese there, it was still a fantastic introduction to Chinese culture.
While it is a much different language now, Erlang was originally based on Prolog, and has been adopted, modified and extended to be a much better "realworld" language.
You're bound to learn a thing or two while you go through the install, so jump in and have fun!
You can always integrate external services as needed anyway. I use google apps for mail. I wanted to use Google App Engine for another project, but being restricted to Python 2.5 was a bit of a deal breaker for me, so for now I'm just testing it on a sub-directory on my personal site. When I'm ready to launch it on it's own domain, I will simply get another VPS and push the site over to it.
I've managed to learn just enough html/css/javascript to be dangerous, now I'm moving on to server-side programming. What I like to do is this: Take an 11"x17" piece of paper, and write whatever it is I'm trying to learn in the centre and circle it. As I figure out what I don't know know about this technology, but need to, I draw a branch off the centre circle, for that piece of knowledge. And I continue to break it down as I go. This gives me a good visual of things I should start focussing on.
As a more concrete example, I'm using python as the backe end to my current side project. So in the centre of the page is a bubble for python. Off that I have different things I want to explore, so there is a bubble for Security, WSGI, templating engines, and SQLAlchemy. Off of security, there are bubbles for server hardening, XSS, etc..
Best of luck, there's lots of confussing technologies and non-sensical gotchas, but eventually it does start to make sense.
After that, it's all about balance. I use the iPhone app 'Lose It', which tells me my percentage of calories from fat, protein, carbs and alcohol. It also provides a companion website which shows you graphs of your intake, weight, etc... I find having my dietary data available has been the single biggest improvement in my ability to manage my weight. Though in my case, I've been desperately trying to loose weight. I have lost, and kept off 35lbs over the past year. (No, I have no connection to Lose It, just a very satisfied user).
The biggest thing you can do is have a portfolio ready. Show potential employers that you are capable with a great website. Examples of projects you've done, and what you are capable of are going to be absolutely imparitive.
As far as minimal skill set, you are going to want be very confident/comfortable with HTML/CSS as well as cross browser quirks. Familiarity with Photoshop is a definite asset, as you will be required to chop graphics at a lot of shops. I would go to major job search sites, and look at the qualifications for front-end web developers. See what employers are really looking for right now and focus on that.