shahine.com/omar/

homepage | Send mail to the author(s) contact

yet another Microsoft blogger

# Friday, February 13, 2004

WMA, AAC, MP3 and ripping audio

Jeff Key recently posted on WMA/AAC/iTunes etc etc. I personally don't care about any of this and here is why:

  1. I have an iPod
  2. I have a Windows Media Center PC
  3. I have a few Windows XP machines
  4. I have a few Macs

I want to be able to listen to my music everywhere. I also want to rip my music ONCE in my life (unless massive hard drive failure occurs in which case I have to do this all again). I don't buy DRM'ed music because I cannot purchase WMA and listen to it on my iPod and I can't buy iTunes music and listen to it on my Media Center PC (which is the hub of my living room and bedroom entertainment centers).

So, here is how you get the best of everything:

  1. Get a big hard drive. I have two 200 GB drives in a RAID mirror for redundancy. I have a third 200 GB drive that acts as a backup to the RAID.
    1. The reason I do this is that I've lost my entire music collection once due to hard drive failure.
  2. Using a PC, rip all your audio using WMA Lossless. This results in about a 50% lossless compression. So each CD takes up on average 250 - 300 MB of data. Lossless compression ensures that your audio is encoded digitally bit for bit.
  3. Transcode all the audio to MP3 using the Windows Media Plus Pack Audio Converter for $19.95 and an MP3 encoder (you need an MP3 encoder to convert from WMA to MP3). It took my PC 2 days to convert about 150 CDs to MP3 (running 24/7) w/o any user intervention.
  4. Use Napster 2.0 to stream/download any music I want and listen to on any PC device (Macs not included). Anything I like I and want to listen to on my iPod I purchase the CD of using Amazon.com One Click. Napster holds me over till I get the real bits, and encode losslessly and then transcode so I can enjoy on my iPod.

The nice thing about encoding using lossless is that I can transcode to any audio format that has a direct show encoding plugin (hooks into Windows Media Player). This means that I'm not tied to any single audio format, so the end result is I don't care if it's MP3 or AAC or whatever lossy codec is popular.

The only downside to my system is that I cannot purchase music online and enjoy on all my digital devices. However, if I'm going to pay .99 cents for a song I sure as heck don't want lossy music. I just get the CD from Amazon and wait a few days to listen to the music on my iPod. I can live with that for now till there is a good enough WMA based device to replace my iPod (and right now there isn't a good enough device that matches or beats the iPod).

Posted Friday, February 13, 2004    Permalink    Comments [4]  View blog reactions

 

# Thursday, February 12, 2004

Highlighting .NET code from FreeTextBox

I've always wanted an easy (built into my blog editor) way to take a code snippet like this:

// Hello World
static void Main()
{
    Console.WriteLine("Hello World");
}

and make it look pretty like this:

// Hello World
static void Main()
{
    Console.WriteLine("Hello World");
}

Well, thanks to Thomas Johansen and Christian Nordbakk for writting AylarSolutions Highlight. I've gotten it working in FreeTextBox for dasBlog. It would be cool if Scott added this to .Text as well.

I basically added this to FreeTextBox  by creating a button, adding it to a toolbar, and then having that button invoke an aspx page that looks like this:

 

Makes posting code snippets easy!

Posted Friday, February 13, 2004    Permalink    Comments [5]  View blog reactions

 

SBC, ATT and Vonage

I just received my last SBC phone bill today. That's right, no more DSL, no more local and no more long distance. For some weird reason I felt compelled to switch once I ditched DSL for the cable modem (3.1 down/ ~ 700 up) just because I could. Well, actually, I switched because ATT gave me 5,000 American Airlines miles and 5 miles for every dollar I spend.

I do find it ridiculous that with a land line you pay for each additional service like caller id etc. Things that are free with cell phones. In fact, I would just go ahead and cancel my land line all together, but there are some people my wife and I do not want to give out our cell phone numbers to, so the land line works well for that.

I thought about switching to Vonage, a Voice over IP company. However, when I went to their website to see if I could keep my landline number the site said no and offered no explanation. When I called them to inquire, the person I spoke to sounded like she was in Siberia. The connection cut out ever few seconds. That didn't make a good impression since I assumed they were using their own technology I guess. Oh, and I still got no explanation as to why I could not keep my number.

Until there is Qos for things like VoIP I don't see how it will take off. I already have to put up with reliability issues with my cell phone, I don't need that to expand to other areas of my life.

Posted Thursday, February 12, 2004    Permalink    Comments [1]  View blog reactions

 

Palm drops Apple

Bad news for Apple I guess. The next Palm OS won't natively support the mac.

I bet that Apple will manage to, er, “correct” this situation.

Posted Thursday, February 12, 2004    Permalink    Comments [0]  View blog reactions

 

# Tuesday, February 10, 2004

C# Cookbook

Just got my C# Cookbook. I've already checked out the chapter on Regular Expressions and it's pretty much exactly what I needed to figure out how to use them. You can read that sample chapter online.

cover
I've used our Microsoft Library to read lots of .NET related books so far. However, most of them are fairly general and I find lots of the information redundant. I've purchased very few books, and I try and get only those that I think I will continue to use as a reference (google and codeproject as well as feedster have been my main source of how do I do this). However, the thing I like about this book is that all of this stuff is in one place. I don't need to bookmark a random webpage or Usenet post explaining something, or commit these things to memory. This frees up my brain to remember other things ;-).

Posted Wednesday, February 11, 2004    Permalink    Comments [3]  View blog reactions

 

Microsoft Security Bulletin MS04-005 (Virtual PC for Mac)

If you are a Virtual PC 6 for Mac user you'll want to read the security bulletin and download the 6.1.1 update.

Posted Tuesday, February 10, 2004    Permalink    Comments [0]  View blog reactions

 

# Monday, February 09, 2004

CSS styles generated in ASP.NET

I'm wondering if anyone has any suggestions or advice on how to keep track of custom css styles that are generated by asp.net code.

dasBlog has dozens of styles that are dynamically generated all over the place. While one can be good about manually adding place holder styles to a .css file, this is a really poor synchronization system. Throw in a handful of people who are changing the code base, adding and removing styles etc, it's a nightmare to keep track of. And for new users it's even harder to determine what styles can be used.

I was thinking that using custom attributes above the method or class that generates the css style might be the way to go, but I've never used custom attributes in this context. What do you guys do?

Posted Tuesday, February 10, 2004    Permalink    Comments [2]  View blog reactions

 

Another MacBU blogger

I think that brings us up to 4-5 bloggers in MacBU? Not sure. Anyway, Rick Schaut has been working on Mac Word for almost half my life (14 years) ;-). Welcome to the blogsphere.

Posted Monday, February 09, 2004    Permalink    Comments [0]  View blog reactions

 

# Thursday, February 05, 2004

Visualize Zip-codes

http://acg.media.mit.edu/people/fry/zipdecode/

Super neat. I didn't even realize the first number accounts for a large geographic region.

Posted Thursday, February 05, 2004    Permalink    Comments [1]  View blog reactions

 

# Wednesday, February 04, 2004

C# coding standards for private member variables?

I've read numerous documents and books and seen various references on how to refer to private member variables in a class. I have been inconsistent myself depending on what I'm doing and I'm wondering what some others out there use or recommend.

Here are the ways I know of:

  • _memberVariable
  • m_MemberVariable
  • m_memberVariable
  • this.memberVariable

For instance, Juval Lowy recommends m_MemberVariable. However, everything else I've read says "Hungarian notation, don't go there."

Here is my take. I like using this. because when I type the period Intellisense kicks in any my lazy brain doesn't have to remember all the member variables in my class (I just discovered control-spacebar though). However, writing this. everywhere clutters up the code. I also don't like the underscore style cause it can sometimes look quite funny:

  • this._memberVariable
  • (string)_memberVariable etc.

I like just using memberVariable and only using this in the constructor or any method where I might be taking a parameter named memberVariable. Make sense?

For me this is the only area of the coding standards that are completely inconsistent depending on what I read and who is writing the code. Further I've noticed that within the .NET framework base classes there is usage of both the Hungarian style and the underscore style.

Posted Thursday, February 05, 2004    Permalink    Comments [5]  View blog reactions

 

Will Apple Go .NET?

[OSNews] Will Apple Go .NET?

Interesting article. I'm not holding my breath waiting, but I think this would be great.

Personally, as a hobbyist programmer, I've found .NET: C# and VB.NET to be incredibly easy to learn and powerful. On the Mac I used to rely on AppleScript and Real Basic for programming. I never learned Pascal, C or Objective C. I did learn C++ and quickly determined that I wanted nothing to do with it. I also learned java and learned that Java support on the Mac was second rate (back in the days of Java 1.0 - 1.3).

.NET is simply amazing (in my humble opinion). In a few short months I've learned how to build powerful Windows Forms applications, Web based ASP.NET apps, and Mobile Compact Framework apps, Tablet apps and just recently learned a little COM interop to write a Windows Media Center Sink to display status about Media Center on my Vacuum Fluorescent Display.

Now, back to the Mac. I loved AppleScript because I could write glue that tied two Applications together and did useful things. I did quite a bit of this back then. I then moved onto

Real Basic because it allowed me to build rich GUIs with a very simple programming language. They offered Mac like native widgets unlike Java which had a horrible platform agnostic GUI. Sadly Apple's editor for AppleScript was super lame (still is) and I used a great third party product called Script Debugger. With Real Basic I was obviously using a third party product to write those programs. And with Java there was Metrowerks which is what I used in college when taking my C++ and Java classes. However, I wasn't using any Apple software or tools to develop Mac stuff. How does a company build a good developer story if it isn't in the tools business?

Enter Mac OS X. Apple now has Cocoa, Project Builder, XCode and some other stuff. However, I looked at Objective C once. It scared me to death. In my role I need to prototype a lot of UI. I've used Real Basic in the past (cause it's way easier than using PhotoShop and traditional pixel pushing), and it was great for this. However, I needed to build a prototype with a Mac native Toolbar (OS X toolbar). I figured I could fire up Interface Builder and drag the toolbar control to a Window. Nope. I had to use Apple's developer website to find some Objective C sample code to do this. Right at that point I gave up. Compare this to writing or prototyping a Windows Forms app where you just drag the control to the Form and you're done. Everything is done with point and click. And of course if you want to get fancy there are these amazing third party windows form controls. It used to be that this kind of prototyping was left for Visual Basic only, however, with Visual Studio and the .NET framework the richness of the prototyping tools and capabilities for C# and VB.NET are fantastic.

So what's my point. Apple definitely isn't helping out their developer story at all by keeping away folks like myself from writing any code on the Mac. Having support for .NET would simply be amazing, but I also think it's a pipe dream. I think there are way to many political issues for Apple to do this, most importantly, they would not want to validate .NET as a developer platform. I don't agree with a lot of what's said in the article. There are some political issues that are going to make any rational viewpoints and perspectives not apply in this case.

Posted Thursday, February 05, 2004    Permalink    Comments [6]  View blog reactions

 

# Sunday, February 01, 2004

OneNote blog posting and CSS

So it seems there is a slight problem posting to this blog from OneNote. As soon as you add some ink to the post, OneNote uses CSS to absolutely position everything so that it's WYSIWYG. It doesn't do this for embedded images, just ink. That's kind of a bummer. Not sure if there is a great way to fix that…

 

Created with Microsoft Office OneNote 2003
One place for all your notes

Posted Sunday, February 01, 2004    Permalink    Comments [0]  View blog reactions

 

Post from OneNote

So, I didn't realize this, but it turns out that I can post to my blog using OneNote. Pretty cool stuff.

 

I am using the Mail-To-Weblog feature of dasBlog to get this on my blog. Basically I compose the post in OneNote, click the e-mail button, and send it off. OneNote packages the e-mail up as MHTML and then dasBlog rips apart the e-mail figuring out how to handle the images, ink etc.

 

 

Pasted from <http://dasblog.net/documentation/>

 

 

Posted Sunday, February 01, 2004    Permalink    Comments [0]  View blog reactions

 

# Friday, January 30, 2004

Chris Pratley on OneNote

Chris Pratley started blogging! He's a Group Program Manager on Win Office and owns OneNote among other things. Anyway, he's already got some greate stuff on his blog! If you use OneNote, or are wondering how a brand new product gets hatched at MS, go read.

I started using OneNote around beta 1 of Office, and became an avid “Dogfooder” of the application. Because I had a Tablet PC and didn't like Journal too much, I immediatley started using OneNote. I gave the team plenty of feedback on the inking support. Early on there were a small number of us who joined an internal distribution list and did lots of ad-hoc testing. The team gave us frequent builds and they were excellent about reacting and responding to our suggestions, complaints, and bugs.

Anyway, I think OneNote is a sweet product. I hope the blogging thing works out for Chris, then maybe we'll see some blogging support in OneNote's future ;-).

Posted Saturday, January 31, 2004    Permalink    Comments [0]  View blog reactions

 

# Wednesday, January 28, 2004

Web Projects and Source Control

Anyone who has used a Web Project with Visual Studio.NET source control and GotDotNet is probably very angry. It's just unbelievable how horrible an experience it is.

A few weeks ago I converted the FlexWiki Web source to be a real Web Project. In doing so I spent about 3-4 hours getting it to all work, debugging problems, and then even more time documenting how everyone else could get it to work. My motivations behind moving to a Web Project were for:

  • Easy debugging (simply hit F5, build, debug)
  • Easy editing and creating of aspx files with code behind

Of course, for those two things, I made it impossible for any other mere mortal to just get the source, and compile.

However, Craig Andera, pointed me to an excellent set of instructions on how to get all the benefits of a Web Project from a regular Class Library project. They were authored by Fritz Onion. Thanks!

PS - yes I know that this all goes away with Whidbey. But I'm not using Whidbey yet ;-).

Posted Thursday, January 29, 2004    Permalink    Comments [2]  View blog reactions