Archive for Rants

Advice for Paypal users

So, if your a paypal user like me, you may of added your chequeing or saving account for direct withdraws and deposits. Makes sense if you do large online purchases and occasionally sell something as well. They make this “convenience feature” very visible and push it for EVERY transaction. Every time you buy something the default is to use you cash accounts, not your credit card. They tout it as “Safe, Secure and Easy”. Well, I’ve go news for you… it’s not.

Read the rest of this entry »

Comments (1)

Dropping Default Constraints in MSSQL

I came across this today: Working With Default Constraints

Basically, if you script any sort of table changes in MSSQL you will eventually need to use this code. In MSSQL’s infinite wisdom they made default values on NOT NULL columns occasionally have a mysterious constraint. Ordinarily, constraints on fields on tables are easily found in INFORMATION_SCHEMA.TABLE_CONSTRAINTS; but, these particular constraints are hidden for whatever reason.

This makes removing them programmatically very difficult, since they insist on putting a timestamp/guid on the end of each auto-generated default constraint. SO, this useful page on the MSDN provides a way to query the actual name of the constraint given the table name and column name. This, allowing you to remove it before you do something completely crazy like delete the column.

Of course, if your not in to scripting your database migrations then you can just use Management Studio and delete the column.

Comments (1)

The Eddie Bauer Reward Program

I’ll keep it brief. You sign up for a card. You get two points for every dollar. Takes 1000 points to get $10 off. $10/$500 is 2% off. They force you to accept a coupon for this redemption as soon as you hit 1000 points. They print this on thermal paper and give it to you to loose. It also expires 3 months after it’s issued. So, if you shop very frequently at Eddi Bauer, this card is for you. Otherwise, it’s a giant waste of time, plastic and paper.

Comments (1)

UPS, Delivery at the speed of light

Much to my amusement, UPS managed to get me a package 2 minutes before it had even arrived in Saskatoon!

UPS manages to deliever a package before it arrives

UPS manages to deliever a package before it arrives

I seriously wonder how hard it is to track a package in this day and age…

Comments (1)

An Amusing Tale of Passing on the Right

So I’m on my way back from the bank today. Heading down 51st towards warman ave. The lights at that particular intersection heading east and west allow for three lanes of traffic, but most people who plan to continue through don’t use the far right lane. Most of the time it’s full of people turning right (and not turning right when they can, given they have their own lane to do so in). At any rate, the light turns green and we all proceed to move through the intersection at the usual pace.

This guy behind me is riding my ass and he obviously want to be in that right lane ASAP. Well all the power to him I think, as I see broken down car up a head in the right lane. Since he was following me sooo closely I think he couldn’t see that car, because he choose to peel out of the lane right into it. I say he was going 60km/h or so when he did that. Right smack into the back of the other car. Didn’t appear to be anyone tending to that poor parked car, and the guy immediately jumped out of his car waving his hands in the air. I figured he was fine if he could do that and kept on moving.

Today’s lesson in driving? Always maintain a safe following distance in your car, and exercise caution when going around vehicle on the right. You have something of a blind spot there.

Comments (2)

Install Shield, Friend or Foe

At work I’ve been using the newest and greatest Install Shield Premier 2008 for packing aforementioned Visual Basic application. We actually had version 10.5 sitting around, but somehow I managed to change the dependencies for this application is such a way that it confused the heck out of the 10.5 version. Now, I’m coming from a unique perspective here, in that I’ve attempted to use 10.5 and 2008. Here are my “Install Shield Grips”:

  • The difference between MSI project types is nearly meaningless. “Basic MSI” can only literally handle just a straight up wizard created project. Anything remotely useful requires you to migrate to the InstallScript related projects. My point here, why even bother having it as an option.
  • Documentation included within the app is sparse at best. Documentation online is marginally better. $250 manuals, ever so slightly more useful than online docs. Would it kill them to keep these manuals up to date as well? I’ve already come across a few cases where the manual for 2008 does not reflect changes made since 12.
  • Complete lack of a useful Dialog building GUI. Was an issue in 10.5 and still is an issue in 2008. Seriously people, if you going to charge that much for your product… give me something I can actually see as an improvement.
  • Did I mention the entire interface for the application has basically remained the same? Well it has, all the slow loading pages and forms are still here in 2008.
  • Want to test custom script actions? You’ll have to rebuild your who MSI project to do that. In my case that’s a 20 minute or so wait between tests.
  • They have this nifty feature called release flags, but fail to implement it everywhere it could be useful. Results in you hacking the install scripts to get behaviors based on the release flag anyways.
  • Skinning support is poor to horrible. Let’s not forget that it’s documentation is poor as well, making it all that more entertaining to use.

Read the rest of this entry »

Comments

My List of VB6 Gripes

I’m working with VB6 at work. This list is not nearly complete, but it does represent all the problems I had today with VB6. I’m sure I’ll remember some more as it bits my ass over the next week. In no particular order of importance, here they are:

  1. Code that works in VB.Net and should in theory work in VB6 (with the appropriate changes) never does.
  2. Modules are static classes and everyone uses them way too much.
  3. Dependencies with OCX and DLL files are cached in some queer system that is supposed to save me time. More often than not it buggers the project up on release.
  4. The Intellesense line complete is retarded 99% of the time.
  5. Building your project requires you to specify where to save; and, what the file name is every time.
  6. The errors VB passes along are generic to the point where it may as well say, “Something bad happend. Insert MsgBox someplace random.”
  7. The only way to debug an app with any degree of accuracy is with lots of MsgBox’s.
  8. Add a new Module, Class or User Control. Try to compile without saving your project first. Watch it burn in flames.
  9. Doesn’t auto save before debug. If you get some sort of long msgbox loop from debugging there is no way to stop it other than killing Visual Studio 6. Redo all work.
  10. Pretend enums, even thou we have enums in VB6. Apparently they decided not to use them for anything remotely intellegent.
  11. Take two integers (whole numbers) and divide them. Usually you would expect an integer as a result, but with VB if the result is not a whole number it returns a float. If it is a whole number it returns an integer. Makes you wrap all your integer math in CInt()/Int() if you want it to be sane. Added August 22nd, 2007
  12. VS VB6 seems to forget where referenced DLL’s are; or, just ignores where it knows they are and pretends they’re not there. The result of this is that any “object” that used the reference is removed from the code, along with any attributes customized for it. Added August 22nd, 2007
  13. There is no undo for moving form elements. If you had an exactly placed element and accidentally moved it your hooped.Added August 24th, 2007

Note on August 24th, 2007: I realize many of these issues are fixed in later editions. My point here is that I shouldn’t be developing software in VB6… it’s wasting my time.

Comments

ASP.NET 2.0, Dropdowns

I’ll keep this as short as possible. I’ve been doing more ASP.NET 2.0 development at work. Sometimes I’m amazed at how simple and fast you can do something. Other times I’m horrified at how lacking it is. I have nothing particularly against ASP.NET 2.0, but if it was something opensource… people would be fixing these petty problems. Here’s an example:

You have a drop down list on a page that is DataBound to a list of items. These items all appear on the page, but you may have to scroll to them. You want to let the use select the item from the drop down and scroll to it (with the magic of anchor tags). Typically you add an “onchange” event to call some javascript that does this. Something simple like: window.location = “#item_id”;

Unfortunately, ASP.NET 2.0 doesn’t want you to do client side scripting with their controls, so you left with these options:
1. Render the control manually in the ASP page. This is the method we’ve been doing for years, creating large unreadable source pages. It’s what all this ASP control jazz is supposed to fix.
2. Extend or rewrite a new control that accepts this property with no complaints. This may already be done by someone out there. Down side is you add a dependency to your project and usually get a bunch of other crap you didn’t want. Extending it consumes some time, but if done write you can probably reuse it.
3. Add the ‘onchange’ attribute to the control with some code: controlName.Attributes.Add(“onChange”,”javascript: return confirm(“Are you sure?”);”); This works, but you end up combining your view and control code, which once again is something ASP was supposed to fix…

None of these solutions are particularly good. When I worked on a site that used Castle I found many similar problems with their “Helpers”. I submitted updates to them, so everyone benefited. With Microsofts ASP.NET, we have to bitch about it. Send in a request. Wait. Wait some more. Then maybe they integrate the requested fix/feature in the next version. The whole process taking years usually.

Note: I’m not endorsing the use of Castle. It’s relatively mature, but doesn’t provide much of an advantage over a well designed asp.net site. Also, to do anything moderately well in ASP.NET, you should understand their DataSource stuff. For larger sites, be prepared to write your own datasource handlers, because the ones they provide are limited in their usefulness on large sets of data (e.g., they retrieve full sets of data before pagination or sorting).

Comments (2)

A brief political/religion example

Comments

Just How Lazy Are We?

Literally out of no where this morning I was thinking about mowing lawns. Some may already know my particularly odd stance on this subject, but the more I thought about it; the more I needed to say something about it. I use a push reel mower. You can find them almost everywhere you can find gas mower. Let jump into why I use one of these “old school” mowers.
Read the rest of this entry »

Comments

« Previous entries Next Page » Next Page »