Array-like Objects in JavaScript

It make look like an Array, hell, it even has a length attribute; however, it may not actually be an Array. JavaScript is sometimes a quirky language to say the least and the notion of what is an Array is no exception.

So what are these array-like objects that I speak of? Well there are a few of them, one of which is arguments. arguments is a special variable that is available inside the body of every function. It is in fact, the list of arguments that were passed in.

Continue reading

Safari 3.0 and the Submit Button

Safari has come out with their public beta and every is excited because the browser is now available for Windows XP/Vista; but there is also a beta available for Mac users.

So I downloaded it and I started to use it. I love the ability to resize text areas and there is a Web Inspector (only for OS X) that allows you to see what properties are available to HTML nodes and their styles.

So I was using it and I noticed something: Safari now styles submit buttons. Do you remember that aqua button that you could never do anything to? Well now it responds to border stylings and the like. Interesting.

Migrated My Blog to Slicehost

I previously mentioned that I was experiencing pain points with dreamhost and I have finally done something about it. I purchased a slice from slicehost and set up my own Ubuntu box.

So now instead of Apache and FCGI running the show, I am using Lighttpd and Mongrel and I must say, it’s running much faster! In addition to running fast, holy crap is mongrel eating up some memory. I purchased the cheap slice, so I only have 256 megs of RAM(Random Access Memory), but 1 mongrel instance is taking up about 25% of my memory, and this blog isn’t the only blog I’m going to be hosting.

Because of this, it looks like I may be saying good-bye to Typo and am going to move to WordPress unless anyone out there has any suggestions.

Customize Your Rake Files

Rcov is a handy tool to make sure that your tests have at least run every line of code in your application. This is very useful if you have forgotten to write a test for a method, or if inside of a method, you forgot to test a conditional statement. Because I find this handy, I incorporate the rcov plugin in my rails applications.

Running rake test:functionals:rcov, my report shows me a long list of items, some of which I don’t want to see. I don’t want to see the coverage of my models in the report. I should get that report by running rake test:units:rcov. Luckily, the plugin allows for me to set arguments like SHOW_ONLY="app/models". But get this, I’m lazy and I don’t want to type that argument let alone remember it every time I want to run the rcov tests. What to do?

Continue reading

Firebug and the Console API

Among the many Firefox extensions out there, there exists Firebug and it is good. It is truly an amazing piece of software. There is a CSS(cascading style sheets) viewer, so that when you inspect an element in the DOM(document object model), you can view all of the CSS attributes that apply to that element. Not only does it show you the applicable CSS rules, it breaks it down to the styles being used and to the styles which have been overwritten. Very nice. There are many other things it does, but one feature in particular that I don’t think I would want to live witout is the console API(application programming interface).

Continue reading

Blocks and Helpers, a Lovely Combination

Blocks rock and I couldn’t agree more. The functional programming aspect of ruby has started to interest me more and more. Blocks are used all over the place, with respond_to, collect, returning and ActionView::Helpers::FormHelper#form_for.

Sometimes, a design requires a little extra markup, perhaps something to get that rounded corner to work or what-have you. Now let’s say this piece of code requires certain classes, a certain kind of structure, including a tile, and has to be used in many places, something like a sidebar piece. Instead of copying and pasting this structure over and over, you can use a helper to make you life easier, and if you combine it with a block, it will just feel even more painless.

Continue reading