Lazycoder

30Jun/109

The hardest part of software development has nothing to do with code

People who complain about how much “more” code they have to write in an MVC project versus a Webforms project, or really any project, prove to me that they have absolutely no idea where the REAL work is in ANY development project.

The main work in any software development project is FIGURING OUT WHAT TO BUILD. How you build it is trivial compared to the amount of time and effort you SHOULD put into discovering the users needs and working with them to solve their problems and make their life better.

Remember, that’s the number one purpose for any piece of computer hardware or software. This cannot be stressed and repeated enough.

COMPUTERS SHOULD MAKE OUR LIVES BETTER!

How do we write programs that make lives better? By writing programs that fulfill their needs and ease the pain of their work. We still aren’t at a point where we have a common, easy to understand vocabulary when it comes to build software. We often get it wrong the first, second, and third times. That’s where the discipline and engineering comes into play.

Share and Enjoy:
  • del.icio.us
  • DotNetKicks
  • DZone
  • Reddit
  • Digg
  • StumbleUpon
  • LinkedIn
  • Facebook
  • FriendFeed
  • HackerNews
  • Netvibes
  • Posterous
  • Tumblr
  • Twitter
27May/104

Quick jQuery hack to fix position:fixed toolbars in iPhone/iPad/iPod Touch

This is just a quick fix if your postion:fixed elements end up in weird places when your site is viewed on the iPhone, iPad, or iPod Touch.

Say you have a div with an id of "#footer" that you want to stay at the bottom of the page. If you set it's position to "fixed" and set the bottom to "0px". When viewed on an iPad, iPhone or iPod Touch, the footer may end up in the middle of your content if you have a long page.

CODE:
  1. //stick the footer at the bottom of the page if we're on an iPad/iPhone due to viewport/page bugs in mobile webkit
  2. if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod')
  3. {
  4.      $("#footer").css("position", "static");
  5. };

Share and Enjoy:
  • del.icio.us
  • DotNetKicks
  • DZone
  • Reddit
  • Digg
  • StumbleUpon
  • LinkedIn
  • Facebook
  • FriendFeed
  • HackerNews
  • Netvibes
  • Posterous
  • Tumblr
  • Twitter
18Mar/1010

Getting started with node.js on Windows

The title is somewhat misleading. As of right now, node.js doesn’t run on Windows. You have to run it on some kind of *nix/BSD based system. But there is a somewhat low footprint way to run it and play around with it on your Windows box.

 

Step 1 – Download and install VirtualBox orVMWare Player. I chose VirtualBox. It’s free, and supports 64-bit guests.

Step 2 – Download The Turnkey Linux core appliance and unzip it somewhere. This handy little virtual machine is based on Ubuntu and give you a basic command line environment with networking.

Step 3 - Import the Turnkey core appliance into VirtualBox.

turnkey_step_1

turnkey_step_2

Choose the .ovf file in the Turnkey directory you unzipped earlier.

turnkey_step_4

Click next and review the settings, making any changes as you see fit. The defaults should work fine. Then click import.

turnkey_step_3

Once Virtualbox finishes importing the virtual machine, you can start it up.

Assuming your network is configured correctly, the virtual machine will grab an IP from your DHCP server and be ready to go.

turnkey_startup

Step 4 – At this point you can either SSH into the virtual machine or you can connect using the web shell at the address indicated in the startup screen. Initially you can connect using as the root account with no password. You are almost ready to start installing node.js. First type "apt-get update" at the command line to make sure you have all the latest package information.

Step 5 – Install the developer tools you need to get and build node.js. Node.js isn’t packaged as a binary, you have to build it from source. Luckily it includes it’s dependencies and is pretty easy to build. But first we need to get a compiler. Type “apt-get install build-essential” and hit return. A lot of text will fly past, if it asks you if you want to go ahead press “y”.

Step 6 – Install Git. Now you’ve got a compiler installed, we have to install git so we can fetch node.js from the repository. At the command prompt type “apt-get install git”. Once that is complete, type “apt-get install git-core”.

Step 7 – Clone the node.js Git repository. If you want to put node.js is a specific directory, go ahead and make it then “cd” into the new directory. At the command prompt, type “git clone git://github.com/ry/node.git“.

Step 8 – configure the source for building. type “cd node” and change into the node directory that Git created. Type “./configure”. You may see a few “fail” messages. Don’t worry about them.

Step 9 – Build node.js. Type" “make” at the command prompt. Get a sandwich or a nice cool drink. It doesn’t take very long, but it’s not very exciting unless the Matrix screensaver is your favorite screen saver.

Step 10 – Install node.js and start build applications. Type “make install” once the build is complete. Once that is complete,you can type “node” at the command prompt and you should see the standard help information fly by.

 

Building a node module or application is beyond the scope of this short tutorial. I suggest reading up at the Node.js site.

Share and Enjoy:
  • del.icio.us
  • DotNetKicks
  • DZone
  • Reddit
  • Digg
  • StumbleUpon
  • LinkedIn
  • Facebook
  • FriendFeed
  • HackerNews
  • Netvibes
  • Posterous
  • Tumblr
  • Twitter
17Mar/10Off

Announcing the Border Radius Support plugin

I’ve developed a jQuery plugin that will detect the specific css styles for setting the border radius of elements that the browser supports. The plugin will return an object containing three boolean properties: moz, webkit, and css3. Each property corresponds to a corresponding css style property

moz – MozBorderRadius

webkit – webkitBorderRadius

css3 – BorderRadius

JAVASCRIPT:
  1. var supported = $(“#foo”).borderRadiusSupport();
  2. console.log(supported.moz); //true for Mozilla
  3. console.log(supported.webkit); //true for Safari, Webkit, and Chrome
  4. console.log(supported.css3); //true for Chrome

Support for more browsers may be added in the future.

Link to the repository on GitHub

Share and Enjoy:
  • del.icio.us
  • DotNetKicks
  • DZone
  • Reddit
  • Digg
  • StumbleUpon
  • LinkedIn
  • Facebook
  • FriendFeed
  • HackerNews
  • Netvibes
  • Posterous
  • Tumblr
  • Twitter
13Feb/102

Review of “Building iPhone Apps with HTML, CSS, and JavaScript”

This is a great overview of how to style your web site for the iPhone. It provides a basic introduction to HTML and CSS and covers some of the iPhone webkit specific CSS classes and meta tags. There is a brief introduction to the jQuery Touch JavaScript framework. The book also covers using the PhoneGap framework for writing native iPhone applications using HTML, CSS, and JavaScript.

Some of the highlights of this book include a helpful Pro/Con list at the beginning to help you decide if learning Objective-C and using CocoaTouch to write an iPhone app is what you want to do. It would have been nice to also cover, or mention, the Appcellerator mobile framework to build native iPhone applications. There are two great chapters that cover using client side storage in your applications and also techniques for making sure your applications work when the phone is offline.

If you are somewhat familiar with HTML, JavaScript, and CSS and want to write a web based iPhone application I would highly recommend this book.

Share and Enjoy:
  • del.icio.us
  • DotNetKicks
  • DZone
  • Reddit
  • Digg
  • StumbleUpon
  • LinkedIn
  • Facebook
  • FriendFeed
  • HackerNews
  • Netvibes
  • Posterous
  • Tumblr
  • Twitter
Filed under: Book Review 2 Comments
7Jan/102

Goals for 2010

So I've been mulling around what I want to do, at least in terms of my development skills and community type stuff, in 2010 (The year we make contact). I figure if I blog them up here, I can refer back to them and check on my progress at the end of the year.

  1. Help out with the MVC Turbine docs
  2. Finish my Ringbinder project and release it
  3. Write a simple little app for use at home in either Clojure or Smalltalk
  4. Continue to learn Python
  5. Write a small app that runs on the Google App Engine
  6. Write a blog post, either here or on my work blog, at least once a week
  7. Redesign this blog
  8. Work on and launch the coderdads.info site I've had in mind for a while

I'm sure I'll come up with more as the year progresses and I, hopefully, finish up these tasks.

Share and Enjoy:
  • del.icio.us
  • DotNetKicks
  • DZone
  • Reddit
  • Digg
  • StumbleUpon
  • LinkedIn
  • Facebook
  • FriendFeed
  • HackerNews
  • Netvibes
  • Posterous
  • Tumblr
  • Twitter