Christian Heilmann

You are currently browsing the archives for the General category.

Archive for the ‘General’ Category

In need of a new title

Tuesday, July 3rd, 2007

Just like the Childlike Empress in the Never Ending Story I am right now without a proper name for my new role.

Yes, that is right, I slipped into a new role in my current job and boy is it something I wanted to do for years and years. However, the dilemma I am in is that the job is so versatile and multi-facetted that I have trouble coming up with a proper job title! This is where you come in. Can you think of a good job title that explains my following responsibilities?

Responsible for the following key areas related to Code Quality, Code Reuse, Talent Acquisition and Talent Development.

  • Internal training and code review in key technologies and development standards.
  • External evangelism and assessment of these technologies through the engagement of developer communities.
  • Supporting internal teams in identifying, assessing and hiring new talent.
  • Developing new tools that will support development standards to help us build better products faster.
  • Build and maintain front-end code libraries for reuse

Any ideas?

[tags]whatsinaname,title,jobtitles,developer,webdevelopment[/tags]

Collapse Flickr comments – My first greasemonkey script

Friday, June 29th, 2007

I couldn’t sleep because of this bloody cold and thought I give Greasemonkey a go. One of my biggest annoyances in flickr is that when you comment on some very popular photo (normally containing a pretty lady and some nudity) you have to scroll through dozens of long comments in order to reach the next photo and comments. This gets exceedingly annoying when people think it is needed to have images depicting “flickr awards” that are as big as they are ugly.

Anyways, the script collapses all the comments and adds “+” links that allow you to show and hide the list of comments for each photo.

Greasemonkey script to collapse comments

Hope it is helpful, my flickr experience became a lot less aggravating :)

[tags]greasemonkey,script,hack,flickr,comments,collapsing,interface,flickrhack[/tags]

Shortening JavaScripts with Math

Thursday, June 28th, 2007

I just went through an exercise for a DOM scripting course with the YUI and had the task to write a function that takes any element and centers it at the current cursor position. I also wanted to make sure that the displayed object never causes scrollbars or gets cut off when the cursor is too high up the document.

Getting the size of the object and the browser constraints was easy with the YUI. I sent the object as o and e is the event:

var size = YAHOO.util.Dom.getRegion(o);
var oHeight = size.bottom - size.top;
var oWidth = size.right - size.left;
var screen = [YAHOO.util.Dom.getViewportWidth(), YAHOO.util.Dom.getViewportHeight()];
var curpos = [YAHOO.util.Event.getPageX(e), YAHOO.util.Event.getPageY(e)]

Now I had the problem of keeping the values in the constrains. Centering the element was easy, you just substract half of the height from the vertical position and half of the width from the vertical cursor position.

var x = curpos[0]- oWidth/2;
var y = curpos[1]- oHeight/2;

I then had to compare both with their constraints and set them to the appropriate values, which was a lot of if statements:

if(x < 0){
x =0;
}
if(x + oWidth > screen[0]){
x = screen[0] - oWidth;
}
if(y < 0){
y =0;
}
if(y + oHeight > screen[1]){
y = screen[1] - oHeight;
}
clunky, and I shortened it using the ternary notation:
var x = curpos[0] - oWidth/2;
x = x < 0 ? 0 : x;
x = x + oWidth > screen[0] ? screen[0]-oWidth : x;

var y = curpos[1] - oHeight/2;
y = y < 0 ? 0 : y;
y = y + oHeight > screen[1] ? screen[1]-oHeight : y;

lt felt terrible. I then remembered the Math object in JavaScript and that it has two methods that are terribly useful in this case: min() and max(). Both return a value that is either the smaller or the larger value, which means you can use it to constrain a value to a certain range. Using Math, the whole logic can be done in two lines of code:

var x = Math.min(Math.max(curpos[0] - oWidth/2, 0), screen[0] - oWidth);
var y = Math.min(Math.max(curpos[1] - oHeight/2 ,0), screen[1] - oHeight);

That is not the end of it, though. If you know that you should get back a number, you can use max() to normalize browser differences, like the Dom utility of the YUI does:

var scrollTop=Math.max(doc.documentElement.scrollTop,doc.body.scrollTop);

This works around the MSIE issue of reporting different values for scrollTop depending on which rendering mode you are in.

[tags]webdevtrick,javascript,math,comparisons,beginningjavascript[/tags]

DOM JavaScript Cheat Sheet

Wednesday, June 27th, 2007

I’ve just put together a small DOM cheatsheet for some developers here and thought why not share it and CC it in case it can be handy for you, too:

DOM JavaScript Cheatsheet

Click the screenshot or download the PDF version of the cheat sheet (85KB) here.

[tags]DOM,JavaScript,helper,PDF,cheatsheet,Creative Commons[/tags]

The 39 steps – in one step

Monday, June 25th, 2007

Friday I gave myself a treat and checked out the new comedy stage adaptation of Hitchcock’s The 39 Steps. For all the peeps in London: go and see it, it is well worth the money and seeing 4 actors play about 12 roles switching costumes, props and accents at a terrible speed was something I hadn’t seen before. The creativity of using very limited means to give the impression of a large range of sets (indoors and outdoors) was a joy to see and reminded me a lot of the stuff we have to go through daily to make things work on the web.

Coming home I wanted to see the movie again, and ordered a copy of the DVD second-hand on amazon (after having struck out at all the small DVD stores in Soho – yes the ones that cover the basement porn shop with old DVDs and books on the upper floor). Right after I ordered the DVD I remembered though that I could have saved myself the hassle, as movies as old as The 39 Steps (1935) are very likely to be available online for free. Of course there will be illegal torrents of DVD rips, but you can get old black and white classics legally at Archive.org, too. Here’s a short list of what you can download in various formats (ogg, Mpeg, Mpeg2, divx):

[tags]theatre,hitchcock,39steps,archive,internetarchive,movies,vintage[/tags]