Looking back at the various open source projects I have started, I am starting to see a pattern. When I use a REST API provided by a given web site, I end up writing a full-fledged client for that library if one doesn’t exist. There is something I really enjoy about writing wrapper libraries.
There are a couple of things lately that I enjoy so much that I feel I need to share them with others.
This American Life
This is a free podcast of a public radio show which features stories about everything from stories about being switched at birth to the cruelty
The things you do for your kids:
I put this song in a playlist we play to help our 8 month old sleep. Now the play count is embarrassingly high. I am very tempted to use the reset play count feature of iTunes to cover my tracks…
The only thing scarier than the code I actually write is the code I thought of and decided not to write. Actually, that is not true. The code I write is always perfect. Until I decide to change it later and make it more perfect.
Today I was writing a small console app which I wanted to run indefini
I can’t believe it but as of today I have already been at Microsoft for a whole year. It really has been a great year. Moving up to Washington from San Diego happened so fast my head was spinning for the first couple of months. Now that we feel more settled we really like it up here.
What I Have
Being a relatively new employee at Microsoft, I have really enjoyed getting to know the culture and the wide array of people that work for Microsoft. To that end, I really enjoy the web site Microspotting which chronicles some of these interesting people. I was hooked as soon as I saw Golden Helmet
There is some great stuff hidden in Tim Sneath’s post announcing the WPF aspects of the .net 3.5 SPI release:
It's been a long time in coming, but
we're finally adding the
much-requested DataGrid control to
WPF. This will ship out-of-band at
first, just after we release 3.5 SP1…
I rarely write feedback to product teams but today I decided that I have had enough of this Identity Specification nonsense. How often do you create tables in Sql Management Studio which have some sort of identity column which is a primary key and an auto incrementing integer. Unless I am way off ba
One of the things I love about BlogEngine.net is that it is built with extensibility in mind. On example of this extensibility is the ability to customize the provider which it uses to retrieve and persist posts, pages, categories, etc.
Currently there are two providers that are supported out of th
I am a big fan of Dotnetkicks. I have found several interesting articles written by mostly lesser known authors (like myself) on that site. I have also received the benefits (more traffic) of getting some of my articles on the front page. As has been discussed previously, the “Dotnetkicks Effect” is
There has been some discussion about extension methods and how they should be used and when. Personally, I try to use them when it will increase the readability of my code. A common candidate for extension methods is the static helper method. These mostly take the form of something like:
Dont worry - the address and rss feed for my blog will remain the same. I have just moved from wordpress.com to hosting my own blog using BlogEngine.net. I just got too tired of the lack of customization available on wordpress.com.
I have to say, the move was much harder than I had anticipated. Get
When using Windows authentication with Asp.net, I often need to know which active directory groups a user is a member of. Now I know that you can do something like:
//Give Access to Secrets
The problem with this is you need to know the name of the group ahead
So I have been living up here in Washington for about 5 months now and I am really missing some of the food I am used to in San Diego. In no particular order they are:
In N Out
Lolita's Taco Shop
Hopefully it is just a matter of having to learn about the local spots up here for
So I keep running into the same problem - I am building a small website for somebody (in this case, my Mom) and I need to provide them with a way to update the content of their site so I don't have to. Basically, I need a lightweight and flexible content management system that is easy to use.
First off, congratulations to Eric Miraglia and the YUI team - they have just announced the release of YUI 2.5.0:
The YUI Team just released version
2.5.0 of the library. We’ve added six new components — Layout Manager,
Uploader (multi-file upload engine
I have received very positive feedback on my Asp.Net control for Google charts so I decided to place it up on Codeplex to allow people to participate and add code to the project.
I am currently working on a project roadmap so please let me know if you are interested in participating. One feature I
The C# language has changed a lot since its initial release in 2000. C# 2.0 brought us:
Property and Indexer Accessibility Changes
C# 3.0 brought us:
Object and Collection Initializers
If you read my blog regularly, there are two things you may or may not know about me:
I work at Microsoft
I love the Yahoo User Interface Library
So today's big news that Microsoft has offered to buy Yahoo! for 44.6 billion dollars speaks to both of these facts about me. This is obviously big ne
I learned something new today about enums that I find really weird. Lets start with the following test enum:
public enum Action
Run = 2,
Walk = 4,
Crawl = 8
and then some code to do something with that enum:
static void Main(string args)
I have seen other great articles out lining the benefits of some pretty clever and useful helper classes for enums. Many of these methods almost exactly mirror methods I had written in my own EnumHelper class. (Isn't it crazy when you imagine how much code duplication there must be like this out the
Write WebControls much? Well, I do and I have a code snippet that I pretty much can't live without. It is used for creating ViewState backed properties. Here is the basic pattern I use when creating properties for my web controls:
public string Name
object o = ViewState["Nam
Long Sheng has posted a very humorous and clever post about the lack of Windows Vista Ultimate extras.
I really respect the way that he states the facts and doesn't resort to anger. I also love how he has suggestions for
In my previous post, I outlined a little trouble I ran into trying to purchase a friend a Smugmug account as a gift. Well, I am happy to report that the folks at Smugmug responded amazingly and have managed to show how much they care about their customers (as well as potential customers)...I guess t
Ok, so here is the story. I have some friends that are having a baby soon so I thought a good Christmas gift to give them would be a subscription to a photo sharing web site so they could share all their photos of them and their new child. Since I have a Flickr pro account and love it, I figured I w
Sometimes it is hard to see threads of discussions in blog land because you may only be reading a subset of the blogs involved in the discussion. In this case, I just happened to be subscribed to many of the blogs in this thread. First let me lay out the timeline of posts:
Jeff Atwood published
For those of you who have been following the new Asp.Net MVC (Model View Controller) framework know how much developers have been chomping at the bit (no pun intended) to try out new framework. Well, that day has finally arrived!
ASP.NET 3.5 Extensions preview
For those of you who haven't been fol
Here is a quick little tip I just learned that I use all of the time now. In Windows Vista, if you hold down the Shift key and right click on a file, a new option appears in the context menu: "Copy As Path"
This will copy the full path of the file you select to the clipboard. This is very handy f
Google has launched a new service which allows you to very simply build charts for any web application. Their design decision to make an interface to their service which is all based on the format of the query string is very interesting to me. Basically, you send them a Url and they return a PNG ima
In Visual Studio 2005 they added a feature that is very useful - when you type the name of a class, if you have the assembly for that class referenced but you don't yet have a using tag in your file, it can add it for you. This is accomplished using a Smart Tag (much like the smart tags in Microsoft
If Scott Hanselman and Phil Haack can do it then why can't I? That's right, I am joining Microsoft on the Windows reliability team as an SDET. The craziest part is it has all happened so fast that I am not sure the best way to prepare to move from San Diego to Washington in two weeks.
I am very exc
If you see this post it means that BlogEngine.NET 1.3 is running and the SQL Server provider is configured correctly.
If you are using the ASP.NET Membership provider, you are set to use existing users. If you are using the default BlogEngine.NET XML provider, it is time to setup some users.
I just now completed the ruby tutorial over at try ruby! and I couldn't help but think how much ruby is like Perl. My first programming jobs in college were using mostly Perl so I have some (mostly) fond memories of how easy Perl made some tasks. I know I am late to the party when it comes to checki
Here is a situation I ran into recently: I have an Asp.Net Ajax service (.asmx) which has a method used to create rows in a database similiar to:
public int CreateItem(string description, double value)
This method basically created a row in the database and returns th
<asp:TextBox ID="myTextBox" runat="s
Lately I have been writing a lot of code utilizing the Microsoft Ajax framework. This means that I am writing "Ajax Services" to handle my asynchronous callbacks. Ajax Services is a term I heard from Rob Bagby which emphasizes the fact that while these services are generally in a .asmx file and the
I made the mistake of reading this post from Jeff Atwood's blog Coding Horror. What was the mistake? Well, it was clicking on the link to Geni - a family collaboration site. Not only did the developers at Geni remove the login barrier, they also made a very addictive application.
So go ahead. Do it
I just recently finished the book Smart and Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent. Joel Spolsky is the author of the very popular blog Joel On Software and owner of Fog Creek Software. This is another one of those books that is very unique when it comes
I know I am probably late to the game but I have just completed reading through Don't Make Me Think by Steve Krug. I have recently become very interested in learning more about what I can do as a developer to improve the user experience of the apps I write. The thing is, I am not and will never be m
This past weekend I attended the Southern California Code Camp and I had a great time. This is the second code camp I have attended and I am continually amazed at the quality of the sessions. For those of you who don't know, code camps are completely free events where the sessions are all made of of
Well, I have had Windows Vista installed on my development machine for about 5 months now and feel it is time to reflect on my experience. As you may infer from my post title, there are many things I don't like. There are, however, many things that I do like so I will start with those.
I am currently working on a project that requires the editing of information in a very free flowing way (like in Word or Excel) but has very strict data and validation conditions as well. I have considered many different mechanisms/interfaces which would allow a reasonable amount of freedom on the u
As part of my ongoing series covering the Yui.Net library (an asp.net wrapper for the Yahoo User Interface Library), today I will cover a fairly simple but useful component - the ToolTip. This component is exactly what you would expect it to be - a ToolTip which you can associate wi
All of this talk about Asp.Net being a leaky abstraction and having an overly complicated page lifecycle, I have been considering looking at some alternatives to see what all the fuss is about. I am one of those developers who has taken the time to learn a lot about the page lif
Codesmith is a product that I have considered purchasing multiple times in the past. It seems to be the code generations suite that has the best community built around it and I think that is a very import aspect of any software I purchase. Every time I download the trial of Codesmith, my trial expir
I have been developing custom web controls for many years now and I am just now getting comfortable with many of the advanced features afforded by the rich System.Web.UI.WebControls namespace. One feature I have implemented many different times over the years is having a web control which contains a
There are several classes which I have written over the years which have become almost like my own personal BCL when developing .Net projects. I think most people have these classes laying around in some form or fashion. In fact, I have joined a formalized effort led by Steve Wright to make an open
The first control I will highlight in the Yui.Net control library is the calendar. I find that I often need a client side calendar control to allow users to just choose a quick date without having to deal with the overhead brought on by the Asp.Net calendar control (ViewState, Postback, etc). When I
Nick Thuesen has just published a new custom WPF panel that functions like a stack panel but takes up the entire space provided to it. I love to see new custom panels come out. I think there should be a Codeplex project for custom WPF panels. Maybe if I write any clever ones of my own I will start o
While working on an application that requires drag and drop, I ran into trouble when trying to figure out where in the target list (in my case, a ListBox) to insert the dropped item. I ran across Josh Smith's article Drag and Drop Items in a WPF ListView which covers (quite nicely) how to handle dra
Sometimes it can be a pain to subscribe to Rss feeds which are collections of many different authors. For instance, back in the day, I subscribed to the main MSDN feed and it was just to laborious sifting through all posts to find just what I was interested in. Not to mention the 100 obligatory "M
Ok, so I haven't been writing as often as I had anticipated about my journey through Applications = Code + Markup by Charles Petzold. Since my last post Petzold has posted some reactions to some of the common criticisms of his book. It is definitely worth a read.
I read through the first part of
Last week I wrote about how my email provider Netidentity had completely messed up a migration with their web email system and left thousands of user without their paid for email service.
Well, after 5 days with no email I did finally gain access to my email. So how did my email get fixed? Did the
Back in 1998 or so, I decided to see if the domain name for my last name was available for purchase. To my surprise (my last name is not that common), a company called Mailbank ha purchased the domain and was selling email addresses and web space on the domain for $5/year. That seemed like a small
I finally received my copy of Applications = Code + Markup by Charles Petzold. It is rare that I buy a computer book with so much anticipation and desire to just sit down and read it cover to cover. The last time I had this feeling was with Framework Design Guidelines by Brad Abrams and Krzysztof
I couldn't find any easy way to traverse the entire asp .net control tree using the framework classes, so I decided to write my own implementation. In the end, I wanted to be able to traverse all of the controls and get all which are of a certain type. First, the method which traverses the tree:
I have noticed a curious thing lately. The actual name of the blogs I read have to do with my perception of them. Let me explain. I use NewsGator integrated with Outlook as my rss reader. When I come into work in the morning, all of the blog posts since the end of the previous work day are downloade
I doubt I will go to see this movie in the theaters, but you have to admit the marketing and internet buzz about Snakes On A Plane has been pretty amazing. The best part? You can have Samuel L. Jackson call anybody you like and remind them to see the movie.
I just recently discovered a couple of websites that have completely changed the way I think about life in this Wikipedia/Digg/YouTube society we are now living in. The sites I have discovered came from listening to Scott Hanselman's podcast called Hanselminutiae #2. In this podcast, he mentions a s
I wanted to write my views on the whole Windows Vista vs. Mac OS Leopard but Paul Thurrott has done a better job than I could have ever dream in his article Apple Mac OS X Leopard Preview: Who's the Copycat Now?. It is good to know that somebody can still be objective and seek truth in the OS religi
Hopefully this is just part of the pains associated with trying to use beta software, but I can't find good documentation on data binding in Windows Presentation Foundation. I have found multiple examples of how easy it is to bind to an Xml data source but I have never had a need to bind to Xml data
Back in college, I saw these 3 guys with guitars playing these catchy songs at some event and I was immediately hooked. I went to watch that same band, known as Simpl, many times in coffee shops and such. The three members were Tim Timmons, Chad Lansford, and Greg Laswell. Greg and Chad later went o
I have been searching far and wide for this solution for a long time and I just sort of happened upon it...so I thought I would share it here. One of the big changes from Asp.Net 1.1 to 2.0 was the format of their web projects. I actually really like the new format alot. There was, however, one prob