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...

Recent Readers

Flickr Photos

 

Browse by Tags

All Tags » .NET » C# » Software Development (RSS)
  • 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.
  • Microsoft Silverlight

    A lot of people are very excited about Silverlight , the technology that was formerly known as WPF/E. Jesse says it will give Flash a real run for its money because of a better video story (emphasis in original). Unlike Flash, Silverlight (the new name) will support DRM, it supports the industry standard VC-1 codec used in HD-DVD and Blueray, and it can take advantage of the built-in media streaming capabilities of IIS. As for DRM support, I don't think that's of any real consequence. Jesse claims "companies that want to stream TV and movies over the web, will not consider any method that doesn't allow for DRM protection", but we're already seeing a trend away from DRM. That said, there are certainly things to get excited about, particularly the prospect of cross-platform CLR support and the ability to develop Flash-like applications with the power of the Visual Studio environment (and not having to learn a new scripting language at that). One thing worth noting is the fact that Flash is...
  • SubSonic

    We've been using SubSonic lately, which I first bookmarked from Scott's post . Essentially, the project is an implementation of the ActiveRecords pattern from Ruby on Rails in .NET. Or as the authors describe it, , "a toolset that helps a website build itself". I'm using it on a project I'm working on now and so far it's been very useful - though we haven't had to scale yet. We had to slightly adjust our data model to be more SubSonic-friendly, but it's pretty flexibile and even supports stored procedures if you're into that sort of thing (we are). It also "singularizes" the database tables - i.e., a Companies table becomes a Company object, and a Books table becomes a Book object. (Though it does strip the last 's' from Business.... I'm reminded of that old 1-800-MATT-RES commercial). Regardless of future experiences, I can wholeheartedly recommend it to build a DAL for prototyping.
  • JSON and XML

    Back at the PDC, I mentioned that Microsoft chose JSON over XML in Atlas, its AJAX framework. The debate has reared its head again recently, prompted largely by Tim Bray's post . Tim says that JSON is great for its single intended purpose, "to put structs on the wire." Dare, who used to work on the XML team at Microsoft, say JSON is better than XmlHttpRequest because it helps work around browser security model limitations and is easier to program with . The cross-browser issues are a particularly big issue that people have tried to tackle in different ways - I mentioned before that Julien is using a Flash proxy to work around these issues , and I've seen other architectures which use a server-side proxy on the original server to handle the third-party request. The key here is that AJAX is not about the technology , but the experience. JSON may or may not be the "best" way to approach this, but the exercise at least highlights some of the limitations (and, to be fair, strengths) inherent...
  • The Prevalence and Danger of SQL Injection

    Michael Sutton looks at the prevalence of SQL injection vulnerabilities ( via Bruce Schneier ). He tested 708 different servers and found verbose SQL errors on 80 of them (11.3%) - numbers that are not, as Michael says, surprising but are certainly sobering. Michael acknowledges that his method is imperfect, and in fact I think the percentage is actually a lot higher. His test only captures sites that are vulnerable and actually return verbose error messages. I guarantee there are countless others on his list that were actually vulnerable and fail "silently" (i.e., reporting user name not found, but not the words he is testing for). If you're not familiar with SQL injection, and what can happen as a result, I suggest reading Steve Friedl's wonderful introduction in SQL Injection Attacks by Example . (Image above borrowed from his article). Oh, Scott Guthrie also had a great post on how to avoid these problems . As you can see, it's not difficult - you just have to be aware and not construct...
  • notch.es is hiring

    Notch.es is seeking ninjas . If you're a rock star, give Corey a call. I'm reposting the two job descriptions here. Don’t want to spend the next six months working under florescent lights on a corporate PC with no Internet access fixing someone else’s five year old code? Would you rather help build the next Digg or Delicious? Here is an opportunity to work in an exciting, fast-paced, collaborative early stage start-up with lots of room to flex your creativity and help shape the product. We practice iterative development; pair programming and have short milestones. We are looking for self-starters who are not afraid to voice concerns, take initiative and drive major subsystems. Corey will be at BarCamp NYC2 tomorrow. I have to work in the morning but I'm registered and will be there in the afternoon/evening.
  • ADO.NET vNext CTP (Aug 2006) available

    Microsoft has released the first CTP for ADO.NET vNext which implements their vision for an Entity Framework to simplify data access. The ADO.NET Entity Framework supports Object Relational Mapping scenarios using ADO.NET Entities, in this build you can: Query of persistent Entities using LINQ to Entities or Entity SQL Save new and dirtied entity instances through the object abstractions which also handle: State management Identity resolution Change tracking Work with persistent object graphs and leverage a programming and query model where relationships are a first class concept Use optimistic concurrency and server generated values with persistent entities Program against persistent entities as values using the new Map Provider Get first hand experience with Entities and the Entity Data Model Work with mappings based on view maintenance concepts to support Entity Splitting (entities split across multiple tables) Table Per Hierarchy, Table Per Class and Table Per Type mappings Property...
  • Nullable Value Types and the Null Coalescing Operator

    Scott recently discovered one of my favorite syntactic niceties in C# 2.0, the Null Coalescing Operator. This operator allows you to return the left side of the statement if it is not null, otherwise return what is on the right. In other words, instead of writing code like this: if (o != null ) return o; else return defaultObj; Or this: return (o != null )? o : defaultObj; You can simply write this: return o ?? defaultObj; It can be a little disorienting when you first see it, but it definitely leads to cleaner code in my opinion. Another (related) feature in C# is the nullable type declaration which is available thanks to the Generics support added in CLR 2.0. This effectively allows you to have three values for a boolean value ( on, off or null ) - a trick most DBAs know well. //declare nullable boolean value bool ? yourFlag = null ; You can use this syntax to create This also allows you to create a nullable DateTime or int object. DateTime? selectedDate = null ; int ? i = null; As Ted...
    Posted Aug 08 2006, 12:37 PM by Tim with | with 3 comment(s)