Jeff and .NET

The .NET musings of Jeff Putz

Sponsors

News

My Sites

Archives

January 2005 - Posts

Getting play from MSN Search
The various Webmaster forums and search engine optimization gurus are all abuzz about MSN Search. It would appear that its results are starting to find their way into the mainstream MSN site.

I couldn't figure out why CoasterBuzz had two 12,000+ visitor days in a row. That's normal for the summer season, but not January. A peak at the stats, and now I know why.

I'm not married to Google, so I'll have to give the MSN Search a try and see what kind of results I get next time I'm looking for something. Plus I can feel good that something with .aspx in the URL got me there. :)
Posted: Jan 20 2005, 02:35 PM by Jeff | with 3 comment(s)
Filed under: ,
Free MPEG to DVD burner?
I've been looking for a simple, free download that will burn an MPEG file to DVD. I use BeyondTV as my DVR, which happens to make nice .mpg files that are easily burned to DVD using more advanced authoring software. I just want something that takes the .mpg and burns it sans chapters or anything like that.

Any suggestions?
Posted: Jan 18 2005, 07:16 PM by Jeff | with 1 comment(s)
Filed under: ,
The ugly process of dealing with headhunter and recruiting agencies
I've got my resume out there. I'm open to short-term contract jobs if they're a good fit, even though I'm hell bent on being mostly self-sustaining. I don't even mind going through a third party to pick up the gig. However, it's getting too hard to find the good stuff in all of the noise.

The problem is that so many agencies put the commission over the fit, and that drives me nuts. It's not good for the employee or the client. If you can't tell me specifics about the job over e-mail, I'm not interested. I have wasted so much time over the last year responding to agencies that have crap I don't want. Which part of "short-term local contract for ASP.NET or C# development" sounds like "contract-to-hire VB6 in Louisville?"
Posted: Jan 18 2005, 12:22 AM by Jeff | with 1 comment(s)
Filed under:
The obligatory "what I'm up to, in case you're wondering" update
Weird that I haven't posted anything in awhile. I guess it's because I think some of the "in the moment" thoughts I have would not generally be interesting to anyone, but then again this is probably the one thing on the Internet that I don't care about in terms of who is reading it.

I'm making a little progress on my ad serving software. As I mentioned at some point previously, it works fabulously well on the serving side, it just had no admin UI. I need to figure out a way to really test the crap out of it. I probably will sell it, so to do so I need to make some statement about its scalability. I'm not going to pretend it's Doubleclick DART for your own use, but to date it has had no problem serving millions of impressions per month without breaking a sweat. I have to decide when it starts to sweat.

I'm reviewing the PDF's of my book. It's seriously weird. It's finally starting to feel real. Bummer that it won't feel like I really get paid until later this year! Publishing is a very weird business in terms of schedules. The good news is that it appears it will be more pages than I expected. Not that size matters, or something.

Self-employment taxes suck. I think I'm going to need to sell a few of my FUN units to pay taxes. Seriously, the only thing that keeps me from feeling really comfortable in working for myself is that damn check I have to write once a quarter.

I need to write an app to do event registration for CoasterBuzz Club. To date I've posted PDF forms and had attendees send them in with checks or credit card info, and that's a bit labor intensive. It should be easy enough, but the biggest issue is that events essentially have four prices depending on whether or not the attendee is a club member and whether or not they have a season pass to the park where we're having the event.

I hoped to be really pressing forward on POP Forums right now, but that's not moving along as fast as I hoped. I haven't fully documented the requirements, so I haven't done much else. One of my more experienced coding friends said I should take comfort in knowing that the fact that I'm endeavoring in requirements at all shows I'm a "grown up" developer. I think that's good, right?
Posted: Jan 17 2005, 01:40 AM by Jeff | with no comments
Filed under: , ,
Real book pages, good will, and a career crossroads
Yesterday I got an e-mail message out of the blue from one of the people that did some of the editorial reviewing for my book. It was a very kind message in which he congratulated me on writing the book and said he thought it was going to be a big deal. It was really nice, and unexpected.

Then today I got my first proofs back of the laid-out book. I can't even begin to explain how weird that feels. A year ago I wasn't sure there was even the slightest chance that I'd ever write a book, but here it is. In another two months or so it'll be a pile of dead trees in my hands that I can show to my friends. That's really, really weird. I hope it doesn't suck.

This week also marks the first anniversary of the week I started the last day job I had. It was a contract job at Progressive. It was a really big deal for a really big deal company. I ended up leaving that job after five months for a number of reasons. The biggest reason was the book. It was just too impossible to research, write and go to a job that was an hour each way. The other reason was that I was stuck in an area that really wasn't right for me. They have a really outstanding IT organization, and they have absolutely brilliant people there. The problem was that, working through a contract agency, I couldn't just get to the right position the way I could as an employee (the HR folks there don't like to lose anyone, they will get you to a place where you're satisfied with your job).

So I've been "self employed" since last spring, and it has allowed me to really enjoy life in ways that I didn't think were possible. Generally speaking, I've been more relaxed, notice more of the subtle things in the world (like bug noises outside, for example), and I'm getting better, more focused results than ever out of my volleyball coaching. I'm writing better code too!

The only real sticking point is that I'm not making quite enough money. I'm spending more than I'm making. When I finally see some royalties from my book (assuming it sells well), then things will be a little easier, but until then I need to find something else to generate a little revenue. My ad serving software is almost done, so a few licenses a month would help there. One of my frequent clients is trying to throw a little work my way. I've got an ad sales campaign underway for one of my sites, and I've got a few sold campaigns in the pipe (that won't see money for a bit). Surprisingly enough, short-term and part-time contractor jobs aren't as easy to come by as I thought. Everyone wants you in on a year or more, and I can't commit to that if I sell my next book.

So this is it. This is the year, or half-year, where I figure out whether or not I can make it on my own. Will I continue to do things my way, or have to go back to The Man? Stay tuned...
Posted: Jan 11 2005, 08:55 PM by Jeff | with no comments
Filed under: ,
Sumi Das on CNN
You may recall that Erica Hill made her way from TechTV to CNN Headline News as an anchor. Well, the absolutely lovely and very smart Sumi Das, once the host of Fresh Gear on TechTV, has made it to CNN as a reporter. I saw her today reporting from the presidential inauguration grounds.

I hate to talk about her as a pretty face, but I totally had a crush on her when I first got TechTV at home. I loved when she had the little bob, but she's still quite striking with long hair.

Thank God another former TechTV personality has moved on to much better things.
Posted: Jan 11 2005, 01:34 PM by Jeff | with 3 comment(s)
Filed under: ,
Old code can be scary
In replacing the payment gateway I was using, one of the things I did was replace an ASP.old script. Ugh... how did we get anything done in those days? Looking back now, I can see why someone with an object-oriented background would want to use COM objects as much as possible. Sure, installing them was a pain, but not any worse than dealing with that awful script.

Slightly more pleasant, but not entirely unscary, I decided this week to actually finish the ad serving software I half-wrote back in 2002. Basically the scenario was that I needed to write something quick to serve a campaign I sold at the time. I wrote the serving part, but didn't write a single line of UI code, so I had to do everything by manually plugging stuff into the database.

The code wasn't horrible, but there was a lot of room for improvement and a better approach. I was able to refactor it pretty quickly into something I was comfortable with, and some initial testing shows it'll perform a little better.

I have a new found appreciation for reporting the statistics though. Millions of impressions create a lot of data. Data warehousing is not something I have a lot of experience with, but creating aggregate data on a regular interval seems pretty straight forward. The biggest decision is figuring out how much detail is really necessary. I'm guessing hourly stats are fine.

I know I've mentioned this before, but I wonder if revisiting old code ever becomes less scary.
Posted: Jan 07 2005, 01:48 PM by Jeff | with 2 comment(s)
Filed under:
PayQuake and Authorize.net versus my prior processor
After nearly five years, I finally dropped GoEmerchant.com and Nova as my credit card gateway and merchant account bank. For reasons I couldn't understand, the gateway went unchanged for the entire time I was a customer, never improved. I think it was physically even the same server. I signed up a client through them and it was a totally different interface. Never got the referral credit for it either. They were too expensive for the volume I do, and they were incapable of actually responding to support e-mail.

So I dropped them like a bad habit and signed up with PayQuake, which does its own merchant account and uses Authorize.net for a gateway. The transaction-related costs are a little higher, but without monthly fees and "statement fees" and other such nonsense, they cost about half of what I was being charged before.

Authorize.net has a nice admin interface and good tools. I like that you can require certain AVS conditions in order to accept the transaction. I haven't had a lot of chargebacks (two or three when I used to sell POP Forums), but being able to require a total match for street and zip is nice. Of the chargebacks I had, none of them made that match.

I haven't had to call PayQuake for support, but they seem to have a pretty good reputation in various Webmaster forums. Hopefully I can keep using them without a swtich for many years to come.
Posted: Jan 06 2005, 08:54 PM by Jeff | with 4 comment(s)
Filed under:
MVP drama
The post has since been removed, but I know a bunch of people linked to someone's blog where the owner indicated he was "pissed" about not being an MVP.

What's the big deal? Seriously... I'm asking. I don't entirely understand what the benefit of said recognition is other than to say that you have it. For me at least, knowing that I can help out a client (and get paid for it) or that someone will buy my book is good enough for me in terms of professional accomplishment.

People aren't defined by the external recognition they receive.
Posted: Jan 06 2005, 08:41 PM by Jeff | with 2 comment(s)
Filed under: ,
Using WebRequest... what the heck is wrong?
I'm changing credit card gateways, using Authorize.net. I whipped up a class that I can use on all my sites, the key method being this one:

public void Submit()
{
    string postElements = "?x_login=" + _login
        + etc...;
    WebRequest request =
 WebRequest.Create("https://secure.authorize.net/gateway/transact.dll"
 + postElements);
    request.Method = "POST";
    request.Timeout = 60000;
    WebResponse response = request.GetResponse();
    StreamReader sr = new StreamReader(response.GetResponseStream());
    string result = sr.ReadToEnd();
    sr.Close();
    response.Close();
    _rawResult = result;
    string[] results = result.Split(new char[] {'|'});
    if (results[0] == "1") _approved = true;
    _errorText = results[3];
    _avs = results[5];
    _transactionID = results[6];
}


This works great from a unit test that calls it something like this:
Transaction t = new Transaction();
t.Address = "3412 Beaumont Dr.";
etc...
t.Submit();


But when I try to use the exact same code in my Web app, it ALWAYS times out on the request.GetResponse() call. What gives? How is that possible? It times out both on my own box (the one that runs the unit test fine) and on my production server.
Posted: Jan 05 2005, 07:00 PM by Jeff | with 3 comment(s)
Filed under:
More Posts « Previous page - Next page »