Categories
Business Intelligence Geeky/Programming Ramblings

Excel 2003 vs Excel 2007

It is the year 2008, we are half way through. Excel 2003 is 5 years old. Stop using it please.

Why? Excel 2003 has the old “limits” – 65,000 rows, 256 columns, memory limits etc. Excel 2007 on the other hand, 1 million row limit, etc etc. That coupled with the way pivot tables work in Excel 2003 compared to 2007, and the SQL Server Analysis Services features with 2007, it is a no brainer to go to 2007.

Companies will say – “But we can’t move all our users to 2007, we can’t afford it” – well, think about just moving your power users. The users that have huge spreadsheet extracts, etc. It is worth it. They can save files in 2003 format if they need to share a smaller file or something, and the 2003 users can install a 2007 viewer.

Other options for huge spreadsheets and extracts are… Access – which your users need training on, or need to be able to adapt to, or another options is SSAS and Cubes, which you need executive buy in, and the infrastructure, and the training to get your users up to speed, and by that time you will want Excel 2007 to connect to the cubes, so…

just start using Excel 2007 – 2009 will be here soon!

Categories
Geeky/Programming Life Ramblings Random

More Boring Tech..Atari, Brats, iPhones, Rock Band (fake and real!)

Well, new job is going OK. Not much to report really, as you can see from the lack of posting. No new tech or anything interesting leads to… well, boring posts like this. Basically I am knee deep in an older ERP system, and doing report mods and small .NET applications to automate some things, but nothing really exciting. A couple of weeks ago though I went through some online MSFT trainings for .NET 3.5 and SQL 2008 (free clinics on microsoftlearning.com) and that was some good info, now only if I could use it. 🙂

In other news, I picked up an SNES and TWO Atario 2600’s for like 55 bucks, with like 30 games, which is pretty cool. Went to “Bratfest 2008” and helped set the new world record for brat’s consumed.

Picked up Rock Band, so have been hitting that a little bit, but even better news is that I have been playing keyboards more now, and if everything goes right, will be playing with a local band here in Madison in a little while. I am learning the songs now and have some down and ready to go already.. fun stuff.

The iPhone 2.0 Firmware is going ok. Kind of slow at times. I am kind of mad, I lost all my pix of BratFest and other things from Memorial Day weekend, when the new Beta6 firmware came out, I updated, but dummy me forgot to download my pics to my computer first. I tried the Paraben Device Seizure tool that has been used to forensically get data off refurbed iPhones, but it didn’t work, didn’t find anything. oh well, I won’t forget to get the pics from now on 🙂

There is a lot of hoop jumping to get the new firmware loading. Creating certs, importing their certs, creating appid, provisioning profiles, blah blah blah. I do really like the exchange push email, and with my fetch Google Apps email, its like everything right there. That coupled with Google Reader and the Facebook iPhone site, I don’t even need a laptop to browse around anymore…

Also waiting for this Democratic Primary to be over, so things can move on to the General Election. This year needs to be different, if the last 8 years are any indication of what could be, things just need to change.

Last year on this day, my first day in PDX. Time flies.

Categories
Life Ramblings

An Update about Jobs, Games and Phones, Car Radios, Oh, and Who Moved My Cheese?

Just an update and some rambling. I haven’t blogged much lately because, well the blog material is in low quantity. Why? Because I just changed jobs! Previously I was a Independent Contractor (for W3i) and now I am a consultant with a new company (Stratagem) here in Madison. As always when you wind down a job you are leaving, there isn’t much “work”, more training in people or just finishing up things. Also, in the new role, I just started today, so once things get rolling there the wheels in my head will be going again.

In other news? I picked up GTA IV and Guitar Hero III for Xbox 360. I am liking them both so far. If you want to play, hit me up, my gamertag is ScaleOvenStove.

Also, I had to bite the bullet and actually subscribe to at&t. I probably didn’t have to, but I have been reading reports and blogs of people in Madison getting their T-Mobile shut off. Why? Well T-Mobile doesn’t cover Madison. Einstein PCS and at&t cover Madison (for GSM coverage). Now, with T-Mobile, my main market was the St. Cloud MN market, and I had a St. Cloud npa-nxx (read: area code and first 3 digits). My plan was nationwide roaming, so basically as long as I was on T-Mobile, it was ok. Even when I was in PDX, it was probably OK since I was on T-Mobile’s towers.

Now, in Madison, there are NO T-Mobile towers. So that means I was constantly roaming on at&t (oh the irony) or Einstein PCS. T-Mobile probably has some program on their backend that looks for patterns like this (constant roaming in a different market) and they then shut you down because you are costing them way to much money and really you aren’t in your correct market.

Next step? Register with at&t – but I had to get a new number as well. Why? You can change your number – but only within the same markets. WLNP stands for Wireless LOCAL Number Portability. The “local” part is key 🙂 – so since I had a St. Cloud number there is no way I could port it over. I still have both numbers, and once the 3G iPhone comes out, I will get that, give my original iPhone to Emily and then change my T-Mobile St. Cloud number to a pre-paid T-mobile account.

Whew, what a debacle huh? 🙂

What else? I want a new car radio for my Vibe. Thing is, I cannot find the one that I want. I want everything 🙂 Bluetooth, USB, Aux, GPS, Double Dinn, etc, etc. Just not out there. And Best Buy, Circuit City, and even Local shops (Radio Doctor), just seem … well, lacking. You go in and half the spots where radios are supposed to be are empty, or they don’t work, it just seems very amateurish, maybe its just me.

So, for now, my feet are rooted in MSN (that has to be the worst airport code – since it is the same as Microsoft’s MSN).

Categories
Geeky/Programming Ramblings

Hacking Microsoft Pro Photo Tools – Using Reflector to use MapPoint Lat Long Lookup (for free!) in C#

The other day, Microsoft came out with “Microsoft Pro Photo Tools” which allows you to geocode your photos. It is a pretty cool app, but there are some things that I wonder, like why didn’t they just build this functionality into Windows Live Photo Gallery?

Anyway’s, with any new thing I download and play around with, I started digging into stuff. I looked in the install directory, C:Program FilesMicrosoft Pro Photo Tools and noticed that there are some Interop assemblies and other assemblies, etc. I fired up Reflector and started disassembling the assemblies and exe. Pretty cool stuff, you can see what they are doing. Using xaml forms, etc. The cool stuff is the Location based stuff.

Microsoft has MapPoint web services which you can use/sign up for, but they cost a pretty penny. I have used some of these web services in the past and they have a ton of functionality.

Like I said, digging through the disassembled stuff in Reflector, I saw a method “GetLatitudeLongitude()” which takes in country, state, city, address, zip and returns a lat long object. But, you need a “MapPointWrapper” object to use it.

I fired up Visual Studio 2008, and then referenced the assemblies in the Pro Photo Tools directory so I could use them in code. I created a test WinForms app, and started hacking away.

Looking at the MapPointWrapper class constructor in Reflector, I noticed that it needs a username, password, URL, and timeout, the first three I don’t have – but I bet I could find!!

Here you can see the constructor as it looks in Reflector. The thing I noticed right away is that they have the username and password embedded in the function, although its all “encoded”, then blend the strings together to create default credentials. Their blend method is using some bitwise operators, etc, if you are interested, you can just click on the Blend method and it browses to that (did I mention Reflector is cool??) – anyway’s, I still need a URL…

image

Reflector lets you click on a class and “analyze” it, which gives you what classed depend on it, which classes use it etc. Just going through the list for MapPointWrapper, I found one that showed how they call the constructor.

image

That’s the ticket! You can see they are passing in empty strings for user/pass (which then gets converted to the correct user/pass by the constructor) and then the URL is right there!!! nice! We can use this!!

Now, on to using this functionality in our own app!!

image

Now, this will give you the lat/long back from MapPoint! Sweet. Now we can start digging into everything else – what else do these assemblies expose?? Can I get routes? directions? Maps? etc, etc, etc. There is a plethora of things to dig into. It looks like they are just using Virtual Earth though to get maps, not MapPoint (from what I can tell anyways).

I know there are a ton of other ways to get this info, but this was basically a test to reverse engineer their assemblies and use the functionality. I don’t recommend or condone hacking/reverse engineering assemblies like this for profit, more for fun , in other words – don’t use this in a production app as Microsoft would probably find out and come hunt you down.

This post is also just an example of how .NET code can be disassembled easily and re-used, for good, or evil 🙂

There are some basic things that every developer should do with .NET desktop apps – use Dotfuscator (which just obfuscates your code, making it harder/not feasible to reverse engineer, and also encrypt any strings/values you don’t want anyone else using or reading. That being said, Reflector is a great way to see how other applications are coded, and learn how they work. Happy Coding Hacking!

Categories
Geeky/Programming Ramblings

Ubuntu 8.04 Hardy Heron – Linux is Cool, Linux Wireless is Not – 10 Step Program

Gah. I have a love hate relationship with Linux. It is pretty cool, can do pretty much everything. But.. But.. wireless support is just a joke. Same issues with Yellow Dog Linux on the PS3.

Wireless should JUST WORK.

I downloaded the 8.04 iso, and burnt it to cd. Installed it in windows, which is cool, a 10 GB partition. rebooted and the windows boot manager lets you choose , Vista or Ubuntu.

After getting set up, logged in, I tried to get on wireless. Doesn’t work. The thing is with Linux, is if you start configuring stuff here and there, it can get WAY out of hand, and then its just wacked. That happened, so I reboot to Vista, uninstall Linux, reinstall.

Now, lets search the forums, blogs and what not to get wireless to work. These are the steps I took to get it to work. My laptop is Inspiron E1705 with Broadcom wireless..

Fire up terminal..

1) sudo apt-get install build-essential

2) wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2

3) tar xjf b43-fwcutter-011.tar.bz2

4) cd b43-fwcutter-011

5) make

6) cd..

7) wget http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2

8) tar xjf broadcom-wl-4.80.53.0.tar.bz2

9) cd broadcom-wl-4.80.53.0/kmod

10) sudo ../../b43-fwcutter-011/b43-fwcutter -w “/lib/firmware� wl_apsta.o

Now, reboot a few times, and then maybe.. just maybe your wireless will connect and work. Once it latches on, it seems to be fine. I am on Ubuntu right now, writing this post.

Only 10 steps to get wifi working, all manual, and just a PITA. Granted it took me about an hour to patch together 18 different ways to get it to work..

Now I know why people use Mac and Windows. There is now way regular users are going to put up with that. Its like having to turn a crank to get your engine in your car to start. Just ain’t going to happen. Maybe in version 9 🙂

Categories
Geeky/Programming Ramblings

Windows Vista vs. Windows XP Debate. Who Wins?

I have been using Microsoft’s Windows Vista since it came out RTM, Oct 30 2006. I had it on a Dell desktop, which worked fine. Some driver issues before January 2007, but it still worked. I have had it on my main Dell laptop since May 2007. I use this laptop for work (read: Visual Studio 2005, 2008, SQL Server, Office 2007 etc, etc)

I started using XP the same way since it came out in 2001. Even though, at work, I was forced to use 98/2000 for a while, but I had XP running at home, and ran it all they way up till I installed Vista fresh.

Now XP SP0, was very buggy, driver issues. Same with Windows 2000, SP1 came out and a lot of issues were fixed and it was more stable, yet insecure. SP2 fixed most of the big problems and it was very stable, mature OS, and now SP3 is RTM which adds a few hidden features, as well as all the security patches since SP2. Good deal, yeah, XP is stable, mature and works. Guess what? So is UNIX. It doesn’t mean we want to use it on our machines.

Vista is the new OS in town from Microsoft, and it works just fine. Great almost. Yeah, you heard me right. It works, it doesn’t suck, and yeah, it is better than XP.

Anyone who says otherwise either

a) Doesn’t know how to setup and work Windows

b) has hardware that they can’t get working

c) has an OEM machine full of bloatware slowing it down

d) doesn’t know how to tweak a machine for performance.

e) they haven’t used Vista (because of work reasons or whatever)

Yes, XP works, it works well, for people running Compaq Pesarios or HP machines that are 5-6+ years old. It works well for Linux geeks who really don’t know how to work Windows. It works well for Mac people that need Windows every now and then.

But Vista, just works. My desktop was purchased in Nov 2005. 2 GB of ram. Vista works like a champ. Laptop in May 2007, once again, runs like a champ. Even my MacBook with 1GB runs Vista very well using Apple’s Boot Camp.

Vista IS more secure. You can run it without added bloat of an antivirus/spyware in my opinion. And if you are behind a router, you don’t need a firewall. Now, in XP’s case.. you probably need all three, just because XP is more vulnerable, and when by chance it does get hit by malware, it makes it MUCH harder to get it off XP (I know from helping people) compared to Vista.  Vista has built in tools to identify rouge programs, processes, and things that just shouldn’t be there. It gives you more insight into what is going on – the control panel has tons of options to monitor everything, and, Vista is locked down by default.

Yes UAC is a pain. I disable it, I am a power user. You don’t even need to be a power user, just a smart user. Don’t install crazy things, use Firefox, things like that.

I have been using Mac OS 10.4 and 10.5 now for about 6 months. It is OK, it works, depending on what you want to do. If I wasn’t a Windows developer, I could get by on Mac. I could get by on Linux (I have used it on and off for 8 or so years). But could an average user get by on Linux? No. That is why Linux will never become mainstream for end users – it is too difficult. Even Mac/Windows (and pssst Linux) geek’s give up on Linux because it is just too damn non-user friendly sometimes. No, I shouldn’t have to recompile my kernel to get wireless working. No, I shouldn’t have to edit config files ANYWHERE to change settings, not as an end user. As a power user, yea, that’s fine.

Back to XP vs. Vista – the petition to keep XP alive is just like trying to keep VB6 alive – it will always fail. VB.NET is superior to VB6, Vista is superior to XP – it just is. Vista MCE is much better than MCE 2005, just a ton more options and features, and it works, I could just keep going on and on listing feature comparisons, but it isn’t worth it.

I can say from experience, that Vista wins this war with XP, and until someone can convince me, that is how I roll 🙂

Categories
Blogging Ramblings

FriendFeed, Pownce, Twitter, et al – And Why Twitter Is The #1 Service (Even though it is down a lot)

The A-listers. The are the people who just talk about themselves. The A-Listers on the Internet. The A-listers mostly talk to the just the A-listers. They all use every new service that has come out and claim it is the next big thing. Yes, some services are good, some not so good. They seem to miss points on things though. It is almost like the MSM. They don’t catch on to the good things till after the bloggers been talking about things for a while.

The a-listers, they catch on to things, but they get so caught up in everything they don’t step back and take a look at a service (Facebook for instance – for a good two months it was Facebook this, Facebook that, even after tons of people were using it and praising it, a-listers then all of a sudden “discovered” Facebook and it was glorious, now, people still using it, but the a-listers have moved on to new and shiner things aka FriendFeed)

Twitter seemed to pick up steam, and it is good, but can get overwhelming. I am ashamed to admit it, but I do like Pownce better, the ability to put files up is just stellar, which Twitter doesn’t have.

FriendFeed is like a super twitter almost, where it aggregates all these services (Twitter, Blog, Flickr, and more)

What ends up happening though is duplication. Ugh. So I subscribe to you on Twitter – cool, then Pownce – cool, Next, Facebook, alright. But the problem is, you use a tool that posts to all 3 (Plaxo pulse, SocialThing, etc, etc) – so what happens? I get the same update in 3 places – not cool. Duplication.

Then, I get your FriendFeed, which is duplication AGAIN of all that stuff. Yikes.

Now all these sites have web interfaces, which are nice. Some have desktop apps, and more and more desktop apps are coming out. So you end up having 3-4 desktop apps for all these services (reminds me of ICQ, Yahoo Messenger, Windows Live Messenger, AIM, Google Talk) – WTF huh? Are we going backwards?

Using the iPhone, you can get to mobile versions of Twitter, Pownce, Facebook, FriendFeed, etc, and its all good, yet … Duplication.

Personally, I like setting up Twitter in my Google Talk (I’m really using Pidgin). Then if I want to be apart of the conversation, I send “on” and it turns on updates, it comes through like an IM, and when it gets overbearing, I just type “off” and they are quiet, and I don’t miss anything.

Pownce has a third party tool, pownceaim, but it really lacks something, its too chatty, and handles auto replies bad.

But, overall, why is Twitter #1? Well, this is why.

You can TEXT your status to Twitter from your phone!

You can get TEXT’s of updates to your phone.

These other services lack in this area. Facebook has something similar but it doesn’t even work for T-Mobile.

Why do these other services lack the SMS feature? One word. Money.

They don’t want to pay for a short code (which is upwards of 5000 a year last time I was looking) to be able to handle text messages. Twitter has paid up for theirs, and I think that is the best part about Twitter, I can update my friends and followers just by texting, which is cool when you are not by the computer.

The blogosphere is rampant with “twitter replacements” this week since twitter has had some downtime, but no matter which you pick, it will never beat Twitter until they accept TXT, IM, and Web, and Other API built program updates – that is the killer feature.. It seems that most of the a-listers don’t realize that.

Categories
Geeky/Programming Ramblings

Why is MFC Not Dead?

I was reading through some blogs this morning, and ran across this one, from my MSDN Feed.

Here is my answer (I wanted to leave a comment, but it wasn’t working, and I figured it would be a good blog post anyways)

Right now you can make an MFC app and it can run on win98,2k,xp,vista, etc – out of the box. Anything with .NET requires the framework, and if you want your app to just be downloaded and ran, then the framework limitation hurts you. Why make someone download and install a d 20+ MB framework?

I wish there was a way to deploy .net apps without the framework, maybe with just assemblies the apps needs.

But like I said, companies want apps to run on as many clients as possible, which just isn’t a reality with .NET, but it is with MFC.

I really think Microsoft is clueless on why people use MFC and not .NET or even an Web App. Finally, MSFT is starting to use .NET in their client apps here and there (WLW, SSMS, Zune, etc, etc)

Once all apps written by Microsoft use some form of .NET, and Windows 98, 2000, and XP are gone for good (or at such small % of market share they don’t matter, say < 1%), then we can actually write .NET client applications (and have to target the version of .NET on Vista, since that is the lowest common denominator) – OR… MSFT could push .NET as a critical update to XP and wipe the % of .NET installed down to a low enough number to make it feasible to create .NET client apps and get a good chunk of the market share..

There are always going to be people that use MFC for whatever reason, but ease of use is certianly not one of them. A small example is, in .NET, I can create an app that displays a toast message, has a systray icon, connects to FTP, handles web services, and much much more, in very little time, and with a small number of lines of code, whereas in MFC, doing those things is a huge undertaking, 1000's of lines of code, and even then some of it is very "hackish". Yes, doable, but not very easily.

Another argument could be as well, that if your app is good enough, people will download it and install the framework if they don't have it, and I think that is a very good argument (except windows 98 is out of luck – can't install .NET) – I think this last argument is the best – if people want it, and it is an awesome app, they will install whatever to get it to run.

Anyways, I am rambling.. probably could keep talking on this topic for another 100 paragraphs or so. 🙂

Categories
Ramblings

Discovery Channel has Jumped the Shark

JumpTheShark 

The Discovery Channel used to be the place to go to just “learn” instead of watching TV. Between the Discovery Channel and History Channel you could just learn all day and night. Well, it seems the Discovery Channel has just become the place for continuous runs of the same 4 or 5 shows.

MythBusters – this show was good for the first 10 or so episodes, I would say after that this show itself Jumped the Shark

How It’s Made – a show they pulled from the Science Channel – cool show, but annoying after a while

Cash Cab – half assed attempt at a reality type show. Really, do we need to watch people in a cab answer trivia questions?

Other Shows (Deadliest Catch, Mega Builders, It Takes a Thief, etc)

What happened to the actual substance of the Discovery Channel? Most of the good shows are now on the Science Channel but that is heading towards being an “MTV2” to the Discovery Channel.

Can we get a channel that has unique programming 24 hours a day, but still intelligent and interesting? Not sure if we can these days…

Note: if you don’t know what “Jumped the Shark” is, it refers to a point in something’s life where it has outlasted its usefulness. It comes from the show “Happy Days” where the Fonz jumped sharks on water ski’s in his leather jacket. At that point, it was like “WTF are they still doing making shows here, the best they can come up with is this?”

Categories
Geeky/Programming Ramblings

Windows Live Writer – API Open (not really) – I Want To Download Existing Posts

So, I am sitting here scratching my head again. I use Windows Live Writer (WLW) to post to my blog. I like it, it rocks. There is a plugin architecture, which is cool, and some other API’s for doing things.

WLW saves drafts and posted posts as .wpost files to a directory in your My Documents. The files are in a proprietary binary format. It is cool though as all your posts are saved and you can open existing ones, edit, and republish easily.

I want to go through my posts and add WordPress tags. Not technorati tags, but WordPress tags, so I can have a cool little tag cloud. WP 2.5 support WLW tags by default, WP 2.3 (which I am running) can get tags from WLW through a little REG hack which I have applied and it works for new posts.

What I want to do, is update all my historical posts through WLW instead of WordPress web interface.

Since I have reformatted, changed computers, started blogging before WLW came about, of course I don’t have all my posts on this machine. So I thought, why not download them from my blog and create .wpost files so I have them?

First I looked for a plugin, no dice, doesn’t even seem that anyone has wanted to do this. I searched forums, blogs, Google, whatever. Found little info.

Next I dug into the API, nothing there that would really help me. What I would do is just access my posts through the XML-RPC interface WordPress has and create new .wpost files in my directory, you wouldn’t think it would be that tough..but it is.

It would be nice if the .wpost file was open and had a documented spec, that way I could do it easy as 1,2,3. Even if there was some API with WLW to create new posts and save them (you can create new posts, but only by programmatically opening WLW).

Well, I guess I will keep my eyes open for anything that comes along that will make this possible, until then, it is using the WP web interface. I suppose I could write an app to just directly edit the post tags through the XML-RPC API, and save them, but I want them on my machine as well. Just another good backup I suppose.