Sign in
in
   
"It is the mark of an educated mind to be able to entertain a thought without accepting it."  -Aristotle

About Me

I am a co-founder of Notches, an early stage startup currently based in NYC. We are building a free, open reviews network that anyone can participate in and anyone can build on top of. You can find out more on our official blog.

Read more about my background.

Connect with me on...

<style> ul.padded li { padding-left: 5px; } </style>
<script src="http://api.notch.es/jscript/NotchesBadge.js"></script> <script>new NotchesBadge("My Reviews","tim",7);</script>

Recent Readers

<script src="http://pub.mybloglog.com/comm2.php?mblID=2006113020344226&amp;c_width=294&amp;c_sn_opt=n&amp;c_rows=2&amp;c_img_size=f&amp;c_heading_text=&amp;c_color_heading_bg=B7EOFF&amp;c_color_heading=1E4A6F&amp;c_color_link_bg=B7EOFF&amp;c_color_link=1E4A6F&amp;c_color_bottom_bg=B7EOFF"></script>

Flickr Photos

<script src="http://www.flickr.com/badge_code_v2.gne?count=6&amp;display=latest&amp;size=s&amp;layout=x&amp;source=user&amp;user=50409940%40N00"></script>
 

Browse by Tags

All Tags » Software Development (RSS)
  • Is IIS7 on Vista not serving static content?

    If you add IIS7 and ASP.NET on Vista, many of the common HTTP modules are not installed by default – including the one for static content. The problem is that it doesn’t return a 404 or other error, but rather zero-byte files. If you’re seeing empty files returned for CSS, images and JScript files, this is likely the culprit. (You’ll all see the Static Files handler for * being mapped to the DefaultDocumentModule). The answer is to go into the Windows Features dialog and make sure that the Common Http Features are checked off. Hope this helps.
  • We are looking to hire good developers

    Notches is hiring developers . We’re looking to bring on developers to be part of the core engineering team. We want people that can contribute to the product in a myriad of ways beyond coding. We want people who can ask the tough questions and challenge us. We want people who are not afraid to take ownership over an area and really drive it forward. Our core platform is written in C# / .NET, so familiarity there will help – but ultimately we’re looking for smart, ambitious people with a good background in computer science, algorithms, and so on. Our offices are currently in downtown New York City (SoHo). We’re certainly flexible in terms of hours but we do want to spend as much time as possible collaborating in person – in other words, we’re not looking for offshore firms or out-of-town developers right now. You can find a more detailed job description here . If you’re interested or know anyone who might be, please contact us.
  • The Challenges of Scaling Twitter's Follower Model

    I wrote previously that Twitter's architecture is not scalable for real-time messaging . Indeed, the Twitter development team talked about this recently . Twitter is, fundamentally, a messaging system. Twitter was not architected as a messaging system, however. For expediency's sake, Twitter was built with technologies and practices that are more appropriate to a content management system. Over the last year and a half we've tried to make our system behave like a messaging system as much as possible, but that's introduced a great deal of complexity and unpredictability. Dare Obasanjo recently looked at the issues and implications and suggested that it's not the technical architecture to blame, but perhaps rather the logical model. If Twitter was simply a micro-content publishing tool with push notifications for SMS and IM then the team wouldn't be faulted for designing it as a Content Management System (CMS). In that case you'd just need three data structures...
  • Twitter's problems are the result of architecture, XMPP may be the answer

    The problem with scaling Twitter is not the choice of framework, but the choice of architecture. In other words, abandoning Ruby On Rails probably isn't going to solve all of their problems. At the same time, I'm not sure that decentralization is necessary and comes with its own set of challenges. The real problem is that the polling model of the Twitter API doesn't scale for real-time communications. As it is today, many Twitter clients will poll (by default) every 3-5 minutes to see if there was an update. Not only are they not really participating in real-time, they are generating an enormous number of requests that - even while each payload is small - generate a lot of overhead in aggregate just in checking and responding. As I've suggested in the past , a better solution would be to move the "real-time" API around the Jabber/XMPP client instead of HTTP. The good news is that Twitter already has an IM presence so it's easy enough for third-party clients...
  • Firefox 3 Beta 3

    I've been using the recently released Firefox 3 Beta 3 for a few days on my home machine. It's not quite ready for prime-time - I've found that in particular a lot of AJAX stuff, like on Twitter, doesn't work. Not sure if the implementation is just not finished, but that's a little concerning as a developer. There are two extensions I can't live without - del.icio.us and FireBug - and sure enough both are "incompatible". Luckily, it turns out you can make them load by turning off the compatibility check . I've been using them for a few days now with no crashes. Even though it hasn't been tuned yet, it definitely feels faster and lighter weight than Firefox 2 (which as we speak is using well over 400MB of RAM with 13 tabs open). If you want to try it out, I would recommend installing Firefox 3 side-by-side .
  • Facebook opens up with a JavaScript API

    Facebook just announced a new JavaScript Client Library that allows you to make Facebook API calls from any web site . In other words, you can start building Facebook applications are live outside of Facebook. I agree with Charlie that this move " makes membership in Facebook that much more valuable ", and is probably a direct response to the openness promised by OpenSocial . Duncan calls it a clever move , but if their goal is to truly build the social OS - or what Charlie calls a "social dial tone" - then it's a necessary move. Henry calls the strategy "brilliant" . This move seems another smart step toward a hybrid strategy: Allow app makers (and Facebook) to extend social-graph functionality to the web, gather more app users, and recruit more members--but retain full control over the social graph itself. This is precisely the approach we are taking with Notches. A "walled garden" is nice because you retain all control, but these days you need...
  • Creating a better 404

    Jeff Atwood rants about the typical 404 page , saying "the average internet user has no idea what 404 means or what to do about it. To them, it's yet another unintelligible error message from the computer. Most 404 pages are unvarnished geek-speak." Jeff lays out 5 ways to make the 404 error page better. Drop the 404 Yes, the HTTP response code is 404, but there's absolutely no reason that ever needs to be shown on the actual page. Error codes aren't helpful . A simple explanation of the problem in plain English is all that's required. Any 404 page that has the characters "404" on it, if not already an outright failure, is already well on its way to becoming one. Automatically notify you of the 404. Repeat after me: it is not the user's job to inform you about problems with your website . If you require the user to click a button to notify you about a 404, or if you require the user to fill out a broken link form, you have utterly failed your users...
  • Passion and its role in evaluating new product ideas

    Evan Williams has an absolutely wonderful post up about evaluating a new product idea . I think Marc is spot on - the "personally compelling" criteria is the one that stands out. Last on the list, but probably the first question I ask myself is: How important to me is it that this product exists in the world? If I were evaluating a startup, I'd ask this of the founders. . . . In theory, you can get around this with lots of user research. (It's pretty clear neither Slide nor Rockyou 's founders are creating widgets based on their own needs and desires.) But you're more likely to get it wrong that way. When I've gone sideways, it's when I wasn't listening to my gut on this issue. Specifically, Blogger and Twitter were personally compelling, while Odeo wasn't. Clearly, you're better suited to build a best-of-breed product if you're intimately familiar with the space and "scratching your own itch". But perhaps more importantly, I think...
  • Congrats to Faisal on his new role on the ADO.NET team

    My good buddy Faisal has moved from MSBuild to ADO.NET . Specifically, he's the Program Manager for LINQ to SQL and the Object Service for Entity Framework. He says you'll hear a lot more from him on these things, but of course if past history is any indication his blogging will be short lived :) Either way, I'm still waiting for him to convince me why I should LINQ instead of SubSonic . The only issue we're really having now with SubSonic is with the JOIN story, and they're supposedly prototyping stuff to address this in the next build.
  • Distinguishing between a platform and a destination

    Charlie says that "the whole idea that you have a main site is dead". I couldn't agree more - I strongly believe that platforms are the future of the Internet. One clarification I'd like to make in this whole discussion is Facebook is both a destination and a platform. It's important to understand that these are discrete things - something can be a platform without being a destination and vice versa. Clearly, Facebook offers a nice API for integrating your code into theirs, but this to me is not what makes Facebook a platform. MySpace, iGoogle, and a plethora of Web 2.0 portals allow you to "embed" your code - Facebook just allows you to do it more seamlessly. If anything, these are all simply platforms - or rather, vehicles - for traffic. Of course, as Charlie and myself and countless others have said, traffic does not give you a business model. On the other hand, Facebook is getting flak for not being open enough with their data . As Fred says, being open...
More Posts Next page »