Save the developers. Upgrade your stupid browsers already!

I wished we had something like this long ago. I hate developing CSS and DOM scripting for IE6 separately from newer browsers. It always goes something like, “OK, all done! Oh, crap, I wonder what it looks like in IE 6…”


Please join me in backing this movement. I hope this movement continues for when other browser versions become obsolete. Clearly I wouldn’t suggest this for my clients’ sites, per se, but I don’t mind adding this to my own personal sites in order to raise awareness of what happens when people wait too long to upgrade their browsers.

Mastery of code is not enough

Jeff Moser has written a great, albeit long, article about what makes someone a “grandmaster developer”. I’m less interested in the mathematical formula for what makes someone a great developer, and more interested in the human aspects that make a developer great.

In an attempt to add to what Moser has written, I’d like to reinforce that learning and mastering a programming language, or even multiple programming languages, is not the key to becoming a great developer.


NOT ENOUGH

There are two sides to developing software for people other than yourself. There’s mastery of Computer-Human Interaction, and then there’s mastery of Human-Human Interaction. You have to be able to interact well with other humans if you’re going to make money developing software.

Furthermore, if you make sure to spend time working on the human stuff (the stuff not directly related to making the text on the screen blink), that stuff will transfer over to new technologies. If you’re big on Java and want to transition to C#, or you’re big on C# and want to learn a little PHP to broaden your skillset, the human stuff will not change. It will also carry over to non-technical jobs, which will be nice when the Internet falls apart and we all have to go back to normal jobs.


If you’re a developer looking to sharpen your skills
, remember not to focus on technology alone. You should study your own interactions with people and, if possible, feedback you’ve been given about your interpersonal skills. This is extremely important.


If you’re an employer looking for developers
, you should evaluate peoples’ personalities and communication skills as well as their technical knowledge or other education. Cultural fit is important, but also look for a level of participation and inquisitiveness that indicates that someone is passionate about creating software that isn’t just technically solid, but also satisfies the people who pay for and use it.

Damn you, Moore!

OK, the rule goes like this: If there is some technology that could use an update, then I just have to buy it and the update will happen a few days later.


Kapuda on iPhone

Apple released 16GB iPhones and 32GB iPod Touches.

I’m cool with Moore’s Law and all, but this is just silly. It happened with my MacBook and my Canon SLR within a week, too.

This isn’t a political blog, but I have to thank my friend Bryan for pointing this out:
The Apple Fanboy’s President: Barack Obama (Obama’s Top Ten List on Letterman).

LINQPad offers interesting alternative to SQL Mgmt Studio

Nice!


LINQPad

http://www.linqpad.net/

LINQPad lets you use the new LINQ language and execute queries in a lightweight environment outside of Visual Studio and SQL Management Studio.

Pros:

  • Make simple queries to a database for debugging, etc.
  • Get results with a LINQ query before using it in managed code.
  • Use LINQ to debug data regardless of the platform of the app that uses the data. For instance, a .Net 1.1 app could be debugged with LINQ using LINQPad.

Cons:

  • Queries run slower than straight SQL.
  • Only works against a Mircosoft SQL Server database.

ASP.Net MVC Framework Vs. Ruby on Rails

I just got back from a presentation by Scott Hanselman all about ASP.Net MVC.  I want to share not only a pessimistic prediction coming true, but also my optimistic views on ASP.Net MVC.

Rails is another MVC (Model View Controller) framework which most commonly uses Ruby as the programming language, hence the term “Ruby on Rails”. Back in early 2007, I learned me some Ruby on Rails and got some great crash course experience creating a rather complex web app for an actual paying client. That sure was fun.

I fell in love so quickly with certain concepts of Rails and features of the framework that I came to an inevitable conclusion: Microsoft is so gonna copy this.

After seeing both of Scott Hanselman’s recent presentations on ASP.Net MVC, I created this comparison (Table 1) between ASP.Net MVC and Ruby on Rails, at least the way I see it at this point. This includes what I’ve seen with my eyes as well as what I know MS is going to think of before they release it. It’s pretty unscientific really, but check it…

Table 1:

Ruby on Rails ASP.Net MVC
Pretty Much Everything Ruby on Rails has checkmark checkmark

But anyway, now for the optimism. Here are some reasons I think ASP.Net MVC is going to be a great thing:

  • Like Silverlight, .Net developers will have another tool at their disposal which does something very similar to other existing tools, but with much less of a learning curve. This may sound like an underhanded compliment, but it’s true.
  • Conversely, this framework will reduce the learning curve for those coming into ASP.Net from platforms such as Ruby on Rails, PHP, and Java. It’s kinda old-skool thinking, but in a nu-skool way. Ignore the fact that the last sentence didn’t make any sense at all.
  • The framework allows what Scott calls “separation of concerns”, which actually means a lot more in ASP.Net MVC than it meant back when ASP.Net 1.0 was released. It means that your presentation, logic, and data layers need not know anything about one another. If you don’t know what this means, it’s much too lengthy an explanation to post here, but I assure you it’s nifty.
  • Remember cursing the advent of postbacks, viewstates, and only being able to have one form tag on any page? ASP.Net MVC gets rid of these things inherently. You can have as many forms as you want, as you completely control the output (unless you keep using the old Web Controls, but you don’t have to). The perceivable downside is that you have to handle posts and events by hand, but to some, that’s not a bad thing (think AJAX). One huge upside is that it’s super easy to change the output based on what device or platform is making the request (think cellphone, AJAX, etc).

The Viral Self-Expression of the Wook

When I signed up for MySpace a few years ago, I had no desire or intention of making it a place to express myself.  I have my own domain name, and if I were going to express myself somewhere, it should naturally be there, right?

Well, somehow over the years I’ve added little things to my MySpace page here and there and have ended up pretty much unintentionally creating a distinct impression of myself on the Web.

How did it happen?

It all started with horizontal scroll bars.  I’ve never liked them (who does?).  After a while of putting up with large images in my comments blowing out the page, I noticed a friend had done something to constrain the images to a small size in order to prevent blowouts and horizontal scrolling.  I wanted it, so dug around and found the code and added it to my page.  Voilà!

As time wore on…

  • I tweaked the colors a bit.
  • I found one of my favorite songs and added it to my page.
  • I added some images that are funny if you know me.
  • I added a background image and a color scheme that I like.
  • I eventually went so far as to add a “splash” graphic at the top (pun totally intended).

Now today, after years of small tweaks, I have a MySpace presence that says a lot about me, was created by me, and, I’m willing to admit, was instigated by seeing what my friends were doing to their profiles.

The point:
The desire to modify one’s profile can be viral.

Food for thought:

  1. Would facilities for social self-expression benefit your website?  It doesn’t need to be a social networking site in order to qualify.
  2. How can social self-expression be facilitated in your website?
  3. Can customization techniques somehow be intentionally made more viral?
  4. What could I/you/we do to improve upon what sites like MySpace and LiveJournal have done for social self-expression on the web?

Note:
Please bear with me while I work on laying out the comment area.  It functions, but it’s not pretty just yet.