Archive for January, 2007

Some hope for subversion on the mac

Tuesday, January 30th, 2007

As I alluded to in a previous post, it is possible to integrate subversion into finder with applescript.  In fact someone has already done this SVN scripts for Finder  .  I haven’t yet played with these, but they are open source, so I hope to contribute.

Why web 2.0 wrankles

Tuesday, January 30th, 2007

Most programmers I know hate the term web 2.0 .   It sounds like something a sales guy would say.  I have seen ads for programmers that say “If you love what web 2.0 can do, but hate the term, we are the place for you”.  It just all sounds so synthetic.

There is new stuff happening with web apps.  There is more participation now then there was in the late 90′s.  The UI is better.  Tech people like all that, but why don’t they like “web 2.0″?

Web 2.0 is a finite judgement of something that is very fluid.  In fact one of the hallmarks of web 2.0 apps is there lack of version numbers, constant revision and improvement.  The term is out of place, something out of the last decade when MBA’s decided what a product would be, in total contrast to communities and user generated content.

Subversion on the mac

Tuesday, January 23rd, 2007

It’s painful, very painful.  I need to get better with the command line client, but I still miss Tortoise.  SCplugin simply doesn’t work on Macintel, not even the pre-compiled nightly build.  For a while I used svnX but I’m still not that impressed with it, because its a standalone application.  A friend recomended smartSVN a standalone java app, I haven’t tried it yet.

For now I am using tortoiseSVN under windows on my shared folder.  Yes it is an utterly inellegant solution.  Yes I’m paying 256 + megs of ram just for a version control client.  But most importantly, YES VERSION CONTROL IS THAT IMPORTANT.

Right now I’m thinking of writing my own tortoiseSVN clone with applescript and shell scripts.

Switching to the mac (keyboard shortcuts)

Tuesday, January 23rd, 2007

This seems to be an obligatory blog post nowadays.  Two months ago I got my first mac.  I have used PCs since I was 7 and it was a tough change, I’m happier for it though.  There are things the mac just gets right, there are other things that will annoy out to no end.  Here are some of the things that I had the hardest time finding.

Cmd = Apple = Cloverleaf logo  = ⌘

Ctrl = ^

Shift = Up Arrow =
Option = alt = ⌥

⌘-Space = open the spotlight search box

this is the fastest way for me to find programs without cluttering up my dock.

⌘ ` = apple-tilde key switch windows in the current app
This was key to be able to navigate os x with the keyboard.

^ Scroll wheel = Zoom screen in

You need to enable this in

System Preferences > Keyboard & Mouse > Mouse > Zoom

This zooms the whole screen in

⌘^⌥8 = show negative image of the screen

This turns all your whites to blacks and vice versa, it makes some text much easier to read.   You need to enable this in

System Prefernces > Universal Access

What enabled web 2.0

Tuesday, January 23rd, 2007

In my web 2.0 class at Cooper Union, we have talked about what enabled web 2.0,  Sanford’s argument is Moore’s law.  I have a slightly different take.

None of the things we are doing with web 2.0 are particularly new in computers (other than video), what is new is the medium.  Computers could drag and drop graphical elements in the 80′s, they could communicate with one another in the 70′s and the 80′s, they could accept user generated content in the 70′s (think data entry clerks typing into terminals connected to a mainframe).  Hardware wasn’t the primary limiting factor preventing web2.0 type apps in the mid 90′s , programmers were.

Programmers had a lot to get used to with the web in the mid 90′s, writing portable code was more important than ever before (HTML/Javascript) and there was a whole wealth of possibilities that most programmers hadn’t wrapped their minds around yet.  Some were there, Slashdot especially pops to mind.  But on the whole it took them a while to familiarize themselves with the concepts of interactive community oriented sites, and get the basics firmly established (dynamically generated pages, web servers communicating with databases).  Once they did, and saw other people building web 2.0 type apps they said “Hey this isn’t that hard, I can do that” and they did, thus we have now have a lot of web 2.0 apps now.

Publicly available subversion host

Tuesday, January 23rd, 2007

Subversion is crucial for my development efforts, without I spend a lot of time getting frustrated with things that should be easy.  Subversion is very useful even when I’m the only coder on a project, it is a necessity for collaborative development.   I wanted to get a subversion server that I could access anywhere in the world and that clients could access, they can’t get to my linux box sitting behind my cable modem.

I looked at getting a virtual private server, you get a good amount of space with them, but you have to setup subversion yourself.  Dreamhost now offers subversion hosting too, but I have heard mixed reviews about them.  Version control isn’t something I wanted to skimp on.  I ended up going with CVSdude hosted subversion.

I’m really glad I did, I pay less than a VPS for something that is up right now.  For $30/month I get unlimitted repositories (each client will get their own repository), and 5 Gigs of total space.  I also get web-svn, bugzilla, VC, and Trac project management.  Each repository gets its own trac setup.  All of this is managed with a decent web interface (it’s table based :( ), and it just works.   I probably saved at least 2 or 3 days of sysadmin work by going with CVS dude.  Comparative advantage is a great thing to remember.
The CVS Dude service has been good.  They have a good pipe, I get 40K up, and 600-900k down, I’m pretty sure my cable modem is the limit, those are about the most I get for uploads and downloads for other activities.  I misnamed my repository initially, thinking I was picking my admin name, instead that was the base name for all my repositories.  A short email to their support fixed that in a couple hours.  I am concerned about looking professional with a repository URL that looks like  luckily I can get a domain name for my repository and they say it will work.

Getting ie6 to cache background images

Wednesday, January 17th, 2007

to make ie 6 properly cache background images run add this command do your javascript


This makes IE properly cache background images, without this, if you have the same background image applying to multiple items on a page, ie checks with the server for each image. Sometimes this will result in hundreds of requests for bg images, slowing down page loads.

This in itself is very useful. You can really take advantadge of it by making sprite maps, multiple background images rolled into the same image, you then use css background positioning to put the part of your sprite map that you want over the div you want. This can cut the number of images loaded on each page load immensely.

Here is a spritemap that I created for aimpages

These are a couple of rules related to that spritemap.

#panelHeader #add_module:hover, #panelHeader #style_page:hover {background:url(../images/blsm.gif) 0 0 no-repeat;color:#FF7A00; } /* style_page_on3.gif */
#panelHeader,#panelHeader {background: url(../images/blsm.gif) -307px -369px no-repeat;color:#000;} /* page_info_tab2.gif */
#panelHeader, #panelHeader,#panelHeader {background: url(../images/blsm.gif) 0 -369px no-repeat;color:#000000} /* style_mod_tab2.gif */

You can view the whole css file here

I found this technique here,

Welcome to my blog

Wednesday, January 17th, 2007

I have stopped procrastinating… here it is

Hello world!

Wednesday, January 17th, 2007

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!