Score

Working Hard

I'm passionate about the work [coding] but not passionate about being worked to death.

From a discussion on Hacker News, about a ridiculous letter concerning the level of commitment for a chemistry post-doc
 

iPhone Wallpapers and Gradients

http://blog.urbanape.com/post/684440225/some-non-busy-iphone-wallpapers

This popped up in my feed reader (via Shawn Blanc). The are neat wallpapers, but I like the color choices most of all. Consider them filed away for future usage/theft.

I Want to Learn How to Program

Had someone recently ask me what path I would recommend for someone wanting to pick up "programming." I narrowed the scope down to writing web applications, and this is what I came up with.
  1. Learn HTML & CSS first. There are a million and a half free resources out there to do this. I have preferred HtmlDog.com as a reference recently. If you want to get a leg up on the future with HTML 5, check out Dive Into HTML 5 and perhaps consider the upcoming HTML 5 for Web Designers book.
  2. Learn the basics of JavaScript. JavaScript would be your first "real" programming language here. The problem is that there are a lot of really bad ways to learn JavaScript. Many online tutorials are ancient, and teach bad habits. You might consider starting at Mozilla's guide, or maybe Douglas Crockford's book. The key here is to just learn some of the syntax basics, so that you can then:
  3. Learn a modern JavaScript library. For the sake of argument pick jQuery or Prototype. These libraries make web development much easier. One thing that jQuery has going for it, is that it is far more googleable than Prototype. The word 'prototype' has special meaning in JavaScript, and therefore any searching you do with 'prototype' in the search box will be polluted with bad results. 
  4. Learn a backend programming language/framework. Ask yourself this question: do I want a job at a big corporation that is safe, but perhaps dull, or a smaller and more volatile, but cooler and more application driven environment? If you want the big job, pick up .NET or Java. Out of either of those, I highly recommend ASP.NET MVC as a framework, although it has been slow to adopt amongst the big .NET based firms. For the leading edge of app development, I'd recommend either Ruby On Rails or Django. Neither of which will likely get you a job with health insurance and a 401(k), but they are favored by startups, and tend to be the source for leading edge web application and design.
From that last category, I'd recommend Rails. It is a very mature product, and there is an extremely vibrant community of developers around it and helping it grow. Additionally, the documentation is excellent and easy for someone to pick up.

PHP is also favored amongst newer programmers, but my recommendation is to stay away from it. It is easy to pick up, but in my opinion the ceiling is just too low in terms of what you can do with that skillset. The majority of big company jobs stay away from it, and the majority of startup and smaller companies have flocked to Rails or similar frameworks. 

Obviously, this is not the only way to go, and if you truly want to learn software development there are several dozen more steps that you would need to take. This is just a high level view for someone interested in web development.

Weighty Issues

Weighed in today at exactly 199 pounds, down from 235 in November. This is the first time I've been under 200 in probably 10 years. I'm not done yet either; I'm aiming for 185-190 range, but this was a big enough milestone, that I felt like writing about it.

I didn't do any weird diet or use any Thighmaster-like gimmick, just kept it simple: eat less bad food, exercise more. Exercise consisted of weight training and/or cardio. Right now I'm getting a little tired of weights, so I've been focusing more on cardio.
I've been doing this for about 6 months now, and can:
  • Run one mile in 8:30. 
  • Run a 5k in 28:30. These aren't all that impressive, but I haven't been focusing on the running until recently.
  • Bench press 170 pounds at 5 reps in 3 sets.
  • Squat 195 pounds at 5 reps in 3 sets.
Amusing anecdotes:
It was easier to exercise and lose weight while traveling! The only things to do out in Texas were watch TV, surf the Internet, and go to the gym. Now that is over with, I actually have a reason to stay home, so I spending an hour and a half at the gym is out of the question.
Sweaty clothes can add a not-in significant amount of weight. After I did my first 5k, I was pretty drenched. I hopped on the scale and saw that I had gained 3 pounds since the prior day. "BS" I thought, stepped off, peeled off the shirt, and weighed in again to a more normal amount. And if you thought that description was gross, read what I said on Twitter about it.

Cloud Music, pt II

I was pretty bummed when Apple killed Lala. I do have a sliver of hope that they did it because they were launching their own version of a cloud based music app, but it is only slightly larger than the hope that I'll wake up one day and be able to shoot lightning from my fists. 

Fortunately, even if they don't, it looks like Google will. Money quote:
Gundotra also announced that Google recently made an aquisition: Simplify Media. Using this technology, Google will soon offer a desktop app that will give you access to all of your (DRM-free) media on your Android devices remotely.

Now, if they would just make a music playing app on Android that was worth a crap.

Use Facebook, But

I'm kind of on the fence with Facebook. On the one hand, it let's me share news, pictures, and information very easily with friends and family. On the other, it's run by people who are either incompetent or outright malicious with their practices. Just read a couple of these articles to find out just how they feel about your data (some articles contain R-rated language, mom):
This stuff seems pretty bad, especially the cavalier attitude their CEO has with regards to privacy. The crazy part is: they do not have any reason to change. Over 35 million people check their Facebook pages at least once a day (I'm one of them). So unless they take a significant hit in the pocketbook, why would they change?

I'm not calling for a boycott here, that's just a little silly. And Facebook does still provide a useful utility; there just isn't a better way for me to keep up with my circle of friends out there. However, I am careful with what is on my Facebook. I don't install any apps or games, I monitor my privacy settings every little while or so, and I don't use status updates for anything serious.

So use Facebook, and have fun, but exercise some caution. Do not post anything on it that you wouldn't mind having shouted from a megaphone to the entire planet. 

Programming Languages

This is bordering on email forward territory, but it's my blog and if you don't like it, go play in the traffic.

“Which programming language should I learn first?”
Depends.

To program in an expressive and powerful language: Python
To get a website up quickly: PHP
To mingle with programmers who call themselves “rockstars”: Ruby.
To really learn to program: C.
To achieve enlightenment: Scheme.
To feel depressed: SQL
To drop a chromosome: Microsoft Visual Basic
To get a guaranteed, mediocre, but well paying job writing financial applications in a cubicle under fluorescent lights: Java.
To do the same thing with certifications and letters after your name: C#
To achieve a magical sense of childlike wonder that you have a hard time differentiating from megalomania: Objective C

I could go on… but I’m not feeling hateful enough today.

(via http://iamgabeaudick.tumblr.com/post/576987756/which-language)

Amusing Bad Programming Tip

Say you have a class with a property that's a string. Using object initializers you can do this little nugget:

Product p = new Product { ProductName = Console.ReadLine() };

It will work as you'd expect (prompt you for input, then assign it to ProductName). However, that's pretty easy to miss when you're quickly scanning code. I'm generally in favor of fewer lines of code, but in this case it would be good design to just break this into two lines.

On Portfolios and Passion

I find that photographers that focus on one particular area of photography and building a portfolio of work in that area, tend to develop a more cohesive style. Plus, they are happy because they are photographing what they love to shoot. You’ll never find a more unhappy photographer than a passionate sports photographer shooting weddings.

Via Jorge Quinteros (who himself was quoting Lisa Betthany). Definitely true.

About

These are my mostly unfiltered thoughts.