Loving the iPhone 4, in many many ways

I have had the iPhone 4 since launch day in Canada (July 28), having been lucky enough to be the tenth person in line at Rogers in Cobourg, where they had 10 phones allocated.

Why is this phone so much better? Is it packed with more features?

Not really. The video camera is new, but it actually just more usable as a camera, and that thought follows through to the whole device and to iOS 4 itself.

Fast app switching, along with background audio and processing, means I can flip from facebook, twitter, browser, mail, phone, camera, tomtom, etc without any loss of anything. That’s what I have been looking for in a device and didn’t even know it, since I was pretty darn happy with my iPhone 3G, and I have been touting it’s wonders since it’s launch day more than two years ago.

The front facing camera is a big new feature, but I haven’t used it yet. Once it integrates with Skype, PS3, and Xbox for video messaging, then I will be exciting.

There are still a couple of areas for vast improvement, too. The notifications system seems a bit wonky, and it would be nice to be able to control those a bit better. For instance, if I pick up my phone and I have 2 calendar invites and 3 facebook messages, I don’t necessarily want to only see the last notification. There’s gotta be a better way to visualize those things. It’s a minor beef, though, to be sure.

More later – joel

What is News?

I read an article today that got me thinking about the nature of “News” and what it means to be delivered news through the normal channels, such as newspapers, television, radio, etc.

I think that we are so used to be TOLD what is news that we have nearly forgotten what it means to experience and report on events ourselves.

Enter blogging.

We need to embrace this medium and expand it! It is a legitimate form of reporting on news through the eyes of the beholder. It doesn’t pretend to be something unbiased or objective (since NOTHING is!). We don’t need an institution like a media network to tell us what is news. Sure, they have the connections and the people in the all the hotpots (supposedly), but what about hearing the news unfiltered through the eyes of the people that are living in the hotspots?

Wouldn’t it be nice to judge for ourselves what is and is not the TRUTH?!


Well, I finally wrote (and passed!) my final exam in the MCSD certification. For those of you who don’t know, it stands for Microsoft Certified Solution Developer, and is a tough cert to get.

For my elective exam I wrote 70-229 (SQL Server 2000 Design Exam) and finished off lastly with the 70-300 (.Net Solution Architectures).

This last exam was tough because I had a completely different format (Case Studies) and didn’t allow you to simply study the textbook to memorize all the answers. You had to actually discover your answers from the Case Studies, which is a much better test of knowledge than simply doing multiple choice.

So, hopefully things will continue to go well leading into .Net 2.0, Asp.Net 2.0 etc and then on into Whidbey, Avalon, Indigo, etc.

I can’t wait for the future!

MSDN Deep Dive – Enterprise Integration…

Went to an MSDN Deep Dive session today in Toronto.

Great session – the material was fabulous and the vision MS has for SOA is definately compelling, especially since it is available today and will be more available later on with Indigo and new versions of BizTalk.

I was astounded by how simple it will be to build secure, relible and transactional services that can use any protocol based on the situation. That is what the IT managers need to be told, in simple English.

The widescreen presentation sure made PowerPoint look like crap though, and it was really blurry. Bad blurriness.

Can’t to try see VS 2005 with Team System. I am really looking forward to decent version control! As well, the nUnit tools will be a nice shortcut to solve tedious testing tasks.

More later on this as I get a chance to try stuff out.

My Own Indexed Sql Server View…

What a pain in the @$$. I have to create a sortable, searchable view that has nearly 100 columns, with over 65 joins, 36 “pivot columns” and more. How do I make this giant monolithic thing perform well?

Select the whole doggone thing into a new table, which you actually use to view the data.


This is ONLY ok if the data is pretty much read only, since you need to add a trigger to the tables to update the New_Table on update of the actual records.

Nasty, but you can only create indexed views on very specific requirements, and this puppy needed Functions that did lookups, as well as Left Outer Joins. Tough.

BB 7280 post…

This is my first post using the browswe on the BB 7280, with beta 4.0 os. Wow. Javascript, tables, css and more all on a tiny device. Memory is still a bit scarce and processor speeds have yet to catch up to the demands of the java-based apps, but it is still a great device.

Just today I was tinkering with the 4.0 java dev tools for bb, and they have added enought integration points (finally) that a real enterprise app for these thing with true push technology is possible.

Mds server admin allows me to install an app from the server to the device and have it preload with data without the need to cradle, and all future updates can happen without having to sync manually.


The Toronto .Net User Group Meeting – thoughts…

It was a great development topic at the .net user group meeting in Missisauga last night.

The .Net Compact Framework combined with Visual Studio.net 2003 is far and away the best development platform for Enterprise handheld apps.

Sql Server CE is super easy to use for handheld data storage and web services and other http access is ridiculously easy to set up.

The only thing I was hoping to hear about and it is just not available, I suppose, is a server based “Push” architecture to get data to the handheld WITHOUT REQUIRING A SYNC.

The only server/device architecture that has this so far is Blackberry with the BES/MDS.

I suppose it would be a really cool C# app to write a web services based Push technology for the device that could be utilized by any app on the device. It would be a combination of server based service that could be called by apps wanting to push data to devices, as well as a service that the device calls on a pre-defined schedule for retrieving the data waiting for it and sending newly updated data down to the server.

This idea only works for wirelessly connected devices, since you don’t want to have to push “sync” on those, but since that is becoming the norm with 802.11 and GPRS/CDMA networks emerging.


First post

I started this blog so that I could keep track of some work and personal stuff and maybe have some other people check it out.

Today is the first time I am going to the .Net User Group meeting. Should be cool.

Solved a wickedly cool problem with SQL Server performance yesterday by selecting a really slow view into a new table after data import and then updating the table from the view on a trigger. It works great for views with far to many joins to perform well, but need to be there.