Today's Question:  What does your personal desk look like?        GIVE A SHOUT

 ALL


  Writing forward-compatible websites

This is a list of best practices for creating websites that do not break when browsers are updated. It's not always possible to follow all of these, but following as many of them as possible will help future-proof your website. This is especially important for intranet applications and other non-public websites where problems are likely to not be noticed during testing by browser vendors.JavaScriptPrefix all global variable access in onfoo attributes with “window.”When an event handler content attribute (onclick, onmouseover, and so forth) is used on HTML element, al...

2,072 0       JAVASCRIPT WEB DESIGN CSS WINDOW FORWARD COMPATIBLE


  Basic Patterns for Everyday Programming

For most of you the patterns mentioned below should be nothing new. These are very basic stuff we slap into our code everyday and at times feels they are actually code smells than smart patterns. However, I've been doing some code reviewing lately and came across many code that lacks even these basic traits. So I thought of writing them down as a help for novice developers who would want to get a better grasp at these.These patterns are commonly applicable in most general purpose programming languages, with slight syntactical changes. I use Ruby and JavaScript for the examples in this post.Ver...

4,527 0       JAVASCRIPT CODE PATTERN FUNCTION NULL ASSIGN DEFAULT VALUE


  Open Source (Almost) Everything

When Chris and I first started working on GitHub in late 2007, we split the work into two parts. Chris worked on the Rails app and I worked on Grit, the first ever Git bindings for Ruby. After six months of development, Grit had become complete enough to power GitHub during our public launch of the site and we were faced with an interesting question:Should we open source Grit or keep it proprietary?Keeping it private would provide a higher hurdle for competing Ruby-based Git hosting sites, giving us an advantage. Open sourcing it would mean thousands of people worldwide could use it to build i...

2,814 0       OPEN SOURCE ADVANTAGE POPULARITY BENEFITS ADVERTISEMENT


  Going Fullscreen with Canvas

As notes in the Release Notes, Firefox Aurora introduced the Fullscreen API. This means that it will appear in the release version of Firefox in about 3 months.This is one of several features that will be fantastic for games on the web. Other exciting APIs are theGamepad, Canvas, and Audio. Some of these APIs still need work to be suitable for real-time games, but it’s a great time to be involved in building games for the web.I wanted to try out the Fullscreen API so I built this demo. This should work in both Firefox and Chrome. Try it out:Go FullscreenView the sour...

3,196 0       HTML5 CANVAS FULL SCREEN 2D DRAWING


  Scala feels like EJB 2, and other thoughts

At Devoxx last week I used the phrase "Scala feels like EJB 2 to me". What was on my mind?ScalaFor a number of years on this blog I've been mentioning a desire to write a post about Scala. Writing such a post is not easy, because anyone who has been paying attention to anti-Scala blog posts will know that writing one is a sure fire way of getting flamed. The Scala community is not tolerant of dissent.But ultimately, I felt that it was important for me to speak out and express my opinions. As I said in my talk, if it was just me that had a poor opinion of Scala I would probably keep quiet (or t...

1,921 0       SCALA FEATURE MODULE EJB CONCURRENCY


  JavaScript JVM runs Java

The world of software is made slightly crazy because of the huge flexibility within any computer language. Once you have absorbed the idea of a compiler written in the language it compiles what else is there left to gawp at? But... a Java Virtual Machine JVM written in JavaScript seems like another level of insanity.In fact it is a quite reasonable idea which is only made mad by the usual positions that Java, the top dog, and JavaScript the underling, usually occupy. Java is compiled not to machine code but to a special byte code which is then run on a virtual machine which is usually implemen...

4,728 0       JAVASCRIPT JVM BICAVM CROSS PLATFORM JAVASCRIPT WRITTEN JVM


  Solution to IE setAttribute style problem

In IE7, the JavaScript setAttribute("style","attributes") doesn't work, but it works in IE 8 and other web  browsers. To solve the STYLE problem in IE 7 we can use a workaround method.we can use element.style.cssText = 'color:#FF0000;';in IE 7 instead ofelement.setAttribute('style','color:#FF0000;');...

4,186 0       JAVASCRIPT STYLE SOLUTION SETATTRIBUTE IE NOT WORK


  Why Software Projects are Terrible and How Not To Fix Them

If you are a good developer and you’ve worked in bad organizations, you often have ideas to improve the process.  The famous Joel Test is a collection of 12 such ideas.  Some of these ideas have universal acceptance within the software industry (say, using source control), while others might be slightly more controversial (TDD).  But for any particular methodology, whether it is universally accepted or only “mostly” accepted, there are a multitude of organizations which don’t employ them.  There are many, many shops that do big bang testi...

2,748 0       DESIGN SOFTWARE DEVELOPMENT DEBUG