Archive for Technology

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)

Database Design: 101

In my line of work, I see a lot of legacy databases. We often tasked with converting them to something more modern. My #1 gripe with some of our junior programs in this task is not converting fields to a more appropriate data type when this takes place. Two examples that I come across often.

Read the rest of this entry »

Comments (2)

Installing a New Thermostat

To my condo has a forced air hot water furance. It’s something of a marvel of technology, being as loud as a possible and all… Anyways, the thermostat that they installed with it is a $20 piece of junk. It’s cut off for turning on and off basically guarrentees this place goes from hot to cold over and over again.  This, was unfortunate. Even more so was that it would startle me awake at night.

Read the rest of this entry »

Comments (1)

Best Gift EVER!

A gift from Rogers Wireless! 

Gift from Rogers Wireless

Gift from Rogers Wireless

Always providing top notch service…

Comments

UPS vs Taiwan Air Mail

So I’ve been accumulating the parts for my car computer. I had to special order the dash piece for my car from Taiwan. Around the same time I ordered a really cheap LCD for the computer. This is a quick write up comparing the two items shipping…

Read the rest of this entry »

Comments

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)

Wiimote + Cell Phone = Profit

We’re at coffee tonight and we’re talking about the craziness that is patents. It occurs to us that many of the patents are just the same old technology, but on a cellphone or wireless network of some sort. This is obviously silly for many reasons, mostly that putting something on wireless these days is trivial… and that cellphones are essentially computers. So it stands to reason, if companies in the US can get away with filling this sort of patents… and defending them. Well, obviously there is money to be made by just… making patents up with various applicable technologies. So I present to you, our first prior art claim to… the motion gesture interface to cellphones.
Read the rest of this entry »

Comments

Review of Lowepro 200

I’ve been in the market for a new camera bag ever since I bought a 300mm telephoto lens. My plain old 35mm camera bag just didn’t cut it anymore. I wanted to take my camera with me, and be able to swap to a different lens if the need arose. Considering my 35mm camera bag from Lowepro has lasted the better part of 12 years or so… I figured they would be a good brand to continue using. At the recommendation of a friend who is a far more experience camera buff than me, I decided to go with a single strap, over the shoulder bag. This makes for easy pickup and reduces some of that back pain from carrying a load of equipment on one shoulder.
Read the rest of this entry »

Comments

« Previous entries Next Page » Next Page »