When I was younger I did alot of talking and thinking and reading and exploring and all the typical stuff college kids do to find themselves. But unlike most college kids, I did most of this work to define my principles when I was in elementary and middle school.
Today i got an email from a guy who saw my profile on Facebook and asked me why I am agnostic. Typically I don’t discuss anything that personal with anyone who I am not close with, but I decided to indulge him.
I’m not reposting my response to him to start a debate or conversation with anyone, it’s just simply because it’s my personal, subjective truth. And I think it says a little bit about who I am as a friend, a developer and a man.
i’m agnostic because i feel that it is self-righteous for a person to claim they know the truth about anything beyond scientific understanding and reasoning.
i do understand that all definitions of g-d have been a tool used by man to explain nature as well as an instrument in teaching morality and healthy ways to live.
all of our moderrn understandings and beliefs (within the past 5000+ years) about what g-d is (or could be) are taught through documents that were written (and rewritten as they saw fit) by men. (archeological record of the practice of hinduism has been traced back more than 10,000 (and in one case approx 30,000) years).
these modern beliefs can’t possibly negate and be “more true than” the beliefs of those who lived before these modern beliefs existed.
and since proclaiming that there isn’t a g-d or any other external higher being is equally self righteous, i am agnostic.
This post which was originally written just after the FOWD NYC conference somehow got eaten by the wordpress monster… I have just now found it and decided to repost
So I’d really like to head down to Miami at the end of February for FOWA. IMHO web applications are more interesting that “web design” these days anyway. I have some friends down in Miami that I never get to see. I also generally like to run around and not work for a few days and be social with other geeks, attractive female designers who are too young for me to talk to, and friends 10 years older than me who usually can’t guess my age if they don’t know it already. (oops, did I just give something away?)
I’ve decided to make this year (2007-2008) the time for me to spend more of my personal money than I’d care to, to attend a number of conferences. This decision was made in August when I quit my job at Ultra16 and lept back into the world of consulting. So far I’ve hit the Ajax Experience (a very expensive social event with tons of smart people and good information, and catering) and the Future of Web Design (a $200 social event that was a bit of a mess, followed be Media Temple sponsored drunkenness which was great fun). I am considering FOWA, Web Directions North (a great chance to get some “better than Vermont” snowboarding in this winter, and I already have tickets to SXSW Interactive.
I was a little disappointed in the FOWD conference. I’ve been thinking about it and I’ve decided to tell you guys why. The following may read as a rant, or a bit of a slam. If it offends anyone, then I suggest they respond by organizing a conference that isn’t thousands of dollars and is also worth attending for more than just having a chance to socialize.
the future of conference formats
A one day conference with one room and one stage sounds to me like more of an overbooked mid-90’s style rock festival than a web conference. An enoromous room with tons of echo just adds to the sentiment.
Many of the speakers at FOWD either ran short or long. The notables I think were Josh Davis‘ dirty mouth (bravo), Jon Snook and the guys from VIRB who’s names I can’t recall at the moment Ryan Sims & D Keith Robinson. There was a bit more “evangelizing” than I think anyone needed. I can’t believe people actually work as corporate technology evangelists. I have alot of respect for folks like Jon Resig, Kevin Hoyt, etc. But isn’t having the word “evangelist” on a business card a little creepy? Sorry for the sidetrack…
It seems that a split format with some longer and some shorter sessions happening in parallel and in smaller spaces would have made FOWD a much more enjoyable and possibly more educational experience.
The food available was also pretty bad as well. It wasn’t very expensive, however there were ZERO vegetarian options that I could find, so I ended up having to go hike a couple of avenues just to find food that I could eat anywhere near the Javits Center where it was held. Thank goodness we were in New York.

I just wanted to say thanks to facebook for spending three seconds to protect my email from potential spam. Using the old "send an encrypted string to a serverside script that generates an image" trick, my contacts on facebook are able to see all of my info, but it's still not succeptable to scraping.
CODE:
-
<img src="/string_image.php?ct=AAAAAQAQJvT9BrR78jYrS6YLTQhkzgAAABOm0eP9WnzgwUOWanSASFCfsuBdruoGjUA%3D&fp=8.7&state=0&highlight=" border=0/>
generates this

I wonder when / if there will be a vcard/hcard export for your friend's info ala linkedin?
This article seals the deal. Well, until I have enough extra cash laying around to get a macbook pro, I'm definately not going to be throwing any money at the purchase of anyone's operating system.
Vista, both with and without SP1, performed notably slower than XP with SP3 in the test, taking over 80 seconds to complete the test, compared to the beta SP3-enhanced XP's 35 seconds.
...
Microsoft admits that the launch has not gone as well as the company would have liked. "Frankly, the world wasn't 100 percent ready for Windows Vista," ...
http://www.news.com/2100-1016_3-6220201.html
On a side note, I wonder if I might be able to install Panther on my old G3 iMac without it running slower than it already does and then throwing and complete and utter hissy fit, probably not.
I recently found myself standing at a counter at a cafe in Williamsburg having to instruct the barista through every step of making my order. I even had to ask him to please rinse out the porta-filter (the handle thing you put the espresso in) and then explain that by not rinsing it out between each drink, it's not only gross, but makes the drink taste unneccessarily bitter. Silly barista.
One thing that I've been saying for years is to "never entrust coffee to a child". That means that though your local (or global chain) cafe may happen to employ teenagers and college kids to sling drinks, those kids are usually working there for the $7 an hour and the couple of bucks in tips they might make, and not because they enjoy coffee or are even remotely good at what they do. I'm not saying there's anything wrong with trusting your employees to provide a quality service just because you're paying them. It's just that coffee (like web design/development) is a special kind of service that creates a special type of product.
What is it that is the difference between a decent cappuccino and a great one? It's the same things that divide quality interactive work from everything else. Ingredients, skills, and the most overlooked, passion. No matter what it is you do, you'll always do a better job if you do it because you love to do it.

cats fight spam while i sleep, originally uploaded by naterkane.
I woke up this morning to find that one of my cats had not only been reading my email, but also decided to care enough about the comment spam I get that they would start to write back to the notification email.
Over the next day or two I will be extending one or two Flickr API libraries with the goal of adding support for Collections in a user's photostream.
I can't find any information as to when Flickr is going to support collections in their API themselves. If anyone wants to save me a few hours of work, let me know. I'd be happy to not have to do the work myself. Sofar I'm expecting to have to pull out my regex reference book to give you a clue as to how it'll happen.
CURLing for Collections
I have a client who requested I build a custom front end to their Flickr account. She relies heavily on the collections feature of Flickr to organize her many many photosets. As we were trying to figure out how she can organize her account so I can quicklly parse the data returned by the Flickr API, I came up with a few proposed solutions. This is one of them, and though now what we went with, I decided to share.
CODE:
-
<?php
-
function getLinks($url){
-
$ch = curl_init();
-
curl_setopt($ch, CURLOPT_URL, $url);
-
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
-
$data = curl_exec ($ch);
-
curl_close ($ch);
-
$doc = new DOMDocument;
-
// We don't want to bother with white spaces
-
$doc->preserveWhiteSpace = false;
-
$doc->loadHTML($data);
-
$items = $doc->getElementsByTagName('a');
-
return $items;
-
}
-
-
-
function listLinks($recursive,$id = ""){
-
$url = "http://www.flickr.com/photos/".$_SESSION['username']."/collections/".$id;
-
-
$items = getLinks($url);
-
echo "<ul>";
-
for ($i = 0; $i <$items->length; $i++) {
-
if ($items->item($i)->getAttribute('class') == "Colla"){
-
$thisCollectionID = split("/",$items->item($i)->getAttribute("href"));
-
echo "<li>" . $items->item($i)->nodeValue . ': ' . $thisCollectionID[4];
-
if ($recursive == true){
-
listLinks($recursive,$thisCollectionID[4]);
-
}
-
echo "</li>";
-
} elseif ($items->item($i)->getAttribute('class') == "Seta"){
-
$thisSetID = split("/",$items->item($i)->getAttribute("href"));
-
echo "<li>" . $items->item($i)->nodeValue . ': ' . $thisSetID[4];
-
echo "</li>";
-
}
-
-
}
-
echo "</ul>";
-
}
-
?>
Listing all of the photosets recursively
To loop through all collections and collections of collections recursively we simply call listLinks(false);. The execution time on the server was about ~3 seconds, which is unacceptably slow for realtime requests.
In order to just list the photosets that are inside of the top level collections, which takes about half the time (about 1-1.5 seconds), but is still unacceptable, you just set the parameter to false like so listLinks(false);. Simple as that.
You may have noticed that these are global functions. The Flickr API php library that I used for this project was actually not written in PHP5, and since this was just a simple proof of concept to talk the client out of using Collections, and instead a photoset naming convention, to organize the photos that were going to be made available on her site.
Using collections in the real world
Though 3 seconds of processing time would be horrible if your code was making requests all the time, using CURL to pull this data in to your server once in awhile and storing the results in a database doesn't seem too bad. An acceptable approach to working around the lack of support in the API is better than nothing at all. Right?
I think it went up sometime last week, but the first ever corporate website for Time Inc is now live.
Working with the great folks over at Rokkan I was asked to handle the front end dev for this project. With a streamlined version of Blueprint and without the use of any weighty javascript libraries (just SiFR and Swffix), we went from comps to done in about 10 days time. At the time of hand off everything was wcag and section 508 level 2 complient, and aside from inline images, it uses only 13 image files in the presentation layer.
So I came across some very exciting news today... Adobe Labs has released a beta of a Flex compiler that runs on your server.
The Flex module for Apache and Microsoft IIS provides web-tier compilation of MXML and ActionScript files on Apache and IIS web servers. This module lets you rapidly compile, test and deploy an application by simply requesting the main application file from a web browser, similar to working with server-side scripting languages such as PHP, ColdFusion or JSP.
...
You do not need a J2EE application server to use the web-tier compiler. The Flex module for Apache and IIS works with just the web server and a Java runtime environment (JRE).
So what does this mean to me?
No more compiling then posting, easier collaborative development, easier source management, lower step in for other developers into the world of Flex. I wonder what it will be like to develop an HTML/JavaScript app with Flex and then use this Apache Flex module... I also wonder how it performs and if that initial compilation time competes with just calling a pre-compiled Flex app.
In the meantime, I'm going to play with it on my local dev machine and see if it allows me to use a development process that's more familiar to me.
It seems to me like I haven't been posting lately, well, it's because I haven't. Now that I'm ready to get back in the swing of things it seems like there's a good amount of news going around.
Firstly and closest to home.....
Ultra16 has a new home
Two weeks ago, we feverishly packed up all of our stuff and crammed all of the workstations, desks, books, mannequins, a couple hundred pounds of magazines, and a few small plants into two 24" trucks and hauled them a couple of blocks up the street. We are now the neighbors of the lovely free weekly The Village Voice.
I don't really feel like embedding a google map right now, so here's a link: 36 Cooper Square
Apollo is no more
Now despite the catching name of Apollo, Adobe's lovely platform agnostic application rendering engine thingy has be rebranded Adobe Air (Adobe Integrated Runtime). If you haven't at least done any playing around with Air, I suggest you do. This is how the folks over at Adobe Labs put it.
Adobe® AIR™, formerly code-named Apollo, is a cross-operating system runtime that allows developers to use their existing web development skills to build and deploy rich Internet applications to the desktop.
The great folks over at Aptana now directly support Air as well as RoR. These are great times to be a clientside developer.
Safari for Win?


Ok ok, I know that if I had the couple of extra bucks to buy an Intel Mac I could run either OSX or Win either with Bootcamp, Parallels (which recently has made it's way to V3.0) and I think there might be a few other choices. No matter what my choice, in order to do any testing with safari I'd still have to have a box to run OSX, until now.
Apple has now made the Safari 3 Beta public! And you know what? It runs on windows too! Now all of the great stuff from Webkit, will be available to me on my HP laptop. Only downside is in order to support Safari 1.3-2.0 I still need to drag out my old G4 from the far corner below my desk.