Hi, welcome to Will Code For Coffee dot com, the personal blog of Eric Hoff. Keep checking here for more new articles, I'm trying to write at least one post a week.
Earlier this week a friend of mine asked me for some advice over an argument that some developers at his company were having. They are collecting data from a device, and one developer wanted to have the device send the data to a web service to receive the data. The other developer thought a web service would be to much “overhead” and wanted a different solution using direct writes or XML to the database and a UDP socket notifier for the server to parse the data.
Read the rest of this entry »
I’m working at a new client and have written a few services to support a DotNetNuke CMS install, as well as a few modules. To support the modules I’ve written one or two of my services using a Fluent Interface API. This was fun and exciting, but some APIs didn’t make sense to be used fluently, or it complicated things more than I would have liked.
As a developer I think it is important to write the API so that it is usable and easy for a junior to understand. Fluent is one way to do it, but it isn’t necessarily the only or best way!
Read the rest of this entry »
I just completed another project contract on Friday. After decompressing over the weekend I wanted to write a few thoughts out about some of the successes and failures I’ve learned during this project.
Read the rest of this entry »
Earlier I had compared NHibernate and SubSonic and chose SubSonic because it had migrations. I’ve done two projects, one using SubSonic and the other using NHibernate and I can now compare the features a little better.
NHibernate is documented better than I originally thought if you look at nhforge.com, not at the hibernate site. It also does some nice schema generation based on your mapping. You still have to go through “XML Hell” to map the site, unless you use another mapper or FluentNHibernate (which does the mapping for you in code) or another tool. As an ORM SubSonic feals cleaner and quicker since it generates the ORM classes from the database, where-as NHibernate generates the Schema from your mappings and ORM classes.
Read the rest of this entry »
Making your users wait is probably one of the worst things you can do to ruin the user’s experience in your application. I have been working on an exteremely slow PC lately and have discovered some of the worst side-effects of a slow interface:
- Your audience loses their attention
- Your audience will go somewhere else or do something else
Naturally we can’t always eliminate every wait in a program, it is very nice to give the user some sort of visual cue that the application is still working and hasn’t locked up their computer. Probably the best example of this is an AJAX loading animation, or the hourglass in Windows. It’s a nice hypnotic animation that catches the user’s eye and prevents him/her from drifting off for a couple seconds.
It only works for a few seconds, but I was really surprised how well it works. Also, there are a few websites that generate nice ones for you here:
I’ve used them a couple times. For AJAX Dialogs I strongly recommend a nice big bar animation.
I recently bought a new Sony Vaio Laptop. Typically I don’t like Sony for much, what with all their rootkits and such. There were a few reasons I decided to buy this laptop though: it had 4GB of RAM, it had a wide-screen (1600×900) and it had a BluRay drive and it was under $1200.
To put it short, this computer is excellent for development. It’s got all the RAM I need to run Visual Studio, and SQL Server and even some virtual machines. The screen is fantastic and a great resolution for developing on. I’m a big fan of wide screens because I can fit more code onto the screen.
Read the rest of this entry »
At my current contract I am saddled working with an intern. He’s a bright kid, and he’s gone through three years of school, but I’m kind of staggered by how much he doesn’t actually know! Development is extremely difficult because he doesn’t know much about JavaScript, AJAX, jQuery, CSS styling and positioning, Web Services, C#, UpdatePanels, LINQ, Ruby on Rails, MVC, DLL Libraries, ReSharper, and the list goes on and on! It’s hard to believe what eight years of experience teaches you, and I’m finding it difficult, and sometimes limiting because I have to move at a slower speed bringing him up to speed.
I was using some cool features of jQuery to do AJAX instead of using UpdatePanels, but when The Intern wanted to do some AJAX he got totally lost. In the end I taught him to use both jQuery and (despite how dangerous it is), Ihow to use UpdatePanels. In the end I encouraged him to use the UpdatePanel with his pages, read on to find out why.
Read the rest of this entry »
OK, I know this is just a re-tweet, but in the light of my previous post on jQuery I figured I’d better post this too: http://blogs.msdn.com/webdevtools/archive/2008/10/28/rich-intellisense-for-jquery.aspx
It’s just a quick article on how to enable Intellisense for jQuery in Visual Studio.
It was recently announced that the next version of ASP.NET (4.0?) would ship with jQuery, and the new Beta of the ASP.NET MVC Framework shipped with jQuery as well. I’ve been using jQuery with ASP.NET for a while, so I wanted to post some links related to jQuery to help some other people who are jQuery noobs out.
Read the rest of this entry »
ORM tools are probably one of the most time-saving tools for a web developer. Nothing is more tedious than building a data access layer, adding caching or coordinating transactions. Well okay, sometimes things like that are really fun, but when you’re trying to start a project out from scratch you want to get something up and running ASAP to show to your customers.
In the .NET world there are two powerful ORM tools out there, NHibernate and SubSonic. NHibernate is based on the successful and popular Java EE ORM Hibernate. SubSonic is an entirely new ORM developed in the Ruby on Rails ActiveRecord development model, with some nice .NET 2.0 features like Controllers that you can use with ObjectDataSource controls.
For a recent project I quickly evaluated both software tools, and I’m publishing what I learned here.
Read the rest of this entry »